我有一個服務 ( 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