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

AlmaLinux 9.1中Nginx访问404及Permission denied权限问题求助

AlmaLinux 9.1下Nginx访问站点报404(权限拒绝)问题解决

问题场景

在AlmaLinux 9.1中启动Nginx后访问站点出现404错误,日志记录权限拒绝信息:

2023/05/06 16:14:33 [crit] 248989#248989: *15900 stat() "/root/device_reservation_mgmt/html/index.html" failed (13: Permission denied)

尝试过chmod 755 /root/device_reservation_mgmt/、chown -R nginx:nginx /root/device_reservation_mgmt/等操作,切换到nginx用户执行stat仍提示权限拒绝;将html目录复制到/opt/html后root可正常查看,但问题仍未解决。

问题诊断

从Shell日志可定位核心原因:

  • /root目录权限为550(dr-xr-x---),仅允许root用户和root组访问,nginx用户不属于root组,完全无法进入/root目录——Linux文件系统要求对路径上的每一级目录都拥有执行权限,才能访问内部文件,因此即使子目录权限全开也无效。
  • 复制到/opt/html后未调整目录权限或Nginx配置,导致nginx用户依然无法访问该目录下的文件。

解决方案

推荐方案:迁移网站目录并配置Nginx(安全合规)

这是最稳妥的做法,避免修改root目录权限带来的安全风险:

  1. 修复/opt/html的权限,确保nginx用户能访问:
    chown -R nginx:nginx /opt/html
    chmod -R 755 /opt/html
    
  2. 修改Nginx站点配置文件:
    找到对应站点的配置文件(通常位于/etc/nginx/conf.d/或/etc/nginx/sites-available/目录下),将root指令指向/opt/html,示例配置:
    server {
        listen 80;
        server_name your_domain;
        root /opt/html;
        index index.html index.htm;
        # 其他站点配置...
    }
    
  3. 验证配置并重启Nginx:
    nginx -t
    systemctl restart nginx
    

不推荐方案(存在安全风险):临时开放root目录权限

如果必须将文件保留在/root目录下,可临时给/root目录添加其他用户的执行权限(不建议长期使用,会降低系统安全性):

chmod o+x /root

同时确保子目录和文件权限正确:

chown -R nginx:nginx /root/device_reservation_mgmt/html
chmod -R 755 /root/device_reservation_mgmt/html

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 01:10:03