【问题标题】:What are the correct permissions for my site that is now served by NginX?我现在由 NginX 提供服务的网站的正确权限是什么?
【发布时间】:2017-01-06 22:41:51
【问题描述】:

我正在运行 Ubuntu 16.10 的笔记本电脑上运行本地测试服务器。我正在运行 Apache2,但我决定切换到 NginX。按照this one 之类的指南,我想我已经启动并运行了 NginX 以及 PHP 7.0 fpm。

但是,当我加载我的一个网站时,我收到了 403 Forbidden error。 NginX 错误日志说:

[error] 14107#14107: *1 directory index of "/var/www/example.com/" is forbidden, client: 127.0.0.1, server: example.com, request: "GET / HTTP/1.1", host: "example.com"

我知道路径中的所有父目录都应该具有正确的权限,但我不清楚正确的权限是什么。如果我理解正确,在 Apache2 下,用户或组 www-data 可以访问这些目录,但我不确定在 NginX 下是否仍然如此。

我应该使用什么chmodchown 命令来确保相关目录具有使其可供NginX 访问的权限? 请注意,我完全用NginX 替换Apache2,所以无需为 Apache 保留任何设置。

另外,作为参考,这里是我网站的当前目录路径和权限。请注意,/var/www 中的目录是指向我的 Dropbox 文件夹中目录的符号链接,如果这有任何影响的话。

$ namei -om /var/www/example.com
f: /var/www/example.com
 drwxr-xr-x root     root     /
 drwxr-xr-x root     root     var
 drwxr-xr-x www-data www-data www
 lrwxrwxrwx www-data www-data example.com -> /home/user/Dropbox/subdir1/subdir2/Site/
   drwxr-xr-x root     root     /
   drwxr-xr-x root     root     home
   drwxr-xr-x user     user     user
   drwx--x--x user     user     subdir1
   drwxrwxr-x user     user     subdir2
   drwxr-xr-x user     user     Web
   drwxr-xr-x user     user     Site

【问题讨论】:

    标签: ubuntu nginx


    【解决方案1】:

    您对 subdir1 的权限错误,修复它:

    chmod 755 /home/user/Dropbox/subdir1
    

    甚至更好(递归):

    find /var/www/example.com -type d -print0 | xargs -0 chmod 755
    

    对于nginx用户,可以通过user配置指令进行设置:

    user www-data;
    

    您可以在 NGINX 服务器上使用任何用户,您只需要对项目的文件夹 (755) 和文件 (644) 具有正确的权限。我更喜欢不同的用户nginx,这是一种很好的做法,但不是必需的。

    您可以像这样在 Ubuntu/Debian 中创建系统 nginx 用户:

    sudo adduser --system --no-create-home --disabled-login --disabled-password --group nginx
    

    【讨论】:

    • 感谢您的回复。我试过你的find 命令,但它返回了chmod: missing operand after ‘755’。然后我尝试手动将每个目录设置为 755,但我仍然收到权限被拒绝错误。我使用您建议的命令创建了一个nginx 用户,但我很难弄清楚用户配置指令,所以我没有设法以任何有意义的方式实现nginx 用户。
    • 问题可能根本不是权限(尽管权限可能仍然相关)。我问了new question based on my current situation here
    • 实际上有一些设置问题,在我引用的另一个问题中得到了解决,但是权限问题在这里得到了解决,所以谢谢你的帮助。
    猜你喜欢
    • 1970-01-01
    • 2017-03-06
    • 1970-01-01
    • 2012-02-10
    • 2017-08-04
    • 2015-02-10
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多