57

我正在尝试向我的一位用户授予 sudo 访问权限。我应该在终端中输入什么?

4

3 回答 3

69

您需要运行visudo并在它打开的编辑器中写入:

igor    ALL=(ALL) ALL

该行将所有权限授予 user igor

如果您只想允许运行某些命令,则需要在该行中列出它们:

igor    ALL=(ALL) /bin/kill, /bin/ps
于 2012-06-19T05:25:48.533 回答
58

此答案将满足您的需求,尽管通常您不会将特定用户名添加到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

要在 wheel 组中的用户在命令前使用“sudo”时授予他们完全的 root 权限,请取消注释以下行:%wheel ALL=(ALL) ALL

另请注意,在大多数系统visudo上将读取EDITOR环境变量或默认使用vi. 所以你可以尝试做为编辑器EDITOR=vim visudo使用。vim

要将用户添加到组中,您应该运行(以 root 身份):

# usermod -a -G groupname username

groupname您的组在哪里(例如,adminwheel),并且username是用户名(例如,john)。

于 2012-06-19T05:54:13.260 回答
-4

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

于 2012-06-19T09:24:15.150 回答