虚拟机里面的Redhat,在本地采用字符界面的方式登录不成功,远程没问题
具体表现为:
输入用户名:root
密码: *********** 回车
没反应,又回到用户名、密码
远程查看服务器安全日志:
vim /var/log/secure发现如下错误信息:
- Oct 25 08:35:00 localhost login: PAM unable to dlopen(/lib/security/pam_limit.so)
- Oct 25 08:35:00 localhost login: PAM [error: /lib/security/pam_limit.so: cannot open shared object file: No such file or directory]
- Oct 25 08:35:00 localhost login: PAM adding faulty module: /lib/security/pam_limit.so
- Oct 25 08:35:04 localhost login: pam_unix(login:session): session opened for user root by (uid=0)
- Oct 25 08:35:04 localhost login: Module is unknown
根据网上的提示,修改/etc/pam.d/login文件中的
session required /lib/security/pam_limits.so
修改为:
- session required /lib64/security/pam_limits.so
- vim /etc/pam.d/login
- #%PAM-1.0
- auth [user_unknown=ignore success=ok ignoreignore=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 include system-auth
- 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 optional pam_keyinit.so force revoke
- session required pam_limit.so
- session required /lib64/security/pam_limits.so
我的这个文件里面就没有这一行,我两行都分别添加了还是不行!我的是32位的系统,应该用第一个才对。
有人说是安装了oracle修改过什么文件导致,我的虚拟机里面确实也安装了oracle。
有没有人遇到过啊?求救
--------------------------------------------------------------------------
查找文件中最后一行提到的pam-limit.so文件:
[root@localhost ~]# find / -name pam_limit.so -print
[root@localhost ~]#
居然不存在,那肯定有问题啊,所以又找了下pam_limits.so
[root@localhost ~]# find / -name pam_limits.so -print
/lib/security/pam_limits.so
[root@localhost ~]#
这下找到啦,所以就把里面pam-limit.so那行给注释掉,问题解决啦!
修改后的文件如下:
转载于:https://blog.51cto.com/huqianhao/955333