我有一个 KVM 客户机,需要重置密码。如果我使用“virsh console”访问客户机帐户,我可以使用新的哈希行(如“$6$avdwsefs$In0A44PGN3xHczlF4qeF5wrVs6WmeCfTUYB1WZ1g6Co.fq62l5/0ZbrnGWbjhRQT598eAKDo/nMaW6iJCA3k2”)更新影子文件。如果我重新启动客户机帐户,新密码将生效。但如果我在服务器中安装客户机系统并更新 /mnt 目录中的影子文件,密码将不起作用。在我修改安装目录中的影子文件后,旧密码哈希和新密码哈希都将不起作用。
更新:服务器系统和vps客户系统均具有centos6.4和glibc的最新更新。
答案1
密码哈希已用 加密crypt(3)
。
确保 glibc 支持 SHA-512 加密。例如,您使用的是 glibc 2.7 或更新版本。否则 crypt 会忽略这些哈希值。
从crypt(e)
手册页中:
此函数的 glibc2 版本支持其他加密算法。
如果 salt 是一个以字符“$id$”开头的字符串,后面跟着一个以“$”结尾的字符串:
$id$salt$encrypted
...
ID | 方法
1 | MD5
2a | Blowfish(不在主流 glibc 中;在某些 Linux 发行版中添加)
5 | SHA-256(自 glibc 2.7 起)
6 | SHA-512(自 glibc 2.7 起)