gaoyuan 的个人博客

菜鸡的成长之路

Open Source, Open Mind,
Open Sight, Open Future!
  menu
34 文章
1 评论
20800 浏览
1 当前访客
ღゝ◡╹)ノ❤️

Nginx: stat() failed (13: permission denied)

涉及到的信息

VERSION="18.04.4 LTS (Bionic Beaver)"
nginx/1.14.0 (Ubuntu)

现象

今日重新部署 nginx 时发现, 在修改 webroot 到 /root/www/html下 并指定 文件、文件夹的属主和属组为 www-data (nginx 用户)后,访问提示 404,

原因

核实log 中展示如下,可以明显的确认到时 www-data用户没有权限访问, webroot 导致,

stat() "/root/www/html/" failed (13: Permission denied),

方案

通常该问题有两种方案

  1. 修改nginx的 user 为 root(不建议)
  2. 给www-data用户授予访问权限
  3. 换个路径

我们这里使用第二种方式:

使用sudo测试一下 www-data 用户是否有权限 执行stat命令

sudo -u www-data stat /root/www/html/

在没有修改之前, 会直接报permission denined。

我们将 www-data用户添加到 root的组中并确保 www-data 用户能访问到

gpasswd -a www-data root

chmod g+x /root && chmod g+x /root/www/html

这里参考了 中的回复
Nginx:stat()失败(13:权限被拒绝) (qastack.cn)


标题:Nginx: stat() failed (13: permission denied)
作者:gaoyuan
地址:HTTP://jkgaoyuan.tech/articles/2021/08/16/1629087630676.html

评论
取消