在 Linux 中启用或禁用 root 登录的方法

root 用户可以访问 Linux 系统中可用的任何内容。 我们可以在 Linux 中禁用 root 登录,尽管其安全性优势值得商榷。 有多种方法可以禁用 root,我们将介绍本教程中的所有方法。

如何在 Linux 中启用 root 登录

默认情况下,Ubuntu 不允许通过 GUI 登录的 root 登录。 虽然不推荐,但您可以在 Ubuntu 中启用 root 登录,方法是使用 passwd 命令为帐户设置新密码。 相同的命令适用于几乎所有 Linux 发行版。

sudo passwd root 

现在您可以输入新密码,然后继续使用 -u 用于解锁 root 用户的 passwd 命令的命令选项。

sudo passwd -u root 

现在您可以通过下面的 su 命令登录到 root 帐户,并使用 whoami 命令验证用户。

su root  whoami 

在 Linux 中禁用 root 登录

我们在此处列出的大多数方法几乎都适用于每个 Linux 发行版。 让我们一一介绍所有可用的方法。

1. 在 Linux 中使用 passwd 命令禁用 Root 登录

要禁用 root 登录,您可以使用 passwd 命令,如下所示:

sudo passwd -l root 

这将锁定 root 用户的密码,在设置新密码之前,您将无法使用其密码访问 root 帐户。

2. 使用 usermod 命令禁用 Root 登录

与上面的 passwd 命令类似,我们可以使用 usermod 命令使用 -L 命令选项锁定帐户。

sudo usermod -L root 

结果与使用 passwd 命令的结果相同。

3. 将登录 Shell 更改为 /usr/sbin/nologin

在这种情况下,我们要做的是将默认的 root shell 更改为 nologin 而不是 bash. 所以每当有人即使使用正确的密码登录到root帐户时,该帐户也会自动退出shell。

设置 nologin shell 的两种方法:

  • 手动编辑 /etc/passwd 文件
  • 使用 usermod 命令设置默认 shell

我们建议使用 usermod 命令,因为它比手动编辑文件更简洁,但我们仍将在此处演示这两种方法。

手动编辑 /etc/passwd 文件:

sudo nano /etc/passwd 
编辑密码文件

现在您可以更改显示“/bin/”的部分bash” 与 root 用户相邻,指向“/usr/sbin/nologin”。

使用 usermod 命令设置默认 shell

现在让我们来看看更简洁的方法来禁用 root 登录。 这将通过使用 usermod 命令和 -s 选项来设置默认 shell 来完成。

sudo usermod -s /usr/sbin/nologin root 

完成此操作后,将设置默认 shell,您可以通过执行 猫 /etc/passwd.

根用户登录

伟大的! 现在您知道 root 用户无法登录任何终端。 如果您在此之后尝试登录,您将收到以下消息。

根帐户已禁用根帐户已禁用

4. 在 Linux 中禁用 SSH 的 Root 登录

如果您不想禁用整个操作系统的 root 登录,而只想禁用通过 SSH 服务器的访问,该怎么办? 好吧,您可以通过简单地编辑 /etc/ssh/sshd_config 文件并从那里禁用root登录。

默认情况下,它设置为禁止密码,这意味着您无法使用密码登录帐户,只能使用密钥。 我们可以编辑这个说 完全禁止 SSH 用户的 root 访问。

使用以下命令编辑 SSH 配置文件:

sudo nano /etc/ssh/sshd_config 
允许root登录SSH允许root登录SSH

并找到说 PermitRootLogin. 现在您可以取消注释同一行并对其进行编辑,或者使用所需选项添加另一行。 就我而言,我只是在新行上写了同样的东西。

结论

嗯,就是这样。 这些只是您可以使用的在 Linux 中禁用 root 登录的一些快速简便的方法。 在大多数情况下,前两种方法将满足您的所有目的。 但是,如果您在特定情况下需要帮助,请在下方发表评论,我们可以更好地帮助您。