Django,权限错误:OSError at / upload / [Errno 13]权限被拒绝:

时间:2012-06-17 14:38:16

标签: mysql django security permissions deploying

我尝试上传图片时收到此错误:

OSError at /upload/

[Errno 13] Permission denied: '/var/www/p/p/media/imgupload/img.png'

我的虚拟主机:

<VirtualHost *:80>
    ServerAdmin myemail@gmail.com
    ServerName p.com
    ServerAlias www.p.com
    DocumentRoot /var/www/p/
    LogLevel warn
    WSGIDaemonProcess processes=2 maximum-requests=500 threads=1
    WSGIProcessGroup %{GLOBAL}
    WSGIScriptAlias / /var/www/p/p/wsgi.py
    Alias /media /var/www/p/p/media/
    Alias /static /var/www/p/p/static/
</VirtualHost>

以下是文件的秒数:

drwxr-xr-x 3 ubuntu root     4096 Jun 16 13:10 www
drwxr-xr-x 4 ubuntu ubuntu 4096 Jun 16 13:10 p
(all other folders are ubuntu ubuntu)

我得到了这个:

drwxr-xr-x 36 ubuntu root     4096 Jun 11 06:33 lib
drwx------ 6 mysql  mysql   4096 Jun 17 14:19 mysql

我不能用我的ubuntu用户通过mysql cd ... 这是一些安全问题吗?

必须......

提前致谢

1 个答案:

答案 0 :(得分:3)

这是一个简单的解决方法。您的django进程可能未在与媒体位置所有者相同的用户下运行。检查您的配置,了解如何通过apache设置django并确保媒体目录的所有者匹配,或者只是打开更多权限以使其正常工作:

chmod -R a+w /var/www/p/p/media

或者

chown -R right-user /var/www/p/p/media