创建具有root权限的另一个用户帐户

4
如何在Linux系统(例如Ubuntu 13.04)上创建另一个名称的root帐户。 如果我创建一个普通用户帐户并在/etc/passwd中将其UID设置为0,则会与root(也具有UID 0)发生冲突。所以我给了他gid = 0(root组)。但没有起作用。 请提供任何有效的解决方案。我还将此用户添加到sudoers文件中。

“它会冲突”是什么意思?哪里出了问题?在 UNIX 系统中,使用相同 uid 添加两个用户在历史上一直有效,并且经常用于创建“备用” root 帐户。虽然我最近没有尝试过,但听到这样的说法我感到很惊讶,因为这应该是可行的。 - Celada
3个回答

2

每个Unix系统应该只有一个root用户。Unix系统是建立在这个规则之上的。

如果你想提升某个用户的权限,该用户应该使用sudo命令。

$ sudo <command> <options>

或者通过以root用户身份登录来允许临时超级用户(请谨慎使用)

$ su

人们应该手动编辑sudo配置文件以指定哪个用户可以做什么:

$ sudo visudo

您可以逐个添加用户或一组用户。

另一种方法是将用户逐个添加到sudo组中。

$ sudo adduser <username> sudo

您说您已更新了sudoers列表。那么您的用户应该能够运行sudo。如果不能,您的配置可能有误。

记得在修改当前用户的sudoers权限后始终注销并重新登录。否则您将看不到任何变化。

祝好, Arthur


4
未回答问题。 - DoTheEvo
如果不同的用户需要SSH root权限以及不同的shell、home和.ssh/authorized_keys,那么https://unix.stackexchange.com/questions/92123/rsync-all-files-of-remote-machine-over-ssh-without-root-user#comment170839_92397支持使用不同的root账户。 - Derek Mahar
这真的没有回答问题。我知道有第二个根帐户的一个原因:很容易搞砸sudoers文件。这会导致sudo无法工作。如果您没有原始root的密码(例如,由于受到托管公司的保护),那么第二个root帐户就是救命稻草。 - fjalvingh

2

我认为您正在寻找一个与root用户相同的新用户。请按照以下步骤操作:

假设您想创建一个名为admin的新用户,并赋予其root权限。请以root用户身份登录Linux机器。

@ useradd admin

@ vi /etc/passwd

根据以下屏幕截图,将XXX更改为0,即从admin:x:506:512::/home/admin:/bin/bash更改为admin:x:0:0::/home/admin:/bin/bash,在Linux中创建带有root权限的用户。

注销root用户并再次使用admin用户登录。

我无法在此处格式化此帖子并上传图像。我在此链接中也有解决方案。

http://www.kriblog.com/linux/how-to-create-a-user-in-linux-with-root-privileges.html


我不建议手动编辑“/etc/passwd”。在这里犯一个简单的错误可能会导致你无法登录系统 - Balmipour

0

举个例子,我们想要添加一个拥有 sudo 权限的用户 john

只需按照以下步骤即可

$ sudo useradd -ou 0 -g 0 john
$ sudo passwd john

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接