1某centos环境,ssh和su切换慢,并且sshd进程cpu占用偶发性100%
2 修改ssh配置,去掉pam模块认证后ssh登录速度恢复正常
3 通过strace追踪su切换,异常情况下有大量notty相关打印,正常情况下没有
4 分析strace日志,发现su切换时会去打开/var/log/btmp文件,notty正来源于btmp
5 正常情况下btmp通常就几k或几兆,但是异常的有5G多,删除异常的btmp后su切换,ssh登录恢复正常
6查看pam源码,每次登录都会从btmp中读取登录失败记录,当有新的登录失败记录时,会在下次登录成功后进行提醒
7 建议关注btmp文件大小,过多登录失败记录可能代表这服务器可能被攻击了