我正在尝试配置 sudo 以允许所有用户无需输入密码即可重新启动 apache。
抛开安全问题,为什么这不起作用?
我在 /etc/sudoers 中添加了以下行:%admin ALL=NOPASSWD: /usr/sbin/apache2ctl
$sudo -l
User aidan may run the following commands on this host:
(root) NOPASSWD: /usr/sbin/apache2ctl
(ALL) ALL
$sudo /usr/sbin/apache2ctl
[sudo] password for aidan:
谢谢你的帮助。
答案1
如果你把%admin ALL=NOPASSWD: /usr/sbin/apache2ctl
后ALL 规则,您的目标是让 admin 组的用户在执行除 apache2ctl 命令之外的所有操作时都需要 sudo 密码。
然而,根据你所说的,你可能想要的是可以启动和停止 apache 的用户组,比如 apachestart。然后:
%apachestart ALL= NOPASSWD: /usr/sbin/apache2ctl
我认为您可以通过将 %apachestart 替换为 ALL 来真正实现所有人的参与,但我更不建议这样做。