Посмотреть пароли пользователей

Даже хеш от пароля в открытом виде хранить — плохая идея. Поэтому теперь пароли, точнее хеши от них, хранятся в файле /etc/shadow .

По хешу нельзя восстановить пароль.

Хеш — это результат действия функции, превращающей пароль в набор символов определённой длины. В отличие от шифрования процесс хеширования необратим.

Посмотреть файл с паролями можно только от имени рута командой cat /etc/shadow .

Так же, как /etc/passwd, это текстовый файл с полями, разделёнными двоеточиями.

По порядку:

1. Регистрационное имя пользователя.

2. Соль + хеш. Псведопользователи здесь тоже присутствуют, но у них в этом поле стоит звёздочка. Это значит, что под учётными записями зайти в систему не получится. Восклицательный знак в этом поле для пользователя root означает, что учётная запись заблокирована, то есть зайти как root в систему тоже не удастся. При блокировке пользователя перед его записью соли и хеша будет поставлена звёздочка, а при разблокировке — удалена. Можно разблокировать и рут, но для этого ему надо задать пароль.

3. Дата последней смены пароля, выраженная в днях с начала эпохи. Началом эпохи в UNIX считается дата 1 января 1970 года по гринвичу. От этой даты в секундах идёт отсчёт времени в UNIX, что позволяет учитывать високосные дни и високосные секунды. 0 в этом поле означает, что пользователь должен сменить пароль при следующем входе в систему. Пустое поле означает, что проверка устаревания пароля отключена.

4. Количество дней, через которое пользователь может поменять пароль, не позволяет менять пароль по несколько раз в день. Если 0, ограничение не действует.

5. Количество дней, после которого необходимо будет сменить пароль.

6. За сколько дней до устаревания пароля начать предупреждать пользователя, что пароль устаревает.

7. Сколько дней после устаревания пароля продолжать принимать его. После устаревания и окончания этого периода учётная запись с устаревшим паролем блокируется.

8. Дата устаревания учетной записи в днях с начала UNIX-эпохи. Разница с датой устаревания пароля в том, что пользователь не сможет войти в систему не только с действующим паролем, но и вообще.

9. Последнее поле не используется.

Так как в «сыром» виде работать с такой информацией сложно, для этого используется команда chage –l user

Обычный пользователь также может ей воспользоваться, используя параметр -l и указав своё регистрационное имя. Программа покажет существующие правила смены пароля для вашей учетной записи.