我有一个systemd.socket名为gunicorn.socket,我想在远程服务器上更新一些代码后重新启动。
我已按照允许非 root 用户重新启动服务中详述的步骤操作并systemctl
不断询问我的用户密码。这是我尝试systemctl restart gunicorn.socket
与 user一起运行时所做的john
:
# added an appadmin group to allow the restart command to john
addgroup appadmin
usermod -a -G appadmin john
visudo
Run Code Online (Sandbox Code Playgroud)
在sudoers
:
Cmnd_Alias MYAPP_CMNDS = /bin/systemctl start gunicorn.socket, /bin/systemctl stop gunicorn.socket, /bin/systemctl restart gunicorn.socket
%appadmin ALL=(ALL) NOPASSWD: MYAPP_CMNDS
Run Code Online (Sandbox Code Playgroud)
然后sudo systemctl restart gunicorn.socket
在服务器上工作正常,但是当我远程尝试时,我得到:
ssh example.com "sudo systemctl restart gunicorn.socket"
Failed to restart gunicorn.socket: Interactive authentication required.
See …
Run Code Online (Sandbox Code Playgroud)