添加另一个具有不同 uid 和名称的 root

添加另一个具有不同 uid 和名称的 root

我知道 root 拥有完全的管理权限,这要归功于内核中的某些内容为uid0 提供了这些权限。
我认为内核中也定义了名称“root”,对吗?

而且home( /root)的位置也是在内核中定义的吗?
无论如何我可以在文件中设置它/etc/passwd

如何添加另一个具有不同uid名称的根?
我们将其称为 toor,就像在某些 UNIX 操作系统中一样,但 toor 只是另一个带有uid0 的用户。

这个 toor 应该uid至少有 1000 个标准用户,因为我想用它作为我的帐户。

我想了一下,我认为让用户拥有完全的管理权限是个好主意。
如果我设置相同uid就像使用 root 一样。

有些服务将 root 视为系统用户,有些服务将其用于某些进程,因此我想这样做。
并不是说我有问题,但看起来更好。
此外,某些应用程序具有 root 检查功能,如果您正在使用 root,则必须将其删除。

我使用我的操作系统 Debian 10 提供的内核:

uname -r
5.10.0-0.bpo.5-amd64

答案1

最好设置一个具有管理功能的用户,该用户可以通过该sudo机制执行管理功能。这可以避免您需要输入 root 密码。

默认情况下,Debian 向安装过程中创建的第一个用户提供管理功能。但是,如果不提供必要的身份验证,您就无法使用“root2”用户 - 因此系统服务仍会经常使用 root。

UID 和用户之间的链接可以在 /etc/passwd 中找到。根总是UID 为零。

5.10.0-0.bpo.5-amd64 不是标准的 Debian 10 内核 - 它是向后移植的。但是,我使用相同的内核没有任何问题。 AFAIK Buster 使用 4.19 内核。

答案2

简短的回答是,你不能。 “root”这个名字大多是任意的……重要的是 UID 0。您可以在 /etc/passwd 中分配任意数量的 UID 0 用户,当他们登录时,他们将与 root 相同。任何其他 UID 在作为 UID 0 执行其他进程之前都不会成为 root。

在内核操作之外,没有 UID 0 就无法获得 root 访问权限。 sudo 只是以 root 身份执行进程,因为它是一个 suid 程序。 sudo 没有什么特别之处,除了它使用 sudoers 来尝试和管理它自己对其可执行文件的 suid 位的使用。

sudoers 绝对拥有完整的管理权限,如 sudoers 文件中定义和限制的那样。 sudoers ALL 放弃了王国。

你走错了路,让事情变得比需要的更加复杂。您正在考虑将您的个人帐户设置为某种根等效帐户。这是错误的方法,这正是 sudo 和 sudoers 需要处理的。如果您想使用名为 toor 的帐户进行 root 访问,则只需在 sudoers 中添加一条规则,允许 toor 运行“sudo su”,当您使用 sudo 时,您将获得完全 root 权限。或者更好的是,如果您是唯一的管理员,只需使用 su 成为 root 并忘记所有委托和等效混乱。

相关内容