Введение
В этой лабораторной работе вы узнаете, как определить, «кто» находится в вашей системе Linux.
Представьте многоквартирный дом:
- Пользователи — жильцы.
- Группы — списки доступа (группа спортзала, группа бассейна).
Система хранит общий «справочник» всех пользователей. В этой лабораторной работе мы откроем этот справочник.
Linux унаследовал от Unix развитую многопользовательскую модель. Даже если небольшой учебной системой пользуетесь только вы, операционная система всё равно работает с учётными записями, группами, владельцами и контролируемым доступом.
Просмотр списка пользователей (/etc/passwd)
«Общий справочник» пользователей хранится в файле /etc/passwd.
Представляйте этот файл как электронную таблицу. Столбцы разделены двоеточиями :.
Исторически /etc/passwd действительно был одной из центральных баз данных учётных записей в Unix-подобных системах. Современные системы хранят пароли безопаснее, чем старые, но структура записи учётной записи по-прежнему остаётся основой управления идентификацией в Linux.
Просмотрите содержимое файла:
cat /etc/passwd
Пример вывода:
root:x:0:0:root:/root:/bin/bash
labex:x:5000:5000::/home/labex:/usr/bin/zsh
...
Разберём запись labex:x:5000:5000::/home/labex:/usr/bin/zsh:
- Имя пользователя:
labex - Пароль:
x(хранится в другом месте) - Идентификатор пользователя (UID):
5000 - Идентификатор группы (GID):
5000 - Информация: (пусто)
- Домашний каталог:
/home/labex - Оболочка:
/usr/bin/zsh
Эти поля напрямую связаны с последующими темами курса: идентификацией, членством в основной группе, домашними каталогами и оболочкой, которая запускается после входа в систему.
Определение пользователя root (UID 0)
Пользователь root — это управляющий здания. У него есть ключи от всех помещений.
Найдите запись root:
grep "^root" /etc/passwd
Вывод:
root:x:0:0:root:/root:/bin/bash
UID (третье поле) равен 0. В Linux UID 0 означает неограниченные полномочия.
Поэтому права доступа в Linux обычно рассматривают не только через имена, но и через числовые идентификаторы. Имена удобны для людей, однако внутри системы большое значение имеют именно идентификаторы.
Определение своего пользователя
Найдите собственную запись (labex):
grep "^labex" /etc/passwd
Вывод:
labex:x:5000:5000::/home/labex:/usr/bin/zsh
Ваш UID равен 5000.
Ваш домашний каталог — /home/labex.
Проверка групп (id)
Файл /etc/passwd содержит сведения только об основной группе пользователя. Чтобы увидеть все ваши «пропуска доступа», используйте команду id.
id
Вывод:
uid=5000(labex) gid=5000(labex) groups=5000(labex),27(sudo)...
Это ваша идентификационная карточка:
uid: текущий пользователь;gid: основная группа;groups: членство во всех группах.
Вы входите в группу sudo (ID 27). Это позволяет вам действовать от имени root!
Членство в группах — один из основных способов управления общим доступом в Linux. Вместо того чтобы отдельно предоставлять разрешения каждому пользователю, система может включать пользователей в группы, а затем применять правила к этим группам.
Итоги
В этой лабораторной работе вы изучили «кто есть кто» в вашей системе Linux. Вы узнали, что:
- Пользователи определяются в файле
/etc/passwd. - UID 0 принадлежит пользователю
root, системному администратору (управляющему здания). - UID 5000 назначен вашей учётной записи в этой системе.
- Группы управляют доступом к общим ресурсам.
- Команда
idпоказывает вашу полную идентификацию, включая группы, членство в которых даёт вам «ключи» доступа.
Понимание этих идентификаторов крайне важно, поскольку каждое разрешение в Linux — например, кто может прочитать файл или запустить программу — основано на них.



