欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

root 帐户无法登陆解决办法【转】

程序员文章站 2022-07-14 15:07:00
...

linux下root无法登陆,一般有以下几种情况:

 

1、/etc/securetty 中规定了root可以从哪个tty设备登录,如果root登录不了,可以检查/etc/securetty文件,看看是否禁用了什么设备。如果发现被修改,可以将文件改回原来的样子。并且注意,如果修改了该文件,要保证该文件的权限模式为600,才能正常生效。

正常的/etc/securetty文件内容:

console

vc/1

vc/2

vc/3

vc/4

vc/5

vc/6

vc/7

vc/8

vc/9

vc/10

vc/11

tty1

tty2

tty3

tty4

tty5

tty6

tty7

tty8

tty9

tty10

tty11

 

2、/etc/ssh/sshd_config文件中禁用root登录。如果sshd_config文件中有PermitRootLogin no这行,root就无法通过ssh登录。请改成PermitRootLogin yes,然后重启ssd。

# /etc/init.d/sshd restart

 

3、使用了pam认证,pam配置中限制了root账号的登录。这种情况的可能性比较多,需要仔细检查/etc/pam.d/下以及/etc/security/下的配置文件是否有禁止root的设置。

 

4、/etc/passwd文件被修改。检查passwd文件中,root的uid是否为0,root的shell路径是否真实存在,总之root这行的每个设置要完全正常才行。(我就遇到过一种特殊情况,passwd文件的换行符变成了DOS格式,结果linux系统认为shell路径是/bin/bash^M,返回路径不存在错误,导致了root无法登录。所以还要保证passwd文件的换行符是unix格式。)

 

5、root无法登录Xwindows图形界面。检查/etc/pam.d/gdm,将

auth required pam_succeed_if.so user != root quiet 这行注释掉。

 

此外,还有很多其他的情形会导致root无法登录。

遇到root无法登录时,要看看是否ssh方式、控制台方式都无法登录。还有看看是否可以用其他账号登录,然后su成root,来进行修复。实在不行,再用单用户方式重启系统,或用光盘引导进入系统,来解除root的禁用(参考如何找回root密码)。

如果是黑客禁用了root登录,还得检查/etc/passwd中是否有其他可疑的账号具有uid=0,以及/etc/sudoers中是否有可疑账号具有sudo权限,然后还得检查系统中是否有rootkit,sshd等系统文件是否被黑客替换等。

 

 

 

————————————————————————————————————————————————————

 

RHEL 5.4中的关于pam.d/login的设置,导致root在内的用户无法在控制台登录

因为在redhat 5.4 的64位版的系统中安装oracle 10,所以在/etc/pam.d/login 中加入:

 

session    required    /lib/security/pam_limits.so

 

然而这样的话在64位LINUX上就可能会出现ROOT无法在控制台上登陆的情况。

解决方法:

在32位系统使用此配置for oracle :

session    required    /lib/security/pam_limits.so

上面的配置为某些文档和资料所载,但只适合32位系统

 

 

而在64位系统上要使用此配置for oracle :

session    required    /lib64/security/pam_limits.so

 

 

建议配置:

session    required    pam_limits.so