使用ulimit -a 得到用户的open files
而使用lsof |grep**|wc -l [** 是登录不上的那个用户]
得到的数字是该用户的openfiles 当超出前面查到的那个数字的时候(这里说的就是超出的时候引起的原因)
之后修改/etc/security/limit.conf这个配置文件。
* - nofile 65536
* - nproc 16384
当时加入这两条的时候
然后执行ulimit -a 的时候已经生效了
但是执行前面两个命令的时候依旧失败
后来发现要把*号改成确定的用户名就好了(原因还不知道,)
然后就好了
这边查看系统日志(/var/log/secure)的话有"session open by ***,session close by **"等信息,
正常的情况是
这里可以解释为没有通过PAM认证。
当登陆的时候,先去PAM /etc/pam.d/login 而这里面会多次调用system-auth
查看/etc/pam.d/system-auth看到里面很多的pam**然后每个模块的情报会去调用(查看如下数据)
/etc/pam.d/* 每个程序个别的PAM模块配置文件
/lib/security/* PAM模块文件的实际放置目录
/etc/security/* 其他PAM环境的配置文件
/usr/share/doc/pam-*/ 详细的PAM说明文件
然后这个问题就会通过/etc/pam.d/system-auth里面说调用道德pam_limits.so然后根据这个去/etc/security/limits.conf里面去读,去匹配,然后确定信息返回。
####ssh 问题
##今天某人误删了 root的 bash文件导致无法登录了
###单用户模式进入
###mount -o rw,remount /
##然后就可以修改了root的bash
联系客服