1

当我尝试上传图片时出现此错误:

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 ... 是否存在安全问题?

一定是...

提前致谢

4

1 回答 1

3

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

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

或者

chown -R right-user /var/www/p/p/media
于 2012-06-17T15:11:33.163 回答