我们有一个自动同步例程,用于useradd
在 Ubuntu 10.04 计算机上创建新用户。启动例程的应用程序提供了用户名和CRYPT
加密密码。但是,由于我们更改了密码的处理方式以包含 LDAP 支持,因此密码现在不必是,CRYPT
但也可以是MD5
或SHA-1
。事实上,SHA-1
是新的默认值。然而,这现在会引起问题。
我已经阅读了如何/etc/shadow
处理的内容,似乎没有 id SHA-1
,只有SHA-256
/ SHA-512
($5$
和$6$
分别)。我发现的唯一一件事就是将整个事情从CRYPT
改为SHA-1
。我们可以做到这一点,但我们希望整个过渡尽可能不造成破坏。
有没有办法同时使用CRYPT
和SHA-1
密码?
注意
- 主要应用程序是完全不同的服务器上的 CMS。所讨论的Linux服务器是客户端位置的本地机器(从机),以提供本地服务。
- 我们知道我们可以将整个系统切换为仅使用 LDAP,但是,如前所述,我们不想立即更改所有内容。
答案1
为什么不通过除 之外的其他方式对您仅拥有其密码的未加盐 SHA-1 哈希值的用户进行身份验证/etc/shadow
。
使用 PAM,您可以拥有任意数量的身份验证模块,并根据需要堆叠它们。您可以pam_unix.so
为某些用户保留并供pam_ldap.so
其余用户使用。