小编mar*_*nuy的帖子

无法以非 root 用户身份远程重启 systemctl 服务

我有一个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)

sudo socket gunicorn systemd systemctl

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

gunicorn ×1

socket ×1

sudo ×1

systemctl ×1

systemd ×1