You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django+Nginx部署中用户上传媒体文件权限拒绝问题求助

解决Wagtail媒体文件Permission Denied问题

核心问题分析

你的场景中,静态文件正常但媒体文件权限拒绝,关键在于媒体目录/文件的组归属及权限继承,结合Gunicorn(用户hvn、组www-data)和Nginx(默认以www-data用户运行)的运行身份,以下是具体排查和解决步骤:


1. 检查媒体目录的所有者与组归属

运行命令查看媒体目录的权限信息:

ls -ld /path/to/your/media
  • 若目录的组不是www-data,执行以下命令修改归属:
sudo chown -R hvn:www-data /path/to/your/media

2. 确认hvn用户属于www-data组

运行命令检查用户组:

groups hvn
  • 若输出中没有www-data,将用户加入组并重启Gunicorn:
sudo usermod -aG www-data hvn
sudo systemctl restart gunicorn

3. 确保新上传文件自动继承目录组权限

设置媒体目录的setgid位,让后续上传的文件自动继承目录的www-data组:

sudo chmod g+s /path/to/your/media

4. 修复已上传文件的组权限

对于之前上传的文件,批量修改其组归属为www-data:

sudo chgrp -R www-data /path/to/your/media/*

内容的提问来源于stack exchange,提问作者HzM74

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 23:11:11