我正在尝试向我的一位用户授予 sudo 访问权限。我应该在终端中输入什么?
3 回答
您需要运行visudo
并在它打开的编辑器中写入:
igor ALL=(ALL) ALL
该行将所有权限授予 user igor
。
如果您只想允许运行某些命令,则需要在该行中列出它们:
igor ALL=(ALL) /bin/kill, /bin/ps
此答案将满足您的需求,尽管通常您不会将特定用户名添加到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
您的组在哪里(例如,admin
或wheel
),并且username
是用户名(例如,john
)。
/etc/sudoers
手动或使用 visudo 应用程序编辑文件。/etc/sudoers
请记住:系统从上到下读取文件,因此您可以通过将下一个设置放在下面来覆盖特定设置。所以为了安全起见 - 在底部定义您的访问设置。