让普通用户使用 /etc/sudoers 重启服务

让普通用户使用 /etc/sudoers 重启服务

我有一个服务(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

而且它不会要求输入密码。

如果你不使用sudosystemctl则恢复使用波尔基特进行授权。

答案2

让任何常规用户startrestart服务:

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

相关内容