使用apache运行python脚本会产生权限错误

时间:2017-05-10 14:30:51

标签: python apache

我一直在尝试使用python脚本写入文件,该脚本将由apache执行。这是我的剧本:

#!/usr/bin/env python
print "Content-Type: text/plain"
print "Cache-Control: no-store"
print "Pragma: no-cache"
print "Expires: 0"
print

file_name = '/my/path/file.ext'
try:
    open(file_name, 'w').write('hello')
    print "Good"
except IOError as e:
    print "I/O error({0}): {1}".format(e.errno, e.strerror)
except Exception, e:
    print str(e)

当我通过命令行运行脚本时,结果是:Good,但是当apache运行脚本时,我得到I/O error(13): Permission denied

一对夫妇注意到:

  • 它尝试写入的目录是可写的(+ w)
  • 该文件位于可执行文件目录(+ x)​​中,其所有父目录也可执行
  • 我一直在使用与apache相同的用户通过命令行运行脚本(它正在运行)。

1 个答案:

答案 0 :(得分:0)

此特定实例中的问题是SELinux阻止了操作。我暂时禁用了SELinux,但更好的答案是为此操作添加安全策略。