我有一个使用django框架和mod_wsgi运行python代码的apache httpd服务器。 我的view.py我需要做一个子进程调用来执行另一个python文件,在这个过程中需要创建一些目录。python makedirs权限被拒绝
但是,我得到OSERROR 13:无论我尝试创建目录的位置,权限被拒绝。
只在/ tmp中创建目录是成功的。
任何人都可以指导我如何解决这个问题?
在此先感谢!
编辑: 我在serverfault.com找到了答案。这里是供参考的 apache2在根目录下运行,但它分叉在'www-data'组下运行的进程。要创建文件/目录
sudo mkdir /srv/www/writable
变化 因此,创建一个目录组
sudo chgrp www-data /srv/www/writable
格兰特组写访问
sudo chmod g+w /srv/www/writable
和你做。现在,您可以使用apache2运行的脚本在此目录中创建任何文件/目录。
实现你显然有一个权限问题,由于正在运行Apache作为一个用户帐户不同于拥有父目录的用户帐户,您正尝试创建新目录。 – Keith 2012-07-23 06:00:24
是的,我可以解决这个问题。我使用apt-get安装了apache,当我做ps aux | grep apache2时,我看到在根用户下运行的apache2 ... – 2012-07-23 06:19:25
主要的apache线程以超级用户身份运行,但它通常会切换到另一个用户,通常是www数据。 – 2012-07-23 06:56:02