Файл /etc/shadow/

/etc/shadow – это текстовый файл, содержащий информацию о паролях пользователей Системы. Он принадлежит пользователю root и теневой группе и имеет права 640.

Файл содержит по одной записи в каждой строке, каждая из которых представляет учетную запись пользователя. Возможно просмотреть содержимое файла с помощью текстового редактора или такой команды, как cat :

sudo cat /etc/shadow

Обычно первая строка описывает пользователя root, за которым следуют учетные записи системного и обычного пользователя. Новые записи добавляются в конец файла.

Каждая строка файла /etc/shadow содержит девять полей, разделенных запятыми:

rosa:$6$.n.:17736:0:99999:7:::
[--] [----] [---] [---] ----
| | | | | |||+-----> 9. Unused
| | | | | ||+------> 8. Expiration date
| | | | | |+-------> 7. Inactivity period
| | | | | +--------> 6. Warning period
| | | | +------------> 5. Maximum password age
| | | +----------------> 4. Minimum password age
| | +--------------------> 3. Last password change
| +---------------------------> 2. Encrypted Password
+----------------------------------> 1. Username
  • Имя пользователя – Строка, которую вводят при входе в систему; учетная запись пользователя, существующая в Системе.
  • Зашифрованный пароль – Пароль использует формат $type$salt$hashed.

$type – это алгоритм криптографического хеширования метода и может иметь следующие значения:

  • $1$ – 5 MDL;
  • $2a$ – Blowfish;
  • $2y$ – Eksblowfish;
  • $5$ – SHA-256;
  • $6$ – SHA-512.

Если в поле пароля есть звездочка * или восклицательный знак !, пользователь не сможет войти в Систему, используя аутентификацию по паролю. Другие методы входа в Систему, такие как аутентификация на основе ключей или переключение на пользователя, по-прежнему разрешены.

  • Последнее изменение пароля – Это дата последней смены пароля. Число дней отсчитывается с 1 января 1970 года (дата эпохи).
  • Минимальный возраст пароля – Количество дней, которое должно пройти, прежде чем можно будет изменить пароль пользователя. Обычно он равен нулю, что означает отсутствие минимального возраста пароля.
  • Максимальный возраст пароля – Количество дней после смены пароля пользователя. По умолчанию этот номер установлен на 99999.
  • Период предупреждения – Количество дней до истечения срока действия пароля, в течение которых пользователя предупреждают о необходимости изменения пароля.
  • Период бездействия – Количество дней после истечения срока действия пароля пользователя до отключения учетной записи пользователя. Обычно это поле пусто.
  • Дата окончания срока – Дата, когда учетная запись была отключена. Он представлен как дата эпохи.
  • Не используется – Это поле игнорируется. Оно зарезервировано для использования в будущем.

Файл /etc/shadow не следует редактировать вручную, если нет уверенности в своих действиях. Всегда используют команду, предназначенную для этой цели. Например, чтобы изменить пароль пользователя, используют команду passwd, а чтобы изменить информацию об устаревании пароля, используют команду chage.

Например, запись в файле /etc/shadow:

linuxize:$6$zHvrJMa5Y690smbQ$z5zdL...:18009:0:120:7:14:

содержит следующие сведения о пользователе:

  • информация о пароле пользователя linuxize;
  • пароль зашифрован с помощью SHA-512 (пароль усечен для лучшей читаемости);
  • последний раз пароль изменялся 23 апреля 2019 г. 18009;
  • нет минимального возраста пароля;
  • пароль необходимо менять не реже, чем каждые 120 дней;
  • пользователь получит предупреждающее сообщение за семь дней до истечения срока действия пароля;
  • если пользователь не попытается войти в систему через 14 дней после истечения срока действия пароля, учетная запись будет отключена;
  • срок действия учетной записи отсутствует.