我有一个服务(kado-demo.service
),普通用户(kado
)应该能够无需输入任何密码即可重新启动。
我创建/etc/sudoers.d/user_restart
并添加了
kado ALL=NOPASSWD: /bin/systemctl restart kado-demo.service
权限:
-r--r----- 1 root root 585 Mar 5 10:47 user_restart
作为用户 k,我现在应该能够执行给定的命令,但是发生了以下情况:
/bin/systemctl restart kado-demo.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to restart 'kado-demo.service'.
Multiple identities can be used for authentication:
(...)
这与我添加文件之前的结果相同。
包含/etc/sudoers
#includedir /etc/sudoers.d
user_restart
当我直接将文件内容添加到时,我甚至得到了相同的结果/etc/sudoers
。
我没什么主意了……
答案1
为了sudoers
使其生效,您实际上必须使用sudo
。:) 执行:
sudo systemctl restart kado-demo.service
而且它不会要求输入密码。
如果你不使用sudo
,systemctl
则恢复使用波尔基特进行授权。
答案2
让任何常规用户start
或restart
服务:
sudo visudo
userB ALL=NOPASSWD: /bin/systemctl restart serviceA.service, /bin/systemctl stop serviceA.service, /bin/systemctl start serviceA.service, /bin/systemctl status serviceA.service