添加用户执行命令的权限不起作用

添加用户执行命令的权限不起作用

我想添加一个可以执行的用户“添加用户”“更改密码”命令。我把在 Stack Exchange 答案中找到的配置添加到 visudo 中,但它不起作用。

这是我的/etc/sudoers文件:

# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification
Cmnd_Alias USER_COMMANDS = /usr/sbin/adduser, /usr/sbin/chpasswd

# User privilege specification
root    ALL=(ALL:ALL) ALL
sano    ALL=(ALL) NOPASSWD: USER_COMMANDS

# 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

有人知道这是为什么吗?它无论如何都会要求我输入密码,否则我会得到:

adduser:只有 root 可以向系统添加用户或组。

答案1

当没有相关配置发生时/etc/sudoers.d/*,可以安全地假设用户佐野也在群里须藤。后面这一行将覆盖第一行,从而覆盖 NOPASSWD 标签。

%sudo   ALL=(ALL:ALL) ALL

因此用户 sano 必须为每个命令输入密码。

参见ArchLinux 维基

笔记:最自定义的选项应放在文件末尾,因为后面的行会覆盖前面的行。特别是,%wheel如果您的用户属于此组,则此行应放在该行之后。

相关内容