Python 无法通过Django访问子流程中的/var/tmp
我创建了一个脚本,它使用Django和python的子进程将shell脚本的执行结果输出到Web屏幕 具体来说,创建了以下两个脚本Python 无法通过Django访问子流程中的/var/tmp,python,django,Python,Django,我创建了一个脚本,它使用Django和python的子进程将shell脚本的执行结果输出到Web屏幕 具体来说,创建了以下两个脚本 test.py #/usr/bin/python 导入系统,操作系统 导入子流程 导入系统日志 命令列表=['/bin/sh','/var/tmp/test.sh'] proc=subprocess.Popen(args=command\u list, stdout=子流程.PIPE, stderr=子流程.PIPE, cwd=os.path.dirname(命
- test.py
#/usr/bin/python
导入系统,操作系统
导入子流程
导入系统日志
命令列表=['/bin/sh','/var/tmp/test.sh']
proc=subprocess.Popen(args=command\u list,
stdout=子流程.PIPE,
stderr=子流程.PIPE,
cwd=os.path.dirname(命令列表[0]),
外壳=假)
结果=过程通信(输入=无)
打印str(结果)
- test.sh
#/bin/bash
回声“开始”
cat/var/tmp/data.txt
- data.txt
- python 2.7.13
- Django 1.11.20
view /usr/lib/systemd/system/httpd.service
PrivateTmp=false
systemctl daemon-reload
service http restart
请添加
id的输出;ls-l/var/tmp
和有关您的环境的详细信息,以回答您的问题。谢谢。我将PrivateTmp设置为PrivateTmp=false,httpd现在可以访问/var/tmp。
view /usr/lib/systemd/system/httpd.service
PrivateTmp=false
systemctl daemon-reload
service http restart