Существует несколько разных схем аутентификации, которые можно использовать в системах Linux. Наиболее часто используется и стандартная схема для выполнения аутентификации файлов /etc/passwd и /etc/shadow.
/etc/shadow — это текстовый файл, содержащий информацию о паролях пользователей системы. Он принадлежит пользователю root и группе shadow и имеет 640 разрешений.
Файл /etc/shadow содержит одну запись в каждой строке, каждая из которых представляет собой учетную запись пользователя. Вы можете просмотреть содержимое файла с помощью текстового редактора или команды, такой как cat:
sudo cat /etc/shadow
Как правило, первая строка описывает пользователя root, затем системные и обычные учетные записи пользователей. Новые записи добавляются в конец файла.
Каждая строка файла /etc/shadow содержит девять полей, разделенных запятыми:
mark:$6$.n.:17736:0:99999:7::: [--] [----] [---] - [---] ---- | | | | | |||+-----------> 9. Неиспользованный | | | | | ||+------------> 8. Срок годности | | | | | |+-------------> 7. Период бездействия | | | | | +--------------> 6. Период предупреждения | | | | +------------------> 5. Максимальный возраст пароля | | | +----------------------> 4. Минимальный возраст пароля | | +--------------------------> 3. Последнее изменение пароля | +---------------------------------> 2. Зашифрованный пароль +----------------------------------------> 1. Имя пользователя
Если поле пароля содержит звездочку ( *) или восклицательный знак ( !), пользователь не сможет войти в систему с использованием аутентификации по паролю. Другие методы входа, такие как аутентификация на основе ключей или переключение на пользователя, по-прежнему разрешены
В старых системах Linux зашифрованный пароль пользователя хранился в файле /etc/passwd.
Файл /etc/shadow не стоит редактировать вручную, если вы не знаете, что вы делаете. Всегда используйте команду, которая предназначена для этой цели. Например, чтобы изменить пароль пользователя, используйте команду passwd, а для изменения информации об устаревании пароля используйте команду chage.
Давайте посмотрим на следующий пример:
andreyex:$6$zHvrJMa5Y690smbQ$z5zdL...:18009:0:120:7:14::
Запись выше содержит информацию о пароле пользователя andreyex:
Файл /etc/shadow хранит запись о паролях зашифрованы пользователями, а также других паролях связанной с ними информацию.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
> Если поле пароля содержит звездочку ( *) или восклицательный знак ( !), пользователь не сможет войти в систему с использованием аутентификации по паролю
поправочка, если
*
то пользователь и правда не сможет войти по паролю, но сможет другим способом (например по ключу через ssh), но если!
то пользователь вообще не сможет войти, даже по ключу.