虚拟机里面的Redhat,在本地采用字符界面的方式登录不成功,远程没问题
具体表现为:
输入用户名:root
密码: *********** 回车
没反应,又回到用户名、密码

 

远程查看服务器安全日志:
vim /var/log/secure发现如下错误信息:
 

 
  
  1. Oct 25 08:35:00 localhost login: PAM unable to dlopen(/lib/security/pam_limit.so) 
  2. Oct 25 08:35:00 localhost login: PAM [error: /lib/security/pam_limit.so: cannot open shared object file: No such file or directory] 
  3. Oct 25 08:35:00 localhost login: PAM adding faulty module: /lib/security/pam_limit.so 
  4. Oct 25 08:35:04 localhost login: pam_unix(login:session): session opened for user root by (uid=0
  5. Oct 25 08:35:04 localhost login: Module is unknown 

 

根据网上的提示,修改/etc/pam.d/login文件中的

session required /lib/security/pam_limits.so
修改为:
 

 
  
  1. session required /lib64/security/pam_limits.so 
  2.   
  3. vim /etc/pam.d/login 
  4.  
  5. #%PAM-1.0 
  6. auth [user_unknown=ignore success=ok ignoreignore=ignore default=bad] pam_securetty.so 
  7. auth include system-auth 
  8. account required pam_nologin.so 
  9. account include system-auth 
  10. password include system-auth 
  11. # pam_selinux.so close should be the first session rule 
  12. session required pam_selinux.so close 
  13. session include system-auth 
  14. session required pam_loginuid.so 
  15. session optional pam_console.so 
  16. # pam_selinux.so open should only be followed by sessions to be executed in the user context 
  17. session required pam_selinux.so open 
  18. session optional pam_keyinit.so force revoke 
  19. session required pam_limit.so 
  20. 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那行给注释掉,问题解决啦!

修改后的文件如下: