我尝试创建一个 root2 用户,该用户应具有与 root 相同的权限,方法是
useradd -g root root2
passwd root2
usermod -G root root2
usermod -aG wheel root2
但root2仍然无法执行cat /etc/shadow之类的操作。
我如何创建这样的用户?
答案1
你不能。root
是 uid 为 0 的特殊用户。请改用sudo
。
答案2
前提:使用sudo
(如接受的答案所建议的)可能是解决您问题的正确方法。
话虽如此,如果你真的需要类似第二个root
帐户的东西,你可以创建一个别名到系统root
帐户。
为此,请按照下列步骤操作:
- 打开
/etc/passwd
- 找到
root
帐户行(通常是第一行)。它将类似于root:x:0:0:root:/root:/bin/bash
- 复制/粘贴并更改
root
其中第一次出现的内容root2
(即:在中更改root2:x:0:0:root:/root:/bin/bash
) - 保存更改并退出文本编辑器
- 发出
passwd root2
并输入新密码
注意:如果愿意,您可以/etc/passwd
通过用以下命令替换步骤 1-3 来避免直接编辑文件:(有关所需选项的更多信息,useradd -o -u 0 -g 0 -N -d /root/ -M root2
请参阅)useradd --help
此时,您不仅可以使用原root
账户(原密码)登录,还可以使用新root2
账户(新的密码)。
无论如何,请记住,它是现有用户的别名,而不是一个全新的用户。这意味着,以该身份登录时创建的任何文件都root2
具有与原始系统root
帐户(具有0
uid 和 gid)完全相同的数字 oid/gid。
答案3
这曾经很常见(在sudo
缓解需求之前)。
这托尔用户(是的,就是“root”的反向拼写)是最常见的备用 root 用户,与 root 共享特殊的 UID 零。另请参阅此超级用户问题:根帐户的 UID/GID 是否始终为 0?
useradd --non-unique
这就是( )的目的useradd -o
。我相信你想要的是类似这样的东西:
useradd --non-unique --uid 0 root2
您可以为该帐户赋予系统上尚不存在的任何名称。
我不推荐这样做。 最好只保留一个真正的 root 用户,用于紧急控制台访问。所有管理员都应该使用 sudo。特别是远程管理员(最好禁止 root 通过 ssh 或其他远程服务进行连接,尤其是密码登录)。
答案4
安装 sudo:
# apt install sudo
创建用户并设置密码:
# useradd myuser
# passwd myuser
Enter new UNIX password: 123
Retype new UNIX password: 123
将用户添加到 sudo 配置:
# visudo
...
myuser ALL=(ALL:ALL) ALL
以 myuser 身份登录并获取 root 权限:
# su myuser
$ sudo apt install vim
[sudo] password for myuser: 123
...
The following NEW packages will be installed:
libgpm2 libpython2.7 libpython2.7-minimal libpython2.7-stdlib vim
vim-runtime