于是,找度娘:
热心网友提供的解决问题的方法是这样的:
1、进入单用户模式
2、查看/var/log/secure文件,日志如下:
Mar 14 11:05:06 testOpenfire login: PAM unable to dlopen(/lib/security/pam_limits.so): /lib/security/pam_limits.so: cannot open shared object file: No such file or directory
Mar 14 11:05:06 testOpenfire login: PAM adding faulty module: /lib/security/pam_limits.so
Mar 14 11:05:10 testOpenfire login: pam_limits(login:session): unknown limit type 'herd'
Mar 14 11:05:10 testOpenfire login: pam_unix(login:session): session opened for user root by LOGIN(uid=0)
Mar 14 11:05:10 testOpenfire login: Module is unknown
Mar 14 11:05:21 testOpenfire login: PAM unable to dlopen(/lib/security/pam_limits.so): /lib/security/pam_limits.so: cannot open shared object file: No such file or directory
意思是PAM unable to dlopen /lib/security/pam_limits.so这个文件,于是乎去/lib/security/下查看下有没有pam_limits.so这个文件,果然没有。
3、在/etc/pam.d/login里,里面的配置信息如下:
auth [user_unknown=ignore success=ok ignore=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 required pam_loginuid.so
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
session required pam_namespace.so
session optional pam_keyinit.so force revoke
session include system-auth
-session optional pam_ck_connector.so
session required /lib/security/pam_limits.so
~
~
经网友指点,将最后一行注释掉或者是改为(搜了下,64位系统在lib64目录下):/lib64/security/pam_limits.so,保存后,重启系统。
4、用原来的用户名和密码登录,完美登录!!
据说,用SSH登录是没有问题的,但是,我的机器IP已经变了,只能登录本机,所以,必须要解决这个问题。但是,我之前用的时候,感觉没有动过这块儿,不知道为啥突然就不能用了。好在问题解决了。真是完美!!
参考博文:https://www.cnblogs.com/comeonbaby/p/5275982.html
Linux 无法本地登录解决方法 报错/lib/security/pam_limits.so
原文地址:http://blog.51cto.com/linux10000/2114408