首页 > RedHat/CentOS操作系统 > centos 5.3 不能登录字符界面问题的解决

centos 5.3 不能登录字符界面问题的解决

2016年12月11日

centos 5.3 不能登录字符界面问题的解决

2009-07-17 23:53

看了鸟哥的私房菜,发现在图形界面下可以快速的切换到字符界面下,只要使用ctrl+alt+F1键就可以了(F1是功能键,当然也可以是F2~F7,F7是切换到图形界面的)。欣喜若狂的我,马上尝试了一把。结果令我相当的失望,输入正确的密码后,又回到了登录的界面。总是登录不进去,快郁闷疯了。

 

但是要解决问题的啊,只会郁闷是不起作用的。那么就考虑到是认证的问题。和认证相关的就是/etc/pam.d/这个目录了。而这个问题又是在登录问题相关的。那么一定和/etc/pam.d/login这个配置文件有关系的。起初去看这个文件,发现不了什么问题。一切都是那么平静又那么的正常。

 

还是搞不定了啊。在搞不定的时候,问google啊。其实google有时候也是搜不到丢答案的,这次google就没有给出答案,但是给了个提示。在一篇文章里看到有个哥们查看vim /var/log/secure这个文件,对这个文件,原来还没有结果。此时去观察一把吧,反正这个问题又不是一会能解决的。

 

下面就看看这个文件吧,发现了如下的内容:

 

Jul 17 19:27:12 localhost gdm[6068]: pam_unix(gdm:session): session opened for user root by (uid=0)

Jul 17 20:21:27 localhost userhelper[28055]: pam_timestamp(system-config-authentication:session): updated timestamp file `/var/run/sudo/root/unknown’

Jul 17 20:21:27 localhost userhelper[28058]: running ‘/usr/share/authconfig/authconfig-gtk.py’ with root privileges on behalf of ‘root’

Jul 17 20:22:03 localhost login: PAM unable to dlopen(/lib/security/pam_limits.so)

Jul 17 20:22:03 localhost login: PAM [error: /lib/security/pam_limits.so: wrong ELF class: ELFCLASS32]

Jul 17 20:22:03 localhost login: PAM adding faulty module: /lib/security/pam_limits.so

Jul 17 20:22:05 localhost login: pam_unix(login:session): session opened for user root by (uid=0)

Jul 17 20:22:05 localhost login: Module is unknown

Jul 17 20:22:08 localhost login: PAM unable to dlopen(/lib/security/pam_limits.so)

Jul 17 20:22:08 localhost login: PAM [error: /lib/security/pam_limits.so: wrong ELF class: ELFCLASS32]

Jul 17 20:22:08 localhost login: PAM adding faulty module: /lib/security/pam_limits.so

Jul 17 20:22:11 localhost login: pam_unix(login:session): session opened for user root by LOGIN(uid=0)

Jul 17 20:22:11 localhost login: Module is unknown

 

这里一个so文件的一个类有错误了。既然错了,那么我就不用了。我先去把/etc/pam.d/login文件里面的有/lib/security/pam_limits.so那一行注释掉。

 

这时候再登录字符界面,可以登录进去了,比较高兴。dlopen不能打开so文件,是什么问题呢??我去找了一把/lib/security/pam_limits.so文件,结果这个文件是存在的。下面的出现了32的信息,难道和操作系统的位数有关?我到/lib64/securrity/目录下,找了一把pam_limits.so文件,很不错,找到了。那么我可以把前面注释掉的那一行修改一下吗??抱着试试看的态度修改了一下,结果把问题搞定了。原来是动态库的架构不一样导致了登录不上字符界面。

 

遇到系统的问题,应该马上去查找他的日志文件,来查询发生了什么问题。这样,对搞定问题有很大帮助。以后就多研究日志文件了,呵呵。

本文的评论功能被关闭了.