Поиск по сайту:
Его речь журчит, как вода в унитазе, но ничего не смывает (Авессалом Подводный).

Теневой файл паролей в Linux

15.11.2021
Теневой файл паролей в Linux

Теневой файл, вероятно, является одним из самых важных файлов в вашей системе Linux, и это потому, что он хранит фактические зашифрованные пароли для всего в вашей системе. Теневой файл находится в /etc/shadow и доступен только пользователю root. Фактически, у него есть разрешение 640, которое предоставляет владельцу разрешение на чтение и запись, а группе — на чтение. В этом уроке мы рассмотрим теневой файл.

Теневой файл содержит информацию, разделенную двоеточием. Итак, это выглядело бы примерно так:

Теневой файл паролей в Linux

В нашем случае мы собираемся выбрать одного из пользователей (user = kalyani) для использования в качестве примера.

kalyani:$6$uUSXwCvO$Ic9kN9dS0BHN.NU.5h7rAcEQbtjPjqWpej5o5y7JlrQK0hdQrzKBZ

B1V6CowHhCpk25PaieLcJEqC6e02ExYA.:18917:0:99999:7:::

 

Здесь девять полей, разделенных двоеточием!

1. Первое поле — это само имя пользователя. В моем случае это кальяни, но в вашем случае это будет ваше имя пользователя.
2. Второе поле содержит зашифрованный пароль.

($6$uUSXwCvO$Ic9kN9dS0BHN.NU.5h7rAcEQbtjPjqWpej5o5y7JlrQK0hdQrzKBZB1V6CowHhCpk25PaieLcJEqC6e02ExYA.). Здесь есть трехдолларовые знаки. Между первым и вторым знаком доллара указан тип шифрования; между вторым и третьим знаком доллара — соль, а после третьего знака доллара — сам хеш.

Здесь вы можете увидеть $6$, это означает, что тип шифрования — SHA-512.

Другие типы шифрования:

  1. 1$ – MD5
  2. $2$ – Blowfish
  3. $3$ – Blowfish
  4. $5$ – SHA-256
  5. $6$ – SHA-512

 

После этого идет uUSXwCvO, соль. Чтобы сделать хеш более уникальным, мы добавляем так называемую соль. Сама соль представляет собой случайную последовательность символов. Эта случайная последовательность символов прикрепляется к паролю во время вычисления хэша.

Если вы хотите попробовать проверить это самостоятельно, вы можете сделать это с помощью пакета whois. Сначала установите пакет whois:

$ sudo apt-get install whois

 

Читать  Как создать новый файл в Vim?

Затем, после установки пакета whois, вы можете ввести следующее:

$ mkpasswd -m sha-512 PASSWORD [SALT]

 

В последнем случае замените PASSWORD желаемым паролем и SALT желаемой солью.

Например:

$ mkpasswd -m sha-512 toor  uUSXwCvO

 

Последняя часть зашифрованного пароля или содержимое после третьего знака доллара является фактическим хешем.

3. Третье поле — это дата последней смены пароля. Число рассчитывается по эпохе (1 января 1970 г.). Это означает, что число рассчитывается на основе даты эпохи. В моем случае это номер 18917. Если это поле пустое, это означает, что функции устаревания пароля не включены. 0 в этом поле означает, что пользователь должен изменить свой пароль при следующем входе в систему.

4. Четвертое поле — это минимальный возраст пароля. Минимальный срок действия пароля — это время в днях, которое должно пройти, прежде чем пользователю будет разрешено снова вносить изменения в пароль. Значение 0 означает, что минимального возраста пароля нет. В моем случае это 0. Это означает, что в моей системе нет минимального возраста пароля.

5. Пятое поле — это максимальный срок действия пароля. Максимальный срок действия пароля — это время в днях, в течение которого пользователю потребуется изменить пароль. Пустое значение в этом поле означает, что максимальный срок действия пароля отсутствует. В моем случае это 99999.

6. Шестое поле — период предупреждения пароля. Пользователь будет предупрежден за несколько дней до истечения срока действия пароля, это период предупреждения пароля. В моем случае это 7.

Читать  Как создать базовый поиск для сайта Django?

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

8. Восьмое поле — это срок действия аккаунта. Дата истечения срока действия учетной записи точно такая, как она звучит, день, когда истекает срок действия учетной записи. Это число выражается с эпохи (1 января 1970 г.).

9. Девятое поле — это зарезервированное поле. Это поле зарезервировано на будущее и в настоящее время не используется.

 

Смена пароля

Все это означает, что пароль необходимо регулярно обновлять или менять. Следующий вопрос: как изменить текущий пароль и избежать всевозможных проблем со старением пароля? Для смены пароля необходимо быть root!

$ sudo passwd {USERNAME}

 

Вместо {USERNAME} введите собственное имя пользователя, для которого вы хотите изменить пароль. Вам будет предложено ввести текущий пароль. Как только вы введете его, он попросит вас ввести новый пароль, и вы тоже можете его ввести. Вот и все!

 

Изменение информации об истечении срока действия пароля пользователя

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

На всякий случай вы можете использовать его со следующим:

chage [options]

 

  • -d, –lastday. Это дата последней смены пароля с эпохи. Он пишется как YYYY-MM-DD.
  • -E, –expiredate. Это устанавливает дату, когда учетная запись будет отключена. Сама дата выражается как YYYY-MM-DD, начиная с эпохи. Если вы передадите -1, дата истечения срока действия учетной записи не будет.
  • -h, –help. Это отобразит справку.
  • -I, –inactive. Это устанавливает период бездействия пароля. Если вы поставите -1 в неактивное поле, то информации о бездействии не будет.
  • -l, –list. Это отображает информацию об устаревании пароля.
  • -m, –mindays. Это устанавливает количество дней между сменой пароля. Если вы поставите 0, это означает, что пользователь может изменить свой пароль в любое время.
  • -M, –maxdays. Это устанавливает максимальное количество дней, когда текущий пароль активен. Если передано -1, это снимет проверку действительности пароля.
  • -W, –warndays. Это устанавливает период предупреждения пароля.
Читать  Как передать именованный аргумент в сценарии оболочки?

 

Теневой файл — это, безусловно, самый важный файл в вашей системе Linux. Раньше файл passwd содержал все пароли, но в наши дни файл passwd представляет собой простой текстовый файл, содержащий информацию о пользователе, а теневой файл вместо этого содержит всю информацию о паролях! И поскольку он содержит информацию о пароле, он как заблокирован для суперпользователя, так и хеширован (зашифрован).

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Microsoft выпустила свою первую консоль, оригинальную Xbox, 15 ноября 2001 года…

Спасибо!

Теперь редакторы в курсе.