以 root 身份运行 Supervisord 进程

以 root 身份运行 Supervisord 进程

我的目标是在其中一个程序中运行 sudo:

[program:doStaff]
command=sudo python manage.py doStaff
autostart=true
autorestart=true
stderr_logfile=/var/log/doStaff.err.log
stdout_logfile=/var/log/doStaff.out.log

这是来自supervisord.conf的[unix_http_server]:

[unix_http_server]
file=/var/run/supervisor.sock  
chmod=0770   

尝试在supervisord.conf 中将supervisord 用户设置为root,但没有帮助。

由于该脚本删除了系统中的某些文件,因此我尝试以 root 身份运行该过程。

答案1

在您的程序配置(program:doStaff)中添加以下行:

user=root

答案2

您应该为用户设置无密码 sudo 并以该用户的身份运行您的脚本。

首先编辑 sudoers 文件:

须藤维须藤

在该文件末尾添加:

scriptrunner ALL=(全部) NOPASSWD:全部

现在以 scriptrunner 用户身份运行您的脚本。当然,您必须创建该用户。

相关内容