如何给Linux用户sudo访问权限?

时间:2012-06-19 05:23:42

标签: linux sudo

我正在尝试为其中一个用户提供sudo访问权限。我应该在终端输入什么内容?

3 个答案:

答案 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是您的论坛(例如,adminwheel),username是用户名(例如john)。

答案 2 :(得分:-4)

手动或使用visudo应用程序编辑/etc/sudoers文件。 请记住:系统从顶部到底部读取/etc/sudoers文件,因此您可以通过在下面放置下一个来覆盖特定设置。 所以为了安全起见 - 在底部定义您的访问设置。