我有一个 NIS 主从设置,我想改进它的密码规则/复杂性。似乎如果我向 NIS 主服务器引入新规则,它们只能从那里应用。我的意思是:我希望密码长度至少为 9 个字符。在 NIS 主服务器上,如果我运行“passwd”,它会遵守此要求。如果我运行“yppasswd”,它只会转到默认的 6 个字符。如果我使用“chage -d 0 user1”强制用户更改密码,则只有在 NIS 主服务器上登录时才会提示用户。用户的旧密码仍然适用于登录 NIS 客户端。所有机器都运行 Ubuntu 9.10 或 10.04。
我如何加强 yppasswd 规则并使其警告用户更改密码?谢谢大家!
答案1
不幸的是(除非重新编译 yppasswd 并根据您的要求进行硬编码),否则无法按所述方式完成此操作。我认为应该禁用 yppasswd 守护进程,并且不应调用 yppasswd。更好的方法是配置您的 pam 堆栈以处理对 passwd 的本机调用,并将它们推送到适当的身份验证渠道。或者,您可以将 yppasswd 全局别名为 passwd -r nis(man password 用于各个参数)。
那就是我要开始的地方。
答案2
您可以创建一个包装器脚本来测试密码候选,然后在测试通过后运行本机 yppasswd 程序。优点是无需重新编译任何内容,缺点是必须将脚本复制到将yppasswd
要运行的所有节点。
更好的解决方案是操纵 PAM。本文 (http://www.techrepublic.com/article/controlling-passwords-with-pam/1055267) 向您展示如何操作。