nginx stat 13 Permission denied

在进行nginx配置的时候,由于文件系统目录权限的问题,可能会出现

2021/06/23 19:48:51 [crit] 12553#12553: *29 stat() "/home/user/public/index.html" failed (13: Permission denied)
复制代码

nginx 的错误日志很清楚,就是 nginx 这个账户没有访问 /home/user/public 这个目录的权限。那么如何验证呢?

sudo -u nginx stat /home/user/public
# 看看是否返回权限不足
复制代码

此时单纯的使用下面的指令修改权限是不行的:

chomd -R 755 /home/user/public
复制代码

原因是 /home/xxx 的目录比较特殊,一般只是用户自己才能进入;其他帐号如 nginx 是进不来的。解决方案最好不是无限的放大目录的权限,有安全风险。

比较好的办法是将 nginx 账户加入用户组:

sudo gpasswd -a nginx user
复制代码

修改用户组的可访问权限

chmod g+x /home/user && chmod g+x /home/user/public
复制代码

这个时候在执行上面检验权限的指令,看是否可以访问。

最后,重新 nginx 就可以了:

sudo nginx -s reload
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享