我想添加新的用户,并有/新的用户拥有所有的根访问权限,我该怎么做?
我做了sudo adduser --system testuser
但是这不能按我的预期工作。
感谢帮助。
实际上有三种方法可以做到这一点:正确的方式,错误的方式和丑陋的方式。
首先,创build一个正常的用户帐户。
adduser username
然后select以下之一:
在/etc/sudoers
为wheel
组创buildsudo
条目,如下所示:
## Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL
或者对于“现代”版本:
## Allows people in group sudoers to run all commands %sudoers ALL=(ALL) ALL
然后将用户添加到wheel
组。 添加和删除具有pipe理权限的用户现在变成记住将它们添加到轮子的function,而不是在sudo中创build条目。 关于使用wheel的好处在于,您可以将此机制扩展到支持组的其他身份validationscheme,即winbind / Active Directory,并在此过程中获得好处。 您可以通过将轮子映射到具有pipe理权限的身份validation模式中的组来完成此操作。
请注意,某些分配使用不同的pipe理帐户。 轮子是一个“传统”的方法,但是你可能会遇到admin
, admin
和其他组帐户,以达到相同的目的。
后续编辑:
我必须指出Bart Silverstrim指出Ubuntu使用admin
作为这个组的用途。 他首先得到了这个,尽pipe当时我没有注意到Ubuntu标签。 同样,这一切都取决于你正在使用的分配。
为有问题的用户帐户创build一个sudo条目,然后给出完整的访问权限。 再次,你在/etc/sudoers
创build这样的条目:
## Allows just user "username" to run all commands as root username ALL=(ALL) ALL
添加:##对于Ubuntu版本:用户名ALL =(ALL:ALL)
如果您只有一个(或两个)正常帐户,这非常棒。 当您在多个(地球物理)站点拥有一百个帐户并且必须不断维护sudo文件时,这是丑陋的。
您可以编辑/etc/passwd
文件并将用户帐户ID从任何数字更改为0
。 没错, 零 。
username:x:0:502::/home/username:/bin/bash
看到第三个条目为零? 当您login到该帐户时,出于所有有效目的,您都是root
。 我不推荐这个。 如果你不记得你是谁,你可以创build各种破坏,当你开始创build和触摸文件作为root
。 您也可以将您的用户名添加到root
组。 这对文件访问具有相同的效果,但会产生其他问题; 程序会注意到你不是用户 root
并拒绝运行,但你将获得对属于组 root
文件的访问root
。
如果你这样做,你使用vipw
而不是用vi
编辑,对不对? (或任何你最喜欢的文本编辑器)毕竟,在这个文件中的一个错字可以locking你的系统 – 这意味着物理访问有问题的计算机修复光盘…
我已经使用了这个多年,这是在AskUbuntu上添加一个sudoer的#1build议的方式 :
adduser existinguser sudo
比编辑文件简单得多,并且易于在无人参与安装的情况下引入shell脚本。
如果你想创build用户并授予sudo权限,你可以像这样做一行:
useradd newuser -m -G sudo passwd newuser
-m
创build一个主目录, -G
指定一个辅助组。
和这是100%:
adduser -u 0 -g root -G root -s /bin/bash -r HackerS2H -p 123456
并连接putty和ip服务器
那么你可以用adduser来创build用户,请参阅man adduser。
之后,您可以将其添加到特权组,如根,或轮。 但我认为最有可能的方式是使用sudo。
除了Avery Payne的回答:在Ubuntu中,您可能需要如下所示:
%sudo ALL=(ALL:ALL) ALL
而不是这样:
%sudo ALL=(ALL) ALL
“丑陋和混乱”的方式是编辑/ etc / passwd使新用户的UID = 0和GID = 0。 但这造成了很多安全风险 。 你知道,如果他也是root,他可能会禁用你的accont,更改你的密码,让你成为“标准用户”…对吧? 那么为什么不给他自己的账户?
你可以研究suid( http://en.wikipedia.org/wiki/Setuid )的工作方式,如果你想授予他一些命令的root权限。
你可以执行:
#useradd -m -g root alex
它创build一个用户Alex与一个属于根组的主目录