这篇主要记录一些工作中碰到过的,有一些记录意思的案例
发现测试环境(Rhel6.4)账号无法登陆,密码正确时无响应,错误时提示错误,控制台进入后发现有如下报错
ERROR: ld.so: object '/lib/libcwait.so' from /etc/ld.so.preload cannot be preloaded: ignore
1、因为测试了用户的正确密码和错误密码的对比,通过输出考虑是系统内部问题,另外因为禁用root远程登录,所以需要看控制台
2、在控制台发现有报错,测试用户登录也无法通过认证,尝试解决问题
3、发现是由于/etc/ld.so.preload 指向了一个不存在的库文件导致的,这个只能进入单用户模式挂载系统进行操作了
4、登录单用户模式,挂载文件系统,将/etc/ld.so.preload置空恢复系统正常使用
switch_root:/# chroot /sysroot/
sh-4.2#
5、恢复后登录系统,回溯系统的命令历史记录,发现有个脚本在近期动了这个文件,联系操作人员反馈这个操作的影响
Cloudwise-SmartAgent-Linux-1.4.0.0.sh
...
local perloadFileLocation="/etc/ld.so.preload"
...
1、改动库文件很难判断会对哪些部分有影响,建议做好记录,方便回溯和问题的解决
2、大致定位了问题但不清楚具体的原因以及解决办法,还是得考虑搜索一下,描述清楚问题还是容易找到解决方案和解析的
https://www.cnblogs.com/snigoal/archive/2012/07/17/2596569.html
SSH无法登录,控制台可以正常登录,SSH登录情况如下,连接上之后,直接断开:
Connection to xxx.xxx.xxx.xxx closed.
1、控制台可以登录,ssh 远程登录能进入(因为已经提示了/etc/motd的内容)立即会退出,这个其实可以认为ssh配置应该是正常的,有其他问题
2、登录控制台操作,这会常见的有几种常见思路
一是看登录记录和历史记录,看是否有明显的变更
二是根据问题看日志排查,ssh 一般就是看 /var/log/messages 和 secure
三是依据自己的关于这个问题的思路排查一遍
3、因为考虑已经登录进入被退出了,所以考虑ssh配置和 /etc/security/access.conf 限制应该都是正常的
4、看看 sshd 服务状态(其实看messages应该更快),发现有报错,排查这个参数
systemctl status sshd
pam_limits(login:session): Could not set limit for ‘nofile’: Operation not permitted
5、排查 nofile 相关参数配置是否有变更或者是否正常
more sysctl.conf |grep fs
fs.file-max = 65535
fs.nr_open = 65535
6、这些参数从默认值修改后,需要直接配置否则不会恢复默认值,除非重启
# 修改 /etc/sysctl.conf
fs.file-max = 26226683
fs.nr_open = 1048576
# 立即生效
sysctl -p
1、这个可能从变更和日志排查会更快
2、这里描述一下这两个参数
/proc/sys/fs/file-max 设置内核最大的文件句柄数
/proc/sys/fs/nr_open 设置进程最大的文件句柄数 不能超过file-max
注意:配置的/etc/security/limits.conf 不能超过上述的两个参数,否则会有异常
limits.conf超过限制导致ssh失败_limit.conf 过大 导致无法ssh-CSDN博客
linux查看进程limits解释,linux系统limit知识-CSDN博客
当创建了/etc/nologin 文件后,除root用户以外的,普通用户将无法登录,pam_nologin.so 限制普通用户登录时,会打印 /etc/nologin文件的内容,无法登录,会报错认证失败
这个就看具体需求了,如果是误操作还是需要清理的,但是nologin的内容还是得写清楚一些
ssh 远程登录失败的情况非常多,建议先看看端口通不通,然后普通用户和root用户都尝试一下,另外就是控制台登录也需要尝试一下。如果能进入系统,就看看日志和操作记录回溯一下有没有异常操作。如果是新增用户,就对比一下用户和用户组。