Root用户无法登录Red Hat和CentOS

时间:2019-08-20 17:58:29  来源:igfitidea点击:

下面是排除root无法登录故障的一些步骤:

忘记root密码

如果忘记root密码,那么需要重启进行重置,具体方法可查看 重置root密码

检查/etc/passwd文件中的shell是否为nologin

[root@server ~]# grep root /etc/passwd
root:x:0:0:root:/root:/sbin/nolgin

如果是nolgin, 是不能登录的。

需要将shell更改为/bin/bash

usermod -s /bin/bash root

检查root账户的过期日期

chage -l root(它将显示帐户信息,检查帐户过期日期)。

[root@server ~]# chage -l root
Last password change                                    : Sep 17, 2014
Password expires                                        : never
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 99999
Number of days of warning before password expires       : 7
[root@server ~]#

检查/etc中的“nologin”目录

检查 /etc中是否有 nologin目录。
如果存在,使用rm进行删除。

ls -ld /etc/nologin && rm -fr /etc/nologin

检查/etc/securetty的权限

如果文件/etc/securetty的权限不是644,也有可能导致无法登录

chmod 644 /etc/securetty

检查/etc/securetty文件的内容

securetty文件必须具有以下给定内容。

参考如下,内容可能因RHEL/CentOS版本而异。

[root@server~]# cat /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
[root@server ~]#

ssh中禁用了root登录

检查ssh配置文件

[root@server ~]# grep Root /etc/ssh/sshd_config
PermitRootLogin no
[root@server ~]#

修改成PermitRootLogin yes后重新加载或者重新启动sshd服务。

/etc/init.d/sshd reload

或者

/etc/init.d/sshd restart