为了我的罪过,我正在帮助一位朋友从 10 年历史的 SuSE 邮件服务器迁移到运行 Ubuntu-18.04 的邮件服务器。
我需要做的事情之一是迁移大约十几个用户 - 其中几个在涉及互联网/计算机方面受到严重损害(想想朋友和年长的家人)。
我过去所做的事情(以及我现在正在尝试做的事情)就是简单地将哈希字符串从一个盒子上的 /etc/shadow 中提取出来并将其整个放入新的服务器中。
这些用户中的大多数绝不通过命令行登录服务器,他们只能通过 IMAP 或 POP3 客户端(包括 Courier SqWebMail)访问它。
但这次却不行。
我怀疑这是因为 SuSE 服务器使用了 Blowfish 作为哈希算法。该服务器上的哈希值都以 $2a 或 $2y 开头,man crypt_r 的这个片段表明这是 Blowfish:
ID | Method
────────────────────────────────────────────────────
1 | MD5
2a | Blowfish, system-specific on 8-bit chars
2y | Blowfish, correct handling of 8-bit chars
我所能找到的与这个主题相关的内容都是这样的: 如何在 ubuntu 18.04 上使用 auth-client-config 将 nis 客户端的密码编码更改为 blowfish和shadow 可接受的哈希值但这些问题实际上并没有答案。
我尝试进行编辑/etc/pam.d/common-password
,添加如下一行:
password [success=1 default=ignore] pam_unix.so obscure blowfish
但它并没有改变行为。
我的问题是如何让当前哈希在 Ubuntu-18.04 下工作——完成后我可以强制更新为更好的哈希算法。
我的后备计划是为用户生成密码并让我的朋友将其分发出去。