/ etc / passwd和/ etc / shadow中使用什么方法来加密密码?


19

/etc/passwd/etc/shadow文件进行仔细检查后发现,使用某种形式的哈希函数对存储的密码进行了哈希处理。

通过Google的快速搜索可以发现,默认情况下,密码是使用DES加密的。如果条目以开头$,则表明使用了其他哈希函数。

例如,我的Ubuntu计算机上的某些条目以$6$... 开头

各种数字代表什么?

Answers:


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)

(河豚可以是Wikipedia Crypt(Unix)$2$$2a$根据Wikipedia Crypt(Unix)的描述。)

所以$6$手段SHA-512

您的系统使用哪一个受传递给pam_unix PAM模块的任何选项的约束。

最新版本的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 2011年

4
请注意,基于SHA-2的加密散列不是普通的SHA-2,这很不好,因为普通的SHA-2难以抵抗字典攻击。SHA-2加密方案使用普通哈希作为构造块,但添加了一个可变的工作因数(以减慢字典攻击的速度)和一个盐。
CodesInChaos

在我的Ubuntu计算机中,root的密码带有感叹号(!)。读取man shadow,表示密码已锁定,因此您无法直接使用Unix密码登录。这与默认情况下禁用的Ubuntu设置根帐户有关。
Akronix '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.