Linux下强制用户使用复杂口令
时间:2009-03-23 来源:sjhf
原文链接 http://www.linuxboy.net/wordpress/?p=113
很有意思. 公司在做安全评估的时候, 被问到很多问题.
我们的机房服务器安全措施就是, 首先必须有windows域帐号, 且域帐号有vpn拨号权限, 然后拨号联通机房的vpn, 才能登陆机房的各个Linux主机, 当然, 还要有Linux的登陆帐号, 问题来了, 如何控制用户密码的复杂程度, 在windows下这很简单, Linux下肯定可行.
wget http://www.openwall.com/pam/modules/pam_passwdqc/http://www.openwall.com/pam/modules tar zxvf /pam_passwdqc/pam_passwdqc-1.0.5.tar.gz cd pam_passwdqc-1.0.5 make; make install >>mkdir -p /lib/security >>install -c -m 755 pam_passwdqc.so /lib/security >>mkdir -p /usr/share/man/man8 >>install -c -m 644 pam_passwdqc.8 /usr/share/man/man8/ 注意, pam_passwdqc.so被扔到/lib/security目录了, 记住. 然后编辑pam.d vi /etc/pam.d/system-auth #password requisite /lib/security/$ISA/pam_cracklib.so retry=3 #password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow #password required /lib/security/$ISA/pam_deny.so password required pam_passwdqc.so min=disabled,12,8,6,5 max=40 passphrase=3 match=4 similar=deny random=42 enforce=everyone retry=3 password sufficient pam_unix.so nullok use_authtok md5 shadow use_first_pass password required /lib/security/$ISA/pam_deny.so 注释掉三行, 换成下面三行. 有用的是min=disabled, 12,8,6,5 max=40 意思是: 不接受任何单种字符类的口令;对两种字符混合的密码,强制口令最小长度是12位;对口令字强制最小长度是8位;对3种字符混合的密码强制最小长度是6 位;4种字符混合的密码强制最小长度是5位。所谓4种字符混合的密码就是由“数字”,“小写字母”,“大写字母”,以及“其它字符”组成(其它字符就是类 似“!”、“_”这种)。另外,上述这些规则同时还强制任何口令长度不得超过40位 注意: 8Tad!就是符合规则的密码, 4种字符. 剩下的就是写个脚本, 强制此用户登陆的时候执行passwd, 然后执行完后把自己删除, 就完成了. |
相关阅读 更多 +