Обзор
Команда `logname` выводит на стандартный вывод имя, которое пользователь использовал для начала сеанса входа в систему. Это имеет тонкое, но важное отличие от `whoami`. В то время как `whoami` выводит имя 'действующего пользователя' (effective user), который в данный момент выполняет команду, `logname` выводит имя 'реального пользователя, вошедшего в систему' (real login user) сеанса. Таким образом, даже после получения привилегий другого пользователя с помощью команд `sudo` или `su`, `logname` будет показывать имя пользователя, изначально вошедшего в систему.
Основные особенности
Основные особенности команды logname:
- Выводит имя пользователя, начавшего сеанс входа в систему.
- Работает на основе значения переменной окружения `$LOGNAME`.
- Используется для проверки реального пользователя, вошедшего в систему.
- Простая команда с минимальным количеством опций.
Различия между logname и whoami
Обе команды выводят имя пользователя, но показывают разные результаты в ситуациях изменения привилегий.
- logname: Выводит имя реального пользователя, вошедшего в систему. Не меняется после использования `su` или `sudo`.
- whoami: Выводит имя действующего пользователя, который в данный момент выполняет команду. После использования `su` или `sudo` выводит измененное имя пользователя, например, `root`.
Основные опции
Команда logname очень проста, поэтому используются только базовые опции справки, такие как `--help` или `--version`.
1) Справка
Сгенерированная команда:
Комбинируйте команды.
Описание:
`logname` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Примеры использования
Изучите функциональность команды logname на различных примерах использования.
Проверка имени текущего пользователя
logname
Выводит имя пользователя, вошедшего в систему.
Сравнение имени пользователя после команды su
logname
su
whoami
logname
Сравнивает результаты вывода `whoami` и `logname` после переключения на пользователя `root` с помощью команды `su`. `whoami` выводит `root`, но `logname` выводит имя пользователя, изначально вошедшего в систему.
Установка
logname является частью пакета `coreutils` и поставляется по умолчанию в большинстве дистрибутивов Linux. Отдельная установка не требуется.
Советы и примечания
Здесь собраны важные моменты при использовании команды logname.
Советы
- В скриптах рекомендуется использовать `whoami` для проверки привилегий пользователя, выполняющего команду, и `logname` для записи реального пользователя, подключившегося к системе.
- `logname` может использоваться для отслеживания реального пользователя, вошедшего в систему, аналогично выводу команды `w`.