http://wgkgood.blog.51cto.com/1192594/281998

用户名密码都正确却不能登录Linux服务器这是为什么呢??最可能有以下几种:

一、磁盘空间满了无法登录Linux服务器。重启服务器试试或者删掉一些不必要的文件。

二、确实是密码忘记了,进入单用户模式改密码就行了。

三、装有oracle 10G ,按文档要求修改

vi /etc/pam.d/login

添加下面语句 session required /lib/security/pam_limits.so

后,本地用户不能登录系统;如下解决:
vi   /etc/pam.d/login里面的最后一行: “ sessionrequired /lib/security/pam_limits.so ”

把它改成:sessionrequired /lib64/security/pam_limits.so 保存重启ok啦!

 

http://lakemoonstar.iteye.com/blog/1471532

 

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

 

 


 

先用普通用户登陆,打开系统工具-终端
切换到root用户
输入命 令:    gedit      /etc/pam.d/gdm&
在文本编辑器中注释掉"auth required pam_succeed_if.so user != root quiet"
保存后继续输入命令:   gedit       /etc/pam.d/gdm-password&
同样地注释掉"auth required pam_succeed_if.so user != root quiet"这一行。
保存后退出
现在就能使用root登录了