Django+Nginx出现failed (13: Permission denied)权限问题求助
解决Nginx访问媒体文件时的Permission Denied错误
问题根源
你遇到的问题并非目标media文件夹权限不足,而是路径中的上层目录缺少遍历权限。Linux系统中,要访问某个目录下的内容,必须确保路径上的每一层父目录都具备执行权限(x),否则即便目标目录权限正确,也会触发权限拒绝。
排查与解决步骤
检查上层目录权限
先查看/home/ubuntu和/home/ubuntu/library这两个父目录的权限:ls -ld /home/ubuntu /home/ubuntu/library正常情况下,这些目录需要给
www-data用户(或其所属组、其他用户)开放执行权限。修复上层目录权限
最简单的测试方式是给上层目录添加其他用户的执行权限:sudo chmod o+x /home/ubuntu sudo chmod o+x /home/ubuntu/library若要更严谨(仅开放给
www-data组),可执行:sudo chmod g+x /home/ubuntu /home/ubuntu/library验证修复效果
再次执行测试命令,确认权限问题已解决:sudo -u www-data ls /home/ubuntu/library/media/
补充说明
目录的x权限(执行权限)作用是允许用户进入并遍历该目录,而非执行文件。这是Linux文件系统权限的核心规则之一,新手容易忽略上层目录的权限要求。
内容的提问来源于stack exchange,提问作者Abdelmasieh Baselious
相关产品推荐
相关产品推荐

