我正在使用apache
网络服务器。我有一个html文件和一个位于var / www / myfolder的Python脚本。我通过html文件提交表单,该文件由我的Python脚本处理(单击提交按钮时)。但是一旦处理完表单,我的Python脚本就会执行一个外部命令。
当Python脚本调用os.system("ls -l > temp.txt")
时,我收到权限被拒绝错误。问题是用户apache2
没有创建文件的权限。我也不知道apache2
的密码,所以我无法使用sudo。
我有什么方法可以apache2
授予创建临时文件的权限吗?
修改1:
在权限被拒绝错误之前我收到此警告:WARNING: HOME is not set, using root: /
答案 0 :(得分:1)
如果用户apache2
对该文件夹没有任何写权限,则无法创建/修改该文件夹中的文件。但是,您可以尝试在'/tmp/'
或apache2的主文件夹中创建文件。您可以从中获取apache2的主文件夹
os.path.expanduser('~')
答案 1 :(得分:0)
您可以使用数据库,而不是写入文件。虽然这也需要赋予" apache2"用户访问数据库,它是更安全的解决方案,您可以自由地要求服务器管理员这样做。即使是小型网站也使用数据库。如果您的Web服务不需要大吞吐量,您可以从Sqlite开始。