使用ulimit -a 得到用户的open files 而使用lsof |grep **|wc -l [** 是登录不上的那个用户] 得到的数字是该用户的open files 当超出前面查到的那个数字的时候(这里说的就是超出的时候引起的原因)
之后修改/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
|
|