whoami — одна из самых честных команд в арсенале сисадмина. Она не строит из себя генератор истины, не лезет в конфигураторы и не расползается по опциям, как разогретый пар в негерметичном котле. Она просто отвечает на один вопрос: под каким пользователем сейчас работает этот процесс.
Для живой серверной это почти как бирка на латунной дверце: нажал рычаг — и сразу видно, кто стоит у штурвала. Особенно полезна команда после sudo, su, в скриптах, в отладке прав доступа и вообще в любой момент, когда система начинает делать вид, что «всё и так понятно». С whoami туман рассеивается быстро: один запрос — и имя пользователя появляется на табло, как гравировка на шестерёнке.
Если коротко, whoami — это не просто команда, а маленький инспектор парового цеха. Он не чинит механизм, но мгновенно показывает, кто именно сейчас держит гаечный ключ.
Синтаксис
whoami [--help] [--version]Основные опции
У whoami конструкция почти аскетичная: у команды мало ручек, зато каждая работает без лишнего шума. Ниже — самые полезные варианты и близкие по смыслу приёмы, с которыми её чаще всего используют в боевой практике.
| Опция | Описание | Пример |
|---|---|---|
whoami | Показывает имя текущего эффективного пользователя. | whoami |
--help | Выводит справку по команде. | whoami --help |
--version | Показывает версию утилиты из coreutils. | whoami --version |
sudo whoami | Проверяет, кем станет команда после повышения прав. | sudo whoami |
sudo -u postgres whoami | Показывает пользователя, от имени которого будет запущен процесс. | sudo -u postgres whoami |
su - deploy -c whoami | Запускает whoami в окружении другого пользователя. | su - deploy -c whoami |
id -un | Практический аналог whoami, полезен на минимальных системах. | id -un |
Примеры использования
Проверить, под кем вы сейчас работаете
Когда сервер жужжит, а доступы ведут себя подозрительно, сначала стоит снять показания с самого себя. Это базовая диагностика: не root ли вы внезапно, не просочился ли sudo, не попали ли в чужую оболочку.
whoamiОжидаемый вывод — имя пользователя, под которым запущена текущая сессия. Если вы видите root, значит паровой котёл уже под давлением, и дальнейшие команды нужно выполнять особенно аккуратно.
Убедиться, что sudo действительно поднял права
Иногда администратор думает, что уже сменил обличье, а на деле всё ещё стоит в своей старой спецовке. Эта проверка особенно полезна перед правкой системных файлов.
sudo whoamiЕсли всё работает как надо, команда вернёт:
rootЭто самый простой способ проверить, что рычаг sudo действительно перевёл механизм в режим повышенных прав.
Проверить выполнение от имени другого пользователя
При отладке сервисов часто нужно понять, под кем крутится процесс: postgres, www-data, deploy или кто-то ещё из цеха.
sudo -u postgres whoamiКоманда покажет имя того пользователя, от имени которого будет выполняться процесс. Это особенно удобно, когда надо сверить права на файлы, каталоги и сокеты, не гадя в систему лишними тестовыми скриптами.

Советы и примечания
💡 Совет
whoami удобно использовать в скриптах как быструю контрольную лампу. Например, перед опасной операцией можно вывести текущего пользователя в лог, чтобы потом не гадать, кто именно пустил в ход гаечный ключ.
echo "Current user: $(whoami)"Такой след особенно ценен на серверах, где доступы передаются через несколько рук, а история действий без подписи превращается в ржавую головоломку.
⚡ Важно
whoami показывает эффективного пользователя, а не просто значение переменной окружения. Это значит, что whoami надёжнее, чем $USER, который иногда выглядит прилично, но может врать как перепутанный паровой манометр. Для проверки имени пользователя в более универсальном виде подойдёт id -un.
Ещё одна практическая деталь: на совсем минимальных системах или в урезанных контейнерах whoami может отсутствовать. Тогда id -un обычно остаётся в строю.
⚙️ Машинное отделение ROADIT благодарит за прочтение.
Больше команд, шпаргалок и обзоров — на roadit.ru и в нашем Телеграф-канале. 📋 Все команды