Существует несколько разных схем аутентификации, которые можно использовать в системах 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), но если!
то пользователь вообще не сможет войти, даже по ключу.Как же расшифровать этот код sha-512 ? С целью узнать информацию о своем неработающем пароле?! Как поменять запись в строке?!