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

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

/etc/passwd对和文件的仔细检查/etc/shadow表明,存储的密码是使用某种形式的散列函数进行散列的。

快速谷歌搜索显示,默认情况下,密码是使用加密的DES。如果条目以 开头$,则表示使用了其他一些哈希函数。

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

各种数字代表什么?

答案1

完整列表位于man 5 crypt(网页版):

字首 散列法
“$y$” 是的密码
“$吉$” 戈斯特-是加密
“$7$” 加密
“$2b$” 密码
“$6$” sha512加密
“$5$” sha256加密
“$sha1” sha1crypt
“$md5” 孙MD5
“$1$” MD5加密
“_” bsdicrypt(BSDI 扩展 DES)
(空字符串) 大密码
(空字符串) 解密(传统 DES)
“$3$” 新台币

(河豚可以是$2$或者$2a$根据维基百科地穴(Unix).)

所以$6$意思是SHA-512

您的系统使用哪一个由传递给pam_unix PAM 模块

最新版本 Ubuntu 的默认设置为/etc/pam.d/common-password

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

这意味着下次您更改密码时,假设您的帐户是本地帐户,而不是 NIS/LDAP/Kerberos 等,它将使用 SHA-512 对其进行哈希处理。

也可以看看:

相关内容