项目需求中要求对系统的要求,特别写一个脚本进行修改,网上搜索一下资料进行的修改!
下面脚本中设置登陆拒绝次数为10,当用户输入10次后,会显示过段时间才能进行登陆,这也会记录到错误次数里面,待登陆正确的时候才能被清除!另外 这里拒绝远程登陆,远程登陆的话,也被默认为错误密码的记录,也会在错误次数中累计!
一般的作法是设置定时任务,自动清除错误记录!
查看错误计数命令
pam_tally2 -u root
手动清除错误计数
pam_tally2 -u root --reset
#!/bin/sh #set up login timeout # 60s donot do any operation,auto cancell # PROFILE_PATH="/etc/profile" tmout=`cat $PROFILE_PATH | grep TMOUT` if [ -z "$tmout" ] then echo "TMOUT=60" >> /etc/profile else sed -i 's/$tmout/TMOUT=60/' $PROFILE_PATH fi source $PROFILE_PATH if [ $? -eq 0 ];then echo "set TMOUT=60 successful!" fi #Locking strategies enable to a logon failure PAM_AUTH_PATH="/etc/pam.d/system-auth" system_auth=`cat $PAM_AUTH_PATH | grep pam_tally2.so` content="auth required pam_tally2.so deny=10 unlock_time=300 even_deny_root root_unlock_time=300" if [ -z "$system_auth" ] then sed -i "3 a{$content}" $PAM_AUTH_PATH else sed -i "s/$system_auth/$content/" $PAM_AUTH_PATH fi #Limit the root user login remotely SSH_CONF="/etc/ssh/sshd_config" sed -i "s/^#PermitRootLogin.*/PermitRootLogin no/" $SSH_CONF service sshd restart
查阅资料?(其实网上很多这方面的资料,方法也很多,需用适合自己项目的一种就行):
登陆失败锁定策略
禁用root远程登陆