我正在尝试为其中一个用户提供sudo访问权限。我应该在终端输入什么内容?
答案 0 :(得分:66)
您需要运行visudo
并在其打开的编辑器中写下:
igor ALL=(ALL) ALL
该行向用户igor
授予所有权限。
如果您希望许可仅运行某些命令,则需要在行中列出它们:
igor ALL=(ALL) /bin/kill, /bin/ps
答案 1 :(得分:57)
This answer会执行您需要的操作,但通常您不会将特定用户名添加到sudoers
。相反,您有一个组的sudoers,只需在需要时将您的用户添加到该组。这样,在向用户提供visudo
权限时,您不需要多次使用sudo
。
如果您使用的是Ubuntu,该群组很可能已经设置并调用admin
:
$ sudo cat /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
...
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
在其他发行版中,例如Arch和其他发行版,它通常称为wheel
,您可能需要对其进行设置:Arch Wiki
要在具有“sudo”的命令之前为wheel组中的用户提供完全root权限,请取消注释以下行: %wheel ALL =(ALL)ALL
另请注意,在大多数系统上visudo
将读取EDITOR
环境变量或默认使用vi
。因此,您可以尝试EDITOR=vim visudo
使用vim
作为编辑器。
要将用户添加到组中,您应该运行(以root用户身份):
# usermod -a -G groupname username
其中groupname
是您的论坛(例如,admin
或wheel
),username
是用户名(例如john
)。
答案 2 :(得分:-4)
手动或使用visudo应用程序编辑/etc/sudoers
文件。
请记住:系统从顶部到底部读取/etc/sudoers
文件,因此您可以通过在下面放置下一个来覆盖特定设置。
所以为了安全起见 - 在底部定义您的访问设置。