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

如何解决Errno 13 Permission denied权限拒绝问题?此前用绝对路径解决现复现

解决Errno 13 Permission Denied 权限问题的实用步骤

嘿,我之前处理过不少这类权限报错,结合你之前用绝对路径解决过类似问题的情况,给你几个针对性的排查和解决步骤,一步步来:

  • 先核查文件与父目录的权限细节
    登录服务器后,先跑这条命令看文件的权限和归属:

    ls -l /home/pep_web/Structure_Descriptor/Input.csv
    

    输出会像-rw-r--r-- 1 root root 4096 Jun 1 14:30 Input.csv,重点看前10位权限位(比如rw-r--r--)和后面的所有者/组(比如root root)。同时别漏了父目录的权限:

    ls -ld /home/pep_web/Structure_Descriptor/
    

    目录必须有**执行权限(x)**才能让进程进入,比如drwxr-xr-x这种设置才是正常的。

  • 确认你的Web服务进程跑在哪个用户下
    不同的Web服务查看方式略有不同:

    • 如果用Gunicorn/uWSGI:ps aux | grep gunicorn(或uwsgi),看输出第一列的用户名。
    • 如果是Apache/Nginx:通常是www-data、apache或nginx用户。
      核心是要确保这个运行用户对Input.csv有读权限(r),对父目录有执行权限(x)。
  • 调整权限或归属(生产环境谨慎操作)

    • 如果文件所有者是root,而Web进程用的是www-data,可以修改文件归属:
      sudo chown www-data:www-data /home/pep_web/Structure_Descriptor/Input.csv
      
    • 要是暂时想快速验证,也可以临时放宽文件和目录权限(不推荐长期用在生产环境):
      sudo chmod o+r /home/pep_web/Structure_Descriptor/Input.csv
      sudo chmod o+x /home/pep_web/Structure_Descriptor/
      
    • 更规范的做法是把Web用户加入文件所在的组,然后给组设置读权限,比如:
      sudo usermod -aG pep_web www-data
      sudo chmod g+r /home/pep_web/Structure_Descriptor/Input.csv
      
  • 检查SELinux(针对CentOS/RHEL系服务器)
    很多时候权限问题不是Linux文件权限的锅,是SELinux在拦着。可以临时关闭测试:

    sudo setenforce 0
    

    要是这时候你的视图能正常运行了,就需要给目录配置SELinux规则:

    sudo semanage fcontext -a -t httpd_sys_content_t "/home/pep_web/Structure_Descriptor(/.*)?"
    sudo restorecon -Rv /home/pep_web/Structure_Descriptor/
    

    配置完记得重新开启SELinux:sudo setenforce 1

  • 最后确认路径和文件存在性
    别忽略最基础的点:确保文件真的存在,路径拼写完全正确(Linux路径大小写敏感!),可以用ls /home/pep_web/Structure_Descriptor/Input.csv验证一下,避免是打错了字母或者符号链接失效的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:03:42