CentOS 5.8 – 更新后无法以root身份login到tty1?

我在CentOS 5.8上运行了一个yum更新,现在我无法以root身份login到控制台。 基本上会发生什么是我收到login提示,input正确的用户名和密码,并立即吐回到login提示。 如果input的密码不正确,我被告知密码不正确,因此我知道我正在使用正确的凭据。

我似乎可以find唯一的日志是/ var / log / secure,它只包含:

15:33:41 centosbox login: pam_unix(login:session): session opened for user root by (uid=0) 15:33:41 centosbox login: ROOT LOGIN ON tty1 15:33:42 centosbox login: pam_unix(login:session): session closed for user root 

shell永远不会产生。

我已经检查了我的inittab,看起来像这样:

 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6 

和我的/ etc / passwd正确地为我的根用户列出了bash:

 root:x:0:0:root:/root:/bin/bash 

以及/ tmp(1777)&root(750)上的权限。

我试图重新安装bash,pam和mingetty无济于事,确认/ bin / login存在。

任何想法将不胜感激。

谢谢!!

-slashp

你正在login就好 – 无论你启动的shell是立即退出。

启动到单用户模式或救援CD并chroot到您的已安装系统。

首先,检查你的启动脚本(profile,bashrc等)。 确保他们没有做任何会立即退出的事情。

你能连chroot吗? 如果你不能,那就意味着它不能运行你的shell。 尝试使用chroot并指定一个静态shell。

将根目录的shell更改为一个静态的shell,这应该有所帮助。 然后从那里你可以重新启动到已安装的系统,并开始计算出来的东西。

你在使用selinux / apparmor吗? 你尝试设置执行宽容吗? 这有帮助吗?

也许你有一个主要的glibc变化或者是影响login的东西。 你有没有重新启动你的yum update或至less看到/var/log/yum.log中更新了什么? 后者会告诉你哪些软件包被修改/更新。

您可以使用以下命令validation安装的/bin/login二进制文件:

 # rpm -qf /bin/login util-linux-2.13-0.59.el5 # rpm -vV util-linux | grep S.5 

如果第二个命令有任何输出,则回报

编辑:

所以这似乎是一个图书馆的问题。 假设是/bin/login导致问题。 你可以在二进制文件上快速运行ldd吗? 你的输出是这样吗?

 # ldd /bin/login linux-vdso.so.1 => (0x00007fffb57ec000) libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000035f3c00000) libpam.so.0 => /lib64/libpam.so.0 (0x00000035f8800000) libpam_misc.so.0 => /lib64/libpam_misc.so.0 (0x00000035f3800000) libaudit.so.0 => /lib64/libaudit.so.0 (0x00000035f6c00000) libc.so.6 => /lib64/libc.so.6 (0x00000035f1800000) libdl.so.2 => /lib64/libdl.so.2 (0x00000035f2400000) /lib64/ld-linux-x86-64.so.2 (0x00000035f1400000)