Идентификация пользователей в Linux

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы научитесь идентифицировать и проверять учетные записи пользователей в среде Linux. Понимание идентификации пользователей является фундаментальным понятием в администрировании и безопасности системы Linux. Команды, которые вы научитесь использовать в этом практическом занятии, являются важными инструментами, которые помогают системным администраторам определить, кто в данный момент вошел в систему и какие права у них есть.

Идентификация пользователей имеет решающее значение для безопасности системы, устранения проблем с доступом и обеспечения правильной настройки системы. Освоив эти базовые команды, вы получите ценные навыки, которые станут основой для более сложных задач по администрированию Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/UserandGroupManagementGroup -.-> linux/groups("Group Displaying") linux/UserandGroupManagementGroup -.-> linux/whoami("User Identifying") linux/UserandGroupManagementGroup -.-> linux/id("User/Group ID Displaying") subgraph Lab Skills linux/echo -.-> lab-271445{{"Идентификация пользователей в Linux"}} linux/touch -.-> lab-271445{{"Идентификация пользователей в Linux"}} linux/cat -.-> lab-271445{{"Идентификация пользователей в Linux"}} linux/cd -.-> lab-271445{{"Идентификация пользователей в Linux"}} linux/groups -.-> lab-271445{{"Идентификация пользователей в Linux"}} linux/whoami -.-> lab-271445{{"Идентификация пользователей в Linux"}} linux/id -.-> lab-271445{{"Идентификация пользователей в Linux"}} end

Определение текущего пользователя с помощью whoami

Первая команда, которую мы изучим, это whoami, которая отображает имя пользователя, вошедшего в систему в данный момент. Эта простая, но мощная команда помогает вам проверить, какую учетную запись пользователя вы в настоящее время используете.

Начнем с того, чтобы убедиться, что вы находитесь в директории проекта:

cd ~/project

Вышеприведенная команда изменяет текущую директорию на /home/labex/project, которая является директорией по умолчанию для данной лабораторной работы.

Теперь запустим команду whoami:

whoami

При выполнении этой команды вы должны увидеть вывод, похожий на следующий:

labex

Вывод показывает, что вы в настоящее время вошли в систему как пользователь labex. Эта информация особенно полезна, когда вам нужно проверить свою текущую идентичность пользователя, особенно после переключения между различными учетными записями пользователей или при устранении проблем с правами доступа.

Команда whoami на самом деле является упрощенной версией команды id -un, которая отображает только имя пользователя из вашей идентификации.

Сохранение информации о пользователе в файл

В Linux вы можете перенаправлять вывод команд в файлы для записи данных или дальнейшей обработки. На этом этапе мы сохраним имя пользователя в файл журнала.

Сначала создадим новый файл с именем user_identification.log в директории проекта:

touch ~/project/user_identification.log

Команда touch создает новый пустой файл, если он не существует, или обновляет временную метку существующего файла без изменения его содержимого.

Далее добавим вывод команды whoami в этот файл. В Linux оператор >> используется для добавления содержимого в файл:

whoami >> ~/project/user_identification.log

Эта команда выполняет whoami и затем добавляет его вывод в конец файла user_identification.log. Если файл уже содержит содержимое, новый вывод будет добавлен на новую строку без перезаписи существующего содержимого.

Чтобы убедиться, что информация была правильно сохранена в файл, проверим его содержимое:

cat ~/project/user_identification.log

Вы должны увидеть вывод, похожий на следующий:

labex

Это подтверждает, что имя пользователя было успешно сохранено в файл журнала.

Получение подробной информации о пользователе с помощью команды id

В то время как команда whoami показывает только имя пользователя, команда id предоставляет более полную информацию о текущем пользователе. Это включает идентификатор пользователя (UID), идентификатор группы (GID) и все группы, к которым принадлежит пользователь.

Запустим команду id:

id

Вы должны увидеть вывод, похожий на следующий:

uid=1000(labex) gid=1000(labex) groups=1000(labex),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),117(netdev)

Этот вывод сообщает вам:

  • Ваш идентификатор пользователя (uid) равен 1000, а имя пользователя - labex.
  • Ваш основной идентификатор группы (gid) равен 1000, а имя группы - labex.
  • Вы принадлежите к нескольким дополнительным группам (перечисленным после "groups=").

Также сохраним эту подробную информацию в нашем файле журнала:

id >> ~/project/user_identification.log

Чтобы увидеть обновленное содержимое файла журнала, снова используйте команду cat:

cat ~/project/user_identification.log

Теперь в файле журнала должны отобразиться как ваше имя пользователя, так и подробная информация о пользователе.

Поиск групп текущего пользователя

В Linux пользователи могут принадлежать к нескольким группам, которые помогают контролировать доступ к файлам и ресурсам. Исследуем, как просмотреть группы, связанные с вашей учетной записью пользователя.

Команда groups отображает все группы, к которым принадлежит текущий пользователь:

groups

Вы должны увидеть вывод, похожий на следующий:

labex adm dialout cdrom floppy sudo audio dip video plugdev netdev

Первая группа в списке (labex) - это ваша основная группа, а остальные - дополнительные группы, которые предоставляют дополнительные разрешения.

Теперь добавим информацию о группах в наш файл журнала:

echo "My groups are: $(groups)" >> ~/project/user_identification.log

Вышеупомянутая команда использует подстановку команды $(groups) для включения вывода команды groups в строку, которая добавляется в файл журнала.

Проверим окончательное содержимое нашего файла журнала:

cat ~/project/user_identification.log

Теперь вы должны увидеть три строки информации: ваше имя пользователя, подробную информацию о вашем идентификаторе и список ваших групп.

Теперь этот файл журнала содержит полную запись о вашей идентификации пользователя в системе, которая может быть полезна для системного администрирования, устранения неполадок или документирования.

Резюме

В этом практическом занятии вы изучили и отработали несколько важных команд Linux для идентификации пользователя:

  1. Команда whoami, которая отображает имя текущего вошедшего в систему пользователя.
  2. Как сохранять вывод команды в файл с использованием перенаправления (>>).
  3. Как просматривать содержимое файла с помощью команды cat.
  4. Команда id, которая предоставляет подробную информацию о пользователе и его группах.
  5. Команда groups, которая перечисляет все группы, к которым принадлежит пользователь.

Эти команды являются основными инструментами для системного администрирования и безопасности. Они помогают определить, кто использует систему, какие разрешения у пользователя и к каким ресурсам он имеет доступ.

Понимание идентификации пользователя является важным для:

  • Устранения неполадок.
  • Настройки правильных разрешений для файлов и каталогов.
  • Управления учетными записями пользователей.
  • Гарантии безопасности системы.
  • Аудита доступа к системе.

По мере продвижения в изучении Linux вы обнаружите, что эти команды являются важными строительными блоками для более сложных задач системного администрирования.