允许 root 以外的用户重新启动 supervisorctl 进程?
Allow user other than root to restart supervisorctl process?
我有 supervisord 运行 用户 stavros 的程序,我想授予同一用户使用 supervisorctl 重新启动它的权限。不幸的是,我只能使用 sudo 来完成,否则我会在 socket.py 中收到权限被拒绝的错误。我怎样才能允许自己重启 supervisord 进程?
也许您应该尝试使用用户 stavros
.
重新启动您的 superviord
进程
就我个人而言,我认为 运行 supervisord 作为 root 是一个坏主意,但如果你想这样做,同时允许其他用户完全重启,我会这样做。
1/ 在您的系统上创建一个主管组,它将在 supervisord 上具有重启权限
2/ 将相关用户放入组supervisor
3/ 在 supervisord 配置中,在 [unix_http_server] 部分使用以下行:
chmod=0770 ; socket file mode (default 0700)
chown=root:supervisor ; socket file uid:gid owner
它将保证管理套接字可以从选定的用户访问。
4/ 在重生模式(init、systemd、upstart 等)的系统初始化机制中添加 supervisord。这取决于您的系统。重生模式意味着进程在崩溃或停止时将自动重新启动。
5/ 从选定的用户之一,您应该能够使用 supervisorctl 到 运行 命令,包括将触发 supervisord 完全重启的完全关闭。
我有 supervisord 运行 用户 stavros 的程序,我想授予同一用户使用 supervisorctl 重新启动它的权限。不幸的是,我只能使用 sudo 来完成,否则我会在 socket.py 中收到权限被拒绝的错误。我怎样才能允许自己重启 supervisord 进程?
也许您应该尝试使用用户 stavros
.
superviord
进程
就我个人而言,我认为 运行 supervisord 作为 root 是一个坏主意,但如果你想这样做,同时允许其他用户完全重启,我会这样做。
1/ 在您的系统上创建一个主管组,它将在 supervisord 上具有重启权限
2/ 将相关用户放入组supervisor
3/ 在 supervisord 配置中,在 [unix_http_server] 部分使用以下行:
chmod=0770 ; socket file mode (default 0700)
chown=root:supervisor ; socket file uid:gid owner
它将保证管理套接字可以从选定的用户访问。
4/ 在重生模式(init、systemd、upstart 等)的系统初始化机制中添加 supervisord。这取决于您的系统。重生模式意味着进程在崩溃或停止时将自动重新启动。
5/ 从选定的用户之一,您应该能够使用 supervisorctl 到 运行 命令,包括将触发 supervisord 完全重启的完全关闭。