如何使用命令行将新用户添加为sudoer?
使用adduser
添加用户后,除非我注销然后再次登录,否则无法通过系统>管理>用户和组查看。 这是正常的吗?
另外,我可以将新添加的用户设置为sudo
er,还是只在添加后才需要更改? 我怎么能通过shell做到这一点?
最后,我可以删除在初始安装Ubuntu时创建的原始用户,还是该用户以某种方式’特殊’?
只需将用户添加到sudo
组 :
sudo adduser sudo
更改将在用户下次登录时生效。
这是有效的,因为/etc/sudoers
已预先配置为向该组的所有成员授予权限(您不必对此进行任何更改):
# Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL
只要您可以访问与“原始”用户位于同一组中的用户,就可以删除旧用户。
实际上,您的新用户也应该是其他组。 如果在“用户设置”中将用户的“帐户类型”设置为“管理员”,则它将至少放在所有这些组中:
adm sudo lpadmin sambashare
由于您的系统配置可能会有所不同,我建议您查看groups
的输出,以查看正常使用的组。
我做到了
sudo usermod -a -G sudo
按此处推荐。
打开sudoers文件: sudo visudo
将在$EDITOR
定义的编辑器中打开/etc/sudoers
文件(可能是GNU nano – 设置变量,如果它不是你想要的,例如export EDITOR="nano"
并再次尝试sudo visudo
) 。
将以下行添加到文件末尾。
username ALL=(ALL) ALL # Change the user name before you issue the commands
然后使用Ctrl + O执行WriteOut。 编辑器会询问您要写入的文件名。 默认值是一个临时文件, visudo
在保存到实际的sudoers
文件之前检查语法错误。 按Enter接受它。 使用Ctrl + X退出nano编辑器。
完成!
我必须补充一点,我确信很多人都不明白:
一旦你已经完成了adduser "username"
,你仍然可以回来做一个adduser "username" sudo
,然后它会正确地将该用户添加到该组中。
它实际上不会像sudo adduser username sudo
一样第一次工作。 它会给你一个错误。 总而言之,您必须首先创建用户帐户,然后才能将其添加到组中。
默认情况下,组admin
所有成员都在Ubuntu中允许使用sudo,因此最简单的方法是将用户帐户添加到admin
组。
如果您不想为用户帐户提供完全的root访问权限,则需要使用visudo编辑/ etc / sudoer文件(它确保文件中没有任何语法错误并完全失去sudofunction)您指定此用户(或新组)可以作为root执行的命令。
sudoer手册将为您提供更多相关信息。 您可以指定特定用户/组允许以root身份执行的命令。
在CentOS上,我是根本做的
echo ' username ALL=(ALL) ALL' >> /etc/sudoers
以下代码段授予对用户名的root访问权限,而无需以root身份显式登录。
确保首先将用户添加到sudo组。 在Ubuntu 16.04.1 LTS上测试。
sudo adduser username sudo sudo sh -c "echo 'username ALL=NOPASSWD: ALL' >> /etc/sudoers"