我的目标是在其中一个程序中运行 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 用户身份运行您的脚本。当然,您必须创建该用户。