通过将用户设置为 UID=0 GID=0 来授予用户 root 权限是否有任何问题?

00p*_*eus 2 security users root accounts

我和一个朋友正在管理许多虚拟机,每个虚拟机都专用于整个系统中的某些任务。当我们需要管理它们时,我们通常以 root 身份登录,因为我们登录到机器的唯一时间是我们需要在其中执行管理任务的时候。我们通常不使用 sudo,因为我们执行的每个命令通常都是 sudo 命令。

我们更愿意在这些机器上保持我们的帐户分开,给我们单独的 .bash_history,查看另一个上次登录的时间等。为此,我们需要两个具有完全 root 权限的帐户。

一种方法是将我们的普通用户帐户更改为 UID=0 GID=0,即与 root 相同。问题是:有几个用户帐户具有相同的 UID 和 GID(特别是与 root 相同)是否有任何问题(即意外或非明显的效果)?

PS 我在超级用户那里问过这个问题,但这只为我赢得了风滚草徽章,所以我在这里尝试。

Rui*_*iro 5

显然,您可以以“root”身份完成(大部分)任务,因为重要的是拥有正确的 id 和 gid;但是,以 root 身份拥有两个新帐户将不起作用,因为您希望区分您和您朋友的操作/登录。

通常系统或其他软件会混淆,并会显示一个用户具有另一个用户的名称、一个完全不同的用户,甚至是根名称。(例如,系统会因您的目的而略微混淆,具有相同 id/gid 的三个用户);您甚至可能正在登录,并想知道为什么系统会说您有另一个登录名。

我建议你们都使用属于 sudo 组的常规帐户,并使用 sudo 进行一些纪律,避免滥用sudo su作为常规 root 的权限;正如您所提到的,将所有 root 命令用作 sudo 命令的优点是,忽略轻​​微的不便,您已经根据正确的用户进行了登录。

从安全的角度来看,root 用户通常有几种限制,系统可能不会将这些限制强加给具有相同 id 的其他用户。一个很好的例子可能是默认情况下 sshd 不允许远程 root 登录。还会有其他人。

到此为止。Unix 中的许多东西在历史上都是假设主要 root 具有 id/gid 0 的。试图以非常规的方式解决这个问题,在此过程中会带来一些惊喜。

请参阅如何将自己添加到 sudoers 列表?以及如何在没有密码提示的情况下以 root 身份运行特定程序?