Пароль в Linux системах, используемый для учётных записей, обычно доступен как /etc/passwd. Для дополнительных мер безопасности используется теневая (shadow) копия этого файла, которая включает пароли ваших пользователей. А на самом деле, хранится даже хеш пароля, для максимальной безопасности.
Пример строки в /etc/shadow может выглядеть вроде этого:
mial:$6$Xwg3PsUW$M49EeBEW7jBPfArGNLcNt6p2uck2o71V.XS8VZzhcNCYQRpPkWTD16WSrTHUhQ2qegMgb56CLuc2Qe/TxXT.H0:16441:0:99999:7:::
Для нормального отображения давайте разделим эту строку на несколько полей:
Время взглянуть, что эти строки означают:
Владельцем файла /etc/shadow должен быть пользователь root, обычно групповым владельцем является shadow. Этот файл не должен быть читаемым кем угодно, следовательно, подходящим режимом прав на этот файл является 640.
Дистрибутивы Linux обычно содержат утилиту pwck. Эта маленькая утилита проверет согласованность обоих файлов и укажет на какие-либо проблемы. Задавая ключ -r мы определяем, что она работает в только режиме чтения.
pwck -r /etc/passwd /etc/shadow
| Без признаков | DES (практически давно не используется, неадекватно слаб по сегодняшним меркам) |
| _ | Модификация имплементации алгоритма DES, сделанная BSDi |
| $1 | MD5 с 22 символами |
| $2 $2a | Blowfish (используется преимущественно в OpenBSD, FreeBSD(?)) |
| $5 | SHA-256 с 43 символами |
| $6$ | SHA-512 с 86 символами |