centos pam log(centos login incorrect)
大家好,感谢邀请,今天来为大家分享一下centos pam log的问题,以及和centos login incorrect的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
centos为什么passwd root 没有进入密码修改
CENTOS单用户下修改密码报passwd: Authentication Token Manipulation Error解决一台CentOS 5.3的WEB服务器之前都能通过ssh用key可以正常远程连接,突然有一天不能远程连了,具体现象是:a)通过SecureCRT用key连接的时候没有响应;b)直接密码连接报密码或用户名错误;c)通过其他有key的linux服务器连接的时候报Connection closed by 10.10.10.100;d)在本地的console登录的时候,输入用户名后直接报login incorrec。可以确定的是这之前就没有人更改过密码。具体解决过程如下:1.在本地用单用户模式进入系统,2.直接passwd,报passwd: Authentication Token Manipulation Error,搜了一下这个错误网上有多种解决方法,详见本文最后,可这些方法我都试了也没有起作用。3.#df-hl的时候,发现根文件系统满了,清出部分空间后,passwd更改密码仍然报上面那个错误;4.查看/var/log/secure日志是,发现了下面的错误:Nov 26 05:16:46 rcwweb2 sshd[1065]: PAM unable to dlopen(/lib/security/pam_unix.so)Nov 26 05:16:46 rcwweb2 sshd[1065]: PAM [error:/lib/security/pam_unix.so: invalid ELF header]Nov 26 05:16:46 rcwweb2 sshd[1065]: PAM adding faulty module:/lib/security/pam_unix.soNov 26 05:16:46 rcwweb2 sshd[1066]: fatal: Access denied for user root by PAM account configurationp5.从日志中看出是/lib/security/pam_unix.so文件出了问题,之前本机有一个pam_unix.so.bak文件,删除损坏文件,将备份恢复后,可以正常登录了。不知道是不是因为根盘满了造成此文件损坏导致的。这期间参考了网上的一些处理报passwd: Authentication Token Manipulation Error报错的方法,具体如下:1)可能是/etc/passwd和/etc/shadow文件不同步导致的,使用pwconv命令同步;2)/etc/passwd和/etc/shadow设置了安全设置,通过chattr-i/etc/passwd/etc/shadow解决;3)通过echo 123456 passwd--stdin root或echo root:lanmang chpasswd手动修改密码解决;4)关闭selinux解决;5)通过perl-e'print crypt(passw0rd,/$1/$YkRDae.B/$),/n'手动生成密码串,并手动拷贝到/etc/shadow文件中解决;
CentOS使用PAM锁定多次登陆失败的用户
CentOS使用PAM锁定多次登陆失败的用户
Linux有一个pam_tally2.so的PAM模块,来限定用户的登录失败次数,如果次数达到设置的阈值,则锁定用户。
编译PAM的配置文件
# vim/etc/pam.d/login
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#%PAM-1.0
auth required pam_tally2.so deny=3lock_time=300 even_deny_root root_unlock_time=10
auth [user_unknown=ignoresuccess=okignoreignore=ignore default=bad] pam_securetty.so
auth include system-auth
account required pam_nologin.so
account include system-auth
password include system-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session optional pam_keyinit.so force revoke
session required pam_loginuid.so
session include system-auth
session optional pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open
各参数解释
?
1
2
3
4
5
even_deny_root也限制root用户;
deny设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户
unlock_time设定普通用户锁定后,多少时间后解锁,单位是秒;
root_unlock_time设定root用户锁定后,多少时间后解锁,单位是秒;
此处使用的是 pam_tally2模块,如果不支持 pam_tally2可以使用 pam_tally模块。另外,不同的pam版本,设置可能有所不同,具体使用方法,可以参照相关模块的使用规则。
在#%PAM-1.0的下面,即第二行,添加内容,一定要写在前面,如果写在后面,虽然用户被锁定,但是只要用户输入正确的密码,还是可以登录的!
最终效果如下图
这个只是限制了用户从tty登录,而没有限制远程登录,如果想限制远程登录,需要改SSHD文件
# vim/etc/pam.d/sshd
?
1
2
3
4
5
6
7
8
9
#%PAM-1.0
auth required pam_tally2.so deny=3unlock_time=300 even_deny_root root_unlock_time=10
auth include system-auth
account required pam_nologin.so
account include system-auth
password include system-auth
session optional pam_keyinit.so force revoke
session include system-auth
session required pam_loginuid.so
同样是增加在第2行!
查看用户登录失败的次数
?
1
2
3
[root@node100 pam.d]# pam_tally2--user redhat
Login Failures Latest failure From
redhat 7 07/16/12 15:18:22 tty1
解锁指定用户
?
1
2
3
[root@node100 pam.d]# pam_tally2-r-u redhat
Login Failures Latest failure From
redhat 7 07/16/12 15:18:22 tty1
这个远程ssh的时候,没有提示,我用的是Xshell,不知道其它终端有没提示,只要超过设定的值,输入正确的密码也是登陆不了的!
Centos下限制SSH登录次数详解
应公司内部网站等级测评的需求,正逐渐加强系统安全防护。
设备默认 3次验证失败自动退出,并且结束会话;网络登录连接超时自动退出时间 5分钟;
第一种方法:已验证。
1.ssh超时时间设置
# cd/etc/profile.d/#创建两个空白文件autologout.csh、autologout.sh用来保存TMOUT配置
# touch autologout.csh
# touch autologout.sh
# vi autologout.sh#编辑autologout.sh
#auto out in 5 minutes
TMOUT=300#超时时间,单位为s
readonly TMOUT#设置TMOUT变量只读
export TMOUT#设置环境TMOUT
# vi autologout.csh#编辑autologout.csh
set-r autologout 2
# chmod+x autologout.*#可执行权限,其实单给u+x就行了。
断开Client,重新登录终端5分钟不使用ssh就会自动断开连接.
2.ssh认证次数限制:
/etc/ssh/sshd_config
MaxAuthTries=3这仅是超过3次验证错误断开连接。
第二种方法:(试验中还是有问题出现)
原理:通过系统的pam认证实现。
1.备份/etc/pam.d/system_auth文件,更改:
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth required pam_unix.so nullok try_first_pass将原来的sufficient改为required
#auth requisite pam_succeed_if.so uid>= 500 quiet注释掉此行
auth required pam_tally.so deny=3unlock_time=300增加一行,失败超过3次限制5分钟后登录
#auth required pam_deny.so注释掉此行
account required pam_unix.so
account sufficient pam_succeed_if.so uid<500 quiet
account required pam_permit.so
account required pam_tally2.so增加一行
password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
2.建议sshtest帐户,进行密码错误登录验证。查看tail/var/log/secure|grep sshtest记录:
Feb 22 15:21:11 SN524 sshd[4900]: Failed password for sshtest from 192.168.40.130 port 53995 ssh2
Feb 22 15:21:17 SN524 sshd[4900]: pam_tally(sshd:auth): user sshtest(503) tally 7, deny 3
Feb 22 07:21:19 SN524 sshd[4903]: Disconnecting: Too many authentication failures for sshtest
Feb 22 15:21:19 SN524 sshd[4900]: Failed password for sshtest from 192.168.40.130 port 53995 ssh2
Feb 22 15:22:05 SN524 sshd[4906]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.40.130 user=sshtest
帐户已被锁住,无法登录,等待5分钟后才能重新登录.
3.限制SSH过期时间:
/etc/ssh/sshd_config
ClientAliveInterval 60
ClientAliveCountMax 60