如何授予Linux用户sudo访问权限?
我正在尝试将sudo访问权限授予我的一个用户。我应该在终端中键入什么?您需要运行如何授予Linux用户sudo访问权限?,linux,sudo,Linux,Sudo,我正在尝试将sudo访问权限授予我的一个用户。我应该在终端中键入什么?您需要运行visudo并在它打开的编辑器中写入: igor ALL=(ALL) ALL 该行将所有权限授予用户igor 如果希望仅允许运行某些命令,则需要在以下行中列出它们: igor ALL=(ALL) /bin/kill, /bin/ps 将执行您需要的操作,尽管通常您不会向sudoers添加特定的用户名。相反,您有一个sudoers组,只需在需要时将您的用户添加到该组中即可。这样,在向用户授予sudo权限
visudo
并在它打开的编辑器中写入:
igor ALL=(ALL) ALL
该行将所有权限授予用户igor
如果希望仅允许运行某些命令,则需要在以下行中列出它们:
igor ALL=(ALL) /bin/kill, /bin/ps
将执行您需要的操作,尽管通常您不会向sudoers
添加特定的用户名。相反,您有一个sudoers组,只需在需要时将您的用户添加到该组中即可。这样,在向用户授予sudo
权限时,不需要多次使用visudo
如果您使用的是Ubuntu,那么该组很可能已经设置好,并被称为admin
:
$ sudo cat /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
在其他发行版上,如Arch和其他一些发行版,它通常被称为wheel
,您可能需要设置它:
要在控制盘组中的用户在命令前面加上“sudo”时授予他们完全root权限,请取消注释以下行:
%轮子全部=(全部)全部
还要注意,在大多数系统上,visudo
将读取编辑器
环境变量,或默认使用vi
。因此,您可以尝试执行EDITOR=vim visudo
以使用vim
作为编辑器
要将用户添加到您应以root用户身份运行的组中,请执行以下操作:
其中,
groupname
是您的组(例如,admin
或wheel
),而username
是用户名(例如,john
)。手动或使用visudo应用程序编辑/etc/sudoers
文件。
请记住:系统从上到下读取/etc/sudoers
文件,因此您可以通过将下一个设置放在下面来覆盖特定设置。
为了安全起见,请在底部定义访问设置。如果手动编辑,可能会损坏它并损坏sudo访问。没有理由不使用
visudo
。同意上一条评论。此外,考虑添加命令作为例子。如果执行一个以上的原因是什么,但是用户(在本例中<代码> IGOR )仍然没有完整的SUDO访问(即,可以发布<代码> SUDODLS >而不是<代码> SUDO-MAM-A /代码>?@ PUK取决于您在/ETC/Sudoes中列出的命令;当您编写ALL
时,用户可以运行所有命令。这个问题显然对很多人都有帮助,你应该考虑重新打开它。如果你想重新打开这个问题,你应该提供额外的细节,根据帮助中心的规则把它作为一个有效的。这个问题应该被移动到正确的站点,而不是关闭。
# 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
# usermod -a -G groupname username