如何在不使用 sudo 的情况下授予其他用户 root 权限

如何在不使用 sudo 的情况下授予其他用户 root 权限

您想在 Ubuntu 中创建一个与 root 相同的新用户,可以使用 SSH 密钥登录,唯一的区别是用户名。(不使用 sudo)

我知道有风险,但它在我的私人网络中,经过了严格的身份验证。谢谢☺️

答案1

您实际上可以这样做,尽管我想象不出您想要这样做的任何理由。您可以创建一个与 具有相同用户 ID (UID) 的新用户root。请注意,这实际上不是一个“新”用户,它只是同一用户的不同用户名。但是,您将能够使用此名称而不是 root 登录。

首先,创建一个新用户并将其 UID 设置为0root 帐户的 UID:

useradd -d /fool -g root -m -N -o -u 0 -s /bin/bash fool 

使用的选项是:

  • -d /fool:设置该用户的$HOME/fool
  • -g root:设置该用户的默认组为root
  • -m:如果不存在,则创建用户的主目录。
  • -N:不创建与用户同名的组,只是将用户添加到指定的组中-g
  • -o:允许创建具有与另一个现有用户相同的 UID 的用户。
  • -u 0:设置该用户的UID为0(与 相同root)。
  • -s /bin/bash:设置用户默认登录shell为bash
  • fool:用户名将为fool

运行此命令后,您将能够以以下身份登录fool

terdon@ub20:~$ sudo -iu fool
root@ub20:~# whoami
root
root@ub20:~# cd
root@ub20:~# pwd
/fool

如您所见,我已以 身份登录fool,但whoami(基于 UID)将我视为root,而cd将带我到/fool。我拥有用户的所有权限root,因为我用户root,但我的用户名和主目录不同。现在您可以继续允许通过 ssh 进行 root 访问(风险自负)并以 而非 的身份登录foolroot这都是表面文章,您实际上仍以 的身份登录root,但这似乎正是您想要的。

答案2

从安全角度来看,您想要做的事情显然还没有完成,而且强烈建议不要这样做。

不过,在 Linux 中还是有可能的不同的用户名代表同一个用户。因此,如果您想设置一个可以完全以 root 身份运行的用户名,原则上可以为 root 用户设置不同的登录名。默认以 root 身份登录是极其不明智的原因之一,就是人为错误很容易导致整个系统崩溃。

相关内容