1. Кто я в системе? Команда whoami
Каждый пользователь Linux оперирует под конкретной учетной записью, которая имеет свои права, ограничения и принадлежность к группам. В этой лекции вы научитесь проверять, с какой учетной записи вы работаете, какие у вас права, и к каким группам вы принадлежите. Знание текущих параметров пользователя важно как в повседневной работе, так и при решении вопросов безопасности, администрирования и отладки.
Когда вы работаете в системе Linux, полезно знать, под какой учетной записью вы действуете в данный момент. Например, если вы случайно оказались в системе под привилегированным (root) пользователем, вы можете внести непоправимые изменения в системные файлы. Чтобы избежать таких ситуаций, существует команда whoami.
Синтаксис
whoami
Что делает команда?
Команда whoami выводит имя текущего пользователя, под которым осуществляется работа в системе. Она отвечает на важнейший вопрос: "Кто я?"
Пример
$ whoami
student
В данном случае вывод student означает, что вы вошли в систему под пользователем с именем student. Если бы вы работали от имени пользователя с повышенными правами (например, root), вывод был бы следующим:
$ whoami
root
Почему это важно?
Представьте, что вы используете команду для удаления всех файлов из директории (например, rm -rf /important_directory). Под обычным пользователем система может вас ограничить, если у вас нет соответствующих прав. А вот под пользователем root она выполнит вашу команду без колебаний. Команда whoami помогает не оказаться в таких неприятных ситуациях.
2. Детальное изучение информации о пользователе: команда id
Знать своё имя пользователя — это хорошо, но этого недостаточно для глубокого понимания ваших прав и привилегий в системе. Для более детальной информации существует команда id.
Синтаксис
id [пользователь]
Если имя пользователя не указано, команда id покажет информацию о текущем пользователе. Если вы укажете имя другого пользователя, то сможете проверить детали его учетной записи.
Что выводит команда id?
- UID (User ID) — уникальный идентификатор пользователя.
- GID (Group ID) — уникальный идентификатор основной группы пользователя.
- Список групп — все группы, к которым принадлежит пользователь (включая основную).
Пример
$ id
uid=1001(student) gid=1001(student) группы=1001(student),27(sudo),1002(developers)
- UID=1001: Это уникальный идентификатор текущего пользователя (student). В системах Linux UID пользователя
rootвсегда равен 0. - GID=1001: Это идентификатор основной группы пользователя (student).
- Группы=1001(student), 27(sudo), 1002(developers): Здесь перечислены дополнительные группы, к которым принадлежит пользователь. Например, группа
sudoпозволяет студенту выполнять команды от имени привилегированного пользователя.
Если мы запустим команду для другого пользователя:
$ id user2
uid=1002(user2) gid=1002(user2) группы=1002(user2),1001(developers)
Видно, что пользователь user2 принадлежит к группе developers.
3. Использование UID и GID в реальной работе
Каждому пользователю и группе назначаются свои числовые идентификаторы (UID и GID соответственно). Они играют важнейшую роль внутри системы, зачастую заменяя текстовые имена пользователей и групп. Для чего это нужно?
- Некоторые системные процессы работают напрямую с числовыми идентификаторами для эффективности.
- Права доступа к файлам и папкам определяются не именами пользователей или групп, а их UID и GID.
- В конфигурационных файлах и журналах логов (например,
/etc/passwd) вы можете встретить не имена пользователей, а их UID.
4. Исследуем группы с groups
Дополнительно вы можете использовать команду groups, чтобы узнать, к каким группам принадлежит текущий пользователь.
Синтаксис
groups [пользователь]
Опустив имя пользователя, вы получите список групп для текущей учетной записи. Указав имя пользователя, узнаете группы для заданного пользователя.
Пример:
$ groups
student developers sudo
$ groups user2
user2 developers
5. Работа с командами
А теперь немного практики, чтобы закрепить полученные знания.
Проверка текущей учётной записи
- Откройте терминал.
Выполните команду:
whoamiПроверьте своё имя пользователя.
- Запустите команду
sudo su(вас попросят ввести пароль), а потом снова выполнитеwhoami, чтобы увидеть, под кем вы работаете.
Изучение информации о пользователе
Выполните команду:
Просмотрите, какой у вашего пользователя UID, GID и к каким группам он принадлежит.idСоздайте нового пользователя (если у вас есть доступ к команде
sudo):sudo adduser testuserПотом выполните:
id testuser
Анализ принадлежности групп
Выполните:
groupsОбратите внимание, к каким группам принадлежит ваш пользователь.
Добавьте текущего пользователя в новую группу:
sudo groupadd testgroup sudo usermod -aG testgroup $(whoami)Проверьте результат:
groups
6. Типичные ошибки и каверзные моменты
Многие новички путают
whoamiиid. Помните:whoamiпоказывает только имя текущего пользователя, аidдаёт более детальную информацию о правах и группах.Если у вас нет привилегий администратора (доступа к
sudo), у вас может не быть возможности добавлять пользователей в группы или изменять их параметры. В таких случаях вам стоит обратиться к админу системы.Команда
idс указанием несуществующего пользователя выдаст ошибку:$ id nonexistinguser id: ‘nonexistinguser’: no such user
Теперь вы знаете, как проверить, какой пользователь в данный момент активен, с какими правами и доступами он работает. Команды whoami и id кажутся простыми, но они играют ключевую роль в понимании системы пользователей и прав доступа в Linux. В реальной работе вы будете часто использовать их для диагностики проблем, проверки прав и настройки пользователей.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ