/etc/passwd и /etc/shadow
В системах Linux можно использовать несколько различных схем аутентификации. Наиболее часто используемая и стандартная схема — аутентификация по файлам /etc/passwd
и /etc/shadow
.
/etc/passwd/
/etc/passwd
— это база данных на основе обычного текста, которая содержит информацию для всех учетных записей пользователей в системе. Он принадлежит пользователю root и имеет права 644 . Файл может быть изменен только пользователем root или пользователями с привилегиями sudo и доступен для чтения всем пользователям системы.
Следует избегать изменения файла /etc/passwd
вручную, если вы не знаете, что делаете. Всегда используйте команду, предназначенную для этой цели.
Например, чтобы изменить учетную запись пользователя, используйте команду usermod
, а чтобы добавить новую учетную запись пользователя, используйте команду useradd
.
Формат /etc/passwd
Файл /etc/passwd
— это текстовый файл с одной записью в строке, представляющий учетную запись пользователя. Чтобы просмотреть содержимое файла, используйте текстовый редактор или команду, например cat
:
Обычно первая строка описывает пользователя root, за ней следуют учетные записи системного и обычного пользователя. Новые записи добавляются в конец файла.
Каждая строка файла /etc/passwd
содержит семь полей, разделенных запятыми:
Имя пользователя. Строка, которую вы вводите при входе в систему. Каждое имя пользователя должно быть уникальной строкой на машине. Максимальная длина имени пользователя ограничена 32 символами.
Пароль. В старых системах Linux зашифрованный пароль пользователя хранился в
/etc/passwd
. В большинстве современных систем для этого поля установлено значениеx
, а пароль пользователя хранится в/etc/shadow
.UID. Идентификатор пользователя — это номер, присвоенный каждому пользователю. Он используется операционной системой для обозначения пользователя.
GID. Номер идентификатора группы пользователя, относящийся к основной группе пользователя. Когда пользователь создает файл , группа файла устанавливается в эту группу. Обычно название группы совпадает с именем пользователя. Вторичные группы пользователей перечислены в
/etc/groups
.GECOS или полное имя пользователя. Это поле содержит список значений, разделенных запятыми, со следующей информацией:
Полное имя пользователя или название приложения.
Номер комнаты.
Рабочий Номер Телефона.
Номер домашнего телефона.
Другая контактная информация.
Домашний каталог. Абсолютный путь к домашнему каталогу пользователя. Он содержит файлы и конфигурации пользователя. По умолчанию домашние каталоги пользователей названы в честь имени пользователя и создаются в каталоге
/home
.Оболочка входа. Абсолютный путь к оболочке входа пользователя. Это оболочка, которая запускается, когда пользователь входит в систему. В большинстве дистрибутивов Linux оболочкой входа по умолчанию является Bash.
Выводы
Файл /etc/passwd
отслеживает всех пользователей системы.
/etc/shadow/
/etc/shadow
— это текстовый файл, содержащий информацию о паролях пользователей системы. Он принадлежит пользователю root и теневой группе и имеет права 640 .
Формат /etc/shadow
Файл /etc/shadow
содержит по одной записи в каждой строке, каждая из которых представляет учетную запись пользователя. Вы можете просмотреть содержимое файла с помощью текстового редактора или такой команды, как cat
:
Обычно первая строка описывает пользователя root, за которым следуют учетные записи системного и обычного пользователя. Новые записи добавляются в конец файла.
Каждая строка файла /etc/shadow
содержит девять полей, разделенных запятыми:
Имя пользователя. Строка, которую вы вводите при входе в систему. Учетная запись пользователя, существующая в системе.
Зашифрованный пароль. Пароль использует
$type$salt$hashed
формат$type$salt$hashed
.$type
— это алгоритм криптографического хеширования метода и может иметь следующие значения:$1$
— 5 MDL$2a$
— Blowfish$2y$
— Eksblowfish$5$
— SHA-256$6$
— SHA-512
Если в поле пароля есть звездочка (
*
) или восклицательный знак (!
), Пользователь не сможет войти в систему, используя аутентификацию по паролю. Другие методы входа в систему, такие как аутентификация на основе ключей или переключение на пользователя , по-прежнему разрешены.В старых системах Linux зашифрованный пароль пользователя хранился в
/etc/passwd
.Последнее изменение пароля. Это дата последней смены пароля. Число дней отсчитывается с 1 января 1970 года (дата эпохи).
Минимальный возраст пароля. Количество дней, которое должно пройти, прежде чем можно будет изменить пароль пользователя. Обычно он равен нулю, что означает отсутствие минимального возраста пароля.
Максимальный возраст пароля. Количество дней после смены пароля пользователя. По умолчанию этот номер установлен на
99999
.Период предупреждения. Количество дней до истечения срока действия пароля, в течение которых пользователя предупреждают о необходимости изменения пароля.
Период бездействия. Количество дней после истечения срока действия пароля пользователя до отключения учетной записи пользователя. Обычно это поле пусто.
Дата окончания срока. Дата, когда учетная запись была отключена. Он представлен как дата эпохи.
Не используется. Это поле игнорируется. Он зарезервирован для использования в будущем.
Файл /etc/shadow
не следует редактировать вручную, если вы не знаете, что делаете. Всегда используйте команду, предназначенную для этой цели. Например, чтобы изменить пароль пользователя, используйте команду passwd
, а чтобы изменить информацию об устаревании пароля, используйте команду chage
.
Пример записи
Давайте посмотрим на следующий пример:
Запись выше содержит информацию о пароле пользователя linuxize:
Пароль зашифрован с помощью SHA-512 (пароль усечен для лучшей читаемости).
Последний раз пароль менялся 23 апреля 2019 г. —
18009
.Нет минимального возраста пароля.
Пароль необходимо менять не реже, чем каждые 120 дней.
Пользователь получит предупреждающее сообщение за семь дней до истечения срока действия пароля.
Если пользователь не попытается войти в систему через 14 дней после истечения срока действия пароля, учетная запись будет отключена.
Срок действия учетной записи отсутствует.
Выводы
В /etc/shadow
хранятся записи о зашифрованных паролях пользователей, а также другая информация, связанная с паролями.
Last updated