Які методи використовуються для шифрування паролів у / etc / passwd та / etc / shadow?


19

Уважний огляд файлів /etc/passwdі /etc/shadowфайлів виявляє, що збережені паролі хешируються за допомогою певної форми хешування.

Швидкий пошук Google виявляє, що за замовчуванням паролі шифруються за допомогою DES . Якщо запис починається з $, то це вказує на те, що використовується якась інша хеш-функція.

Наприклад, деякі записи на моїй машині Ubuntu починаються з $6$...

Що являють собою різні числа?

Відповіді:


28

Повний список знаходиться у man 3 crypt( веб-версія ):

          ID  | Method
          -------------------------------------------------
          1   | MD5
          2a  | Blowfish (on some Linux distributions)
          5   | SHA-256 (since glibc 2.7)
          6   | SHA-512 (since glibc 2.7)

(Удар може бути $2$або $2a$згідно з криптовалютою Wikipedia (Unix) .)

Так $6$значить SHA-512.

Те, яке використовує ваша система, регулюється будь-якими параметрами, переданими модулю PAM pam_unix .

За замовчуванням для останньої версії Ubuntu встановлено /etc/pam.d/common-password:

password        [success=1 default=ignore]      pam_unix.so obscure sha512

що означає, що наступного разу, коли ви зміните свій пароль, він буде хешований за допомогою SHA-512, якщо ваш обліковий запис буде локальним, а не NIS / LDAP / Kerberos тощо.

Дивись також:


Швидка подвійна перевірка моїх /etc/shadowшоу 2 записів, які починаються з $6$.
Натан Осман,

Зауважте, що SHA-256 і SHA-512 є частиною набору SHA-2 хеш-функцій.
mattdm

4
Зауважте, що хепти криптів на основі SHA-2 не є простими SHA-2, що було б погано, оскільки звичайний SHA-2 слабкий проти атак на словники. Схематичні схеми SHA-2 використовують звичайні хеші як будівельний блок, але додають змінний коефіцієнт роботи (для уповільнення атак на словник) та сіль.
CodesInChaos

У моїй машині Ubuntu пароль root має знак оклику ( !). Читаючи man shadow, це означає, що пароль заблокований, тому ви не можете ввійти безпосередньо, використовуючи пароль Unix. Це пов'язано з тим, що за замовчуванням вимкнено кореневий обліковий запис набору Ubuntu.
Akronix
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.