/etc/sudoers
中,我看到以下内容:# Allow members of group sudo to execute any command after they have
# provided their password
# (Note that later entries override this, so you might need to move
# it further down)
%sudo ALL=(ALL) ALL
那么如何将用户添加到该
sudo
组?#1 楼
sudo usermod -aG sudo <username>
a
非常重要。没有它,它们将从所有其他组中删除。您将需要重新启动外壳程序/终端或注销然后重新登录才能生效。 另请参见:
如何使用命令行将新用户添加为sudoer?
评论
我按照您的建议做了,但是终端告诉我bash:sudo:找不到命令,为什么?
– Teifi
13年1月21日在12:23
@Teifi,这意味着您可能未安装sudo,或者由于某些奇怪的原因,它不在您的路径中。当您运行哪个sudo时会发生什么?
–n0pe
13年1月22日在16:33
新的终端机还不够。最终由于其他原因重启,现在可以正常工作了。可能注销/登录。
–deed02392
2014年7月8日15:35
我知道一个用于附加,但是我认为将附加作为默认行为会更有用。创建别名很容易,因此这是拥有groupadd组然后追加它的方法。我今天不带-a命令执行一次,因为我不记得-a参数了。
– m3nda
17年4月12日在18:59
尽管这是一个Ubuntu论坛,但对于CentOS,我必须执行sudo usermod -aG sudo <用户名>。因为没有找到我的简单方法。
– akki
19年5月25日在14:03
#2 楼
您可以为其使用用户管理GUI(在同一位置创建用户),也可以在命令行中使用sudo adduser <username> sudo
。评论
RootSudo上的ubuntu文档中也提到了这一点,尽管它们引用的是admin组而不是sudo组。
–icc97
2012年5月5日在8:27
+1:这是将用户添加到群组中最容易记住,最简单和直观的方式!
– Andrea Corbellini
2012-12-28 17:14
这给了我一个错误,说用法:adduser [选项]登录\ n adduser -D \ n adduser -D [选项] \ n
– akki
19年5月25日在13:58
#3 楼
您也可以使用图形界面。单击面板右上方的齿轮,然后选择“系统设置”,然后选择“用户帐户”。您需要单击小的解锁按钮才能在此窗口中进行编辑。然后单击该人的帐户,然后为“帐户类型”选择适当的下拉菜单
评论
我有Ubuntu 10.10,但是我的图形界面已被锁定。它打开,但是当我按下按钮时什么也没发生。我想是与特权有关的东西(实际上我很傻)。我该如何解决这个问题?
– Linello
13年1月18日在9:49
您是否点击了“解锁”按钮?
– daboross
2013年6月10日下午2:22
漂亮的动画!我想做这样的gif动画来显示我的Web应用程序的新功能吗?我正在使用Lubuntu 16.04 ...
– Stephane
17年9月21日在14:41
#4 楼
如果将Unity用作桌面环境,这真的很简单。如果已经创建了用户,则可以将其从Standard更改为Administrator,否则请确保在创建新用户时选择了Administrator一个。
在尝试更改它之前,请不要忘记解锁
评论
看起来很酷的GIF动画! +1您是如何做到的?将问题移到这里。
– hhh
2012-12-30在0:58
askubuntu.com/a/123515/25863
–布鲁诺·佩雷拉(Bruno Pereira)
2012年12月30日下午4:58
#5 楼
sudo gpasswd -a $USER sudo
#6 楼
我参加聚会很晚,但是这个答案可能会对在Docker容器内使用Ubuntu的人有所帮助。我最近基于Ubuntu 16.04.1。创建了一个Docker容器。
默认情况下,Docker Ubuntu映像是Ubuntu的精简版本,它没有包括
sudo
在内的绝大多数常用工具。此外,默认情况下,用户已登录Docker容器因此,我使用
docker run
命令启动了容器,并安装了'sudo'软件包:root@default:/# apt-get install sudo
运行命令
adduser myuser sudo
报告错误adduser: The user 'myuser' does not exist.
。阅读此答案后,我首先运行命令创建用户:
root@default:/# adduser myuser
,然后运行以下命令:
root@default:/# adduser myuser sudo
Adding user `myuser' to group `sudo' ...
Adding user myuser to group sudo
Done.
用户myuser已成功添加到sudo组。
#7 楼
使用usermod。使用以下命令添加sudo权限:usermod -aG sudo <your username>
请注意,您必须使用root帐户来执行此操作,或使用具有sudo权限的另一个帐户。如果由于某种原因无法访问另一个帐户并且不知道root密码,则需要Ubuntu(或另一个Linux发行版)实时CD,然后需要将chroot插入Ubuntu文件系统,然后从chroot内部运行上述命令。
#8 楼
这是我使用ubuntu:18.04
的基本映像设置非root用户的方法:RUN \
groupadd -g 999 foo && useradd -u 999 -g foo -G sudo -m -s /bin/bash foo && \
sed -i /etc/sudoers -re 's/^%sudo.*/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g' && \
sed -i /etc/sudoers -re 's/^root.*/root ALL=(ALL:ALL) NOPASSWD: ALL/g' && \
sed -i /etc/sudoers -re 's/^#includedir.*/## **Removed the include directive** ##"/g' && \
echo "foo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
echo "Customized the sudoers file for passwordless access to the foo user!" && \
echo "foo user:"; su - foo -c id
上面的代码会发生什么:
创建用户和组
foo
。将用户
foo
添加到foo
和sudo
组。将
uid
和gid
设置为999
的值。首页目录设置为
/home/foo
。 shell设置为
/bin/bash
。sed
命令对/etc/sudoers
文件进行内联更新,以允许foo
和root
用户无密码访问sudo
组。sed
命令禁用#includedir
指令将允许子目录中的任何文件覆盖这些内联更新。
评论
还有其他人试图在ubuntu 17上使sudo在没有密码的情况下工作吗?@AdamF看看这里。下次问一个新问题是否需要更快的答复。 ;-)
咖啡研磨机:您会介意将接受程度更改为最高评价的答案,因为这是一种更好的方法? (完全没有密码)