讓一般使用者使用 /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

相關內容