最近看一个加固方面的问题,总结如下:
在查看passwd命令的时候,有一个-l参数,可以锁定密码,然后用-u来解锁。不过我在centos7.3上没有测试通过。
[root@centos7 ~]# passwd -l caqcaq
锁定用户 caqcaq 的密码 。
passwd: 操作成功
[root@centos7 ~]#
[root@centos7 ~]# passwd caqcaq
更改用户 caqcaq 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
也就是没有-u操作,也可以修改密码。
另外一种锁定,是用户密码输错之后,pam模块给设置的锁定,
查看ssha用户的
-bash-4.2# pam_tally2 --user ssha
Login Failures Latest failure From
ssha 5 09/04/17 09:33:37 10.xxx.xxx.xxx
可以看到ssha用户密码输错了5次,
如何解锁呢?
-bash-4.2# pam_tally2 --user ssha --reset
Login Failures Latest failure From
ssha 5 09/04/17 09:33:37 10.xxx.xxx.xxx
-bash-4.2# pam_tally2 --user ssha
Login Failures Latest failure From
ssha 0
解锁之后,failure次数就为0了,这时候再登录就不会报密码错误了。
pam_tally2从pam_tally演进过来,以前老版本如果用户被锁定了,要通过使用pam_tally 、faillog配合crontab 进行自动解锁,但需要注意的是,pam_tally2格式配置上,并不与pam_tally兼容。
pam_tally2 增加了自动解锁时间的功能。
这里引出来的PAM(Pluggable Authentication Modules )是由Sun提出的一种认证机制。它通过提供一些动态链接库和一套统一的API,将系统提供的服务 和该服务的认证方式分开,使得系统管理员可以灵活地根据需要给不同的服务配置不同的认证方式而无需更改服务程序,同时也便于向系 统中添加新的认证手段。也就是服务归服务,认证归认证,多加了一层。
具体的使用格式,可以man pam_tally2 查看。
比如要设置一个用户输入5次之后,锁定10分钟,root用户也可以锁定,锁定时间为100秒。
auth required pam_tally2.so deny=5 unlock_time=600 even_deny_root root_unlock_time=100
在/etc/pam.d下面,有很多配置文件,这些配置文件主要适用于不同的密码验证场景,
/etc/pam.d/login中配置只在本地文本终端上做限制;
/etc/pam.d/kde在配置时在kde图形界面调用时限制;
/etc/pam.d/sshd中配置时在通过ssh连接时做限制;
/etc/pam.d/system-auth中配置凡是调用 system-auth 文件的服务,都会生效。