为什么Linux服务器在单用户模式下不询问密码

为什么Linux服务器在单用户模式下不询问密码

为什么 RHEL 服务器在单用户模式下不要求输入密码? Red Hat Enterprise Linux Server 版本 6.6(圣地亚哥),以防相关。

我遇到过很多情况,我必须在单用户模式下重置 root 密码,我试图找出为什么系统在单用户模式下不询问密码(运行级别 1)。

答案1

因为在大多数情况下实际上没有意义。

如果系统没有物理保护并且没有正确锁定启动访问,您甚至不需要使用单用户模式来执行通常使用它的操作,您可以启动系统上的其他操作系统并执行以下操作:同样的事情。

如果系统在物理上是安全的(无论引导访问是否被锁定),那么您实际上不需要密码,因为任何可以进入系统使用单用户模式的人都已经可以通过以下方式访问系统其他方式,不需要单用户模式(IOW,能够通过物理安全检查就足以授权访问单用户模式)。

唯一可能有用的情况是系统没有物理保护,但您已锁定启动顺序,以便人们无法启动设备上的备用操作系统。然而,这种情况实际上在大型企业设置(与主用户没有系统管理员访问权限的情况下运行 Windows 系统的相同类型的设置)之外并不常见,并且对他们来说,启用密码保护。

答案2

检查单用户模式是否需要身份验证:

grep SINGLE /etc/sysconfig/init

如果需要身份验证,输出应如下所示。

SINGLE=/sbin/sulogin

如果选择单用户模式,默认不进行认证。要要求在单用户模式下输入 root 密码,请在文件中添加或更正以下行/etc/sysconfig/init

SINGLE=/sbin/sulogin

为什么?我只能猜测。也许假设机器在物理上是安全的。

正如@JeffSchaller 指出的, 的当前值SINGLE可能是/sbin/sushell

还要纳入@BaardKopperud 的好评论,尽量不让它被埋没在评论中......

传统上,单用户意味着没有网络,也没有远程或终端登录。唯一的活动终端是“控制台”——直接连接到计算机的一个终端——通常位于一个上锁的计算机房中,只能访问少数几个人。在这样的环境中,如果没有密码可能并不重要 - 特别是因为通常首先需要 root 密码才能将系统设置为单用户。

相关内容