Введение
Существует несколько схем аутентификации, которые можно использовать в системах Linux. Чаще всего используется схема аутентификации с помощью файлов /etc/passwd
и /etc/shadow
.
/etc/passwd
— это простая текстовая база данных, содержащая информацию обо всех учетных записях пользователей в системе. Он принадлежит пользователю root и имеет права доступа 644. Файл может редактироваться только пользователями root или пользователями с привилегиями sudo и доступен для чтения всеми пользователями системы.
Следует избегать ручного редактирования /etc/passwd
, если вы не знаете, что делаете. Всегда используйте команду, предназначенную для этой цели. Например, чтобы изменить учетную запись пользователя, используйте команду usermod
, а чтобы добавить новую учетную запись пользователя, используйте команду useradd
.
Формат файла /etc/passwd
Файл /etc/passwd
представляет собой текстовый файл с одной записью в строке, представляющей учетную запись пользователя. Чтобы просмотреть содержимое файла, используйте текстовый редактор или команду, например, cat
:
cat /etc/passwd
Как правило, первая строка описывает пользователя root, за которым следуют учетные записи системы и обычных пользователей. Новые записи добавляются в конец файла.
Каждая строка /etc/passwd
содержит семь полей, разделенных запятыми:
mark:x:1001:1001:mark,,,:/home/mark:/bin/bash
[--] - [--] [--] [-----] [--------] [--------]
| | | | | | |
| | | | | | +-> 7. Login shell
| | | | | +----------> 6. Home directory
| | | | +--------------------> 5. GECOS
| | | +--------------------------> 4. GID
| | +-------------------------------> 3. UID
| +-----------------------------------> 2. Password
+----------------------------------------> 1. Username
- Имя пользователя. Строка, вводимая при входе в систему. Каждое имя пользователя должно быть уникальной строкой на машине. Максимальная длина имени пользователя ограничена 32 символами.
- Пароль. В старых системах Linux зашифрованный пароль пользователя хранился в
/etc/passwd
. В большинстве современных систем для этого поля установлено значениеx
, а пароль пользователя хранится в/etc/shadow
. - UID. Идентификатор пользователя — это номер, присвоенный каждому пользователю. Он используется операционной системой для обозначения пользователя.
- ГИД. Идентификационный номер группы пользователя, относящийся к основной группе пользователя. Когда пользователь создает файл, группа файла устанавливается в эту группу. Обычно имя группы совпадает с именем пользователя. Подгруппы пользователя перечислены в
/etc/groups
. - GECOS или полное имя пользователя. Это поле содержит список значений, разделенных запятыми, со следующей информацией:
- Полное имя пользователя или имя приложения.
- Номер комнаты.
- Рабочий Номер Телефона.
- Номер стационарного телефона.
- Другая контактная информация.
- Домашний каталог. Абсолютный путь к домашнему каталогу пользователя. Содержит пользовательские файлы и конфигурации. По умолчанию домашние каталоги пользователей называются по имени пользователя и создаются в каталоге
/home
. - Оболочка входа. Абсолютный путь к оболочке входа пользователя. Это оболочка, которая запускается при входе пользователя в систему. В большинстве дистрибутивов Linux оболочкой входа по умолчанию является Bash.
Вывод
/etc/passwd
отслеживает всех пользователей в системе.