Nginx:13:权限被拒绝,尽管权限设置正确

时间:2019-01-21 21:31:09

标签: nginx permissions ubuntu-18.04 access-denied

我正在SSD系统驱动器(/ dev / sda5,ext4)的Nginx 1.14.0(Ubuntu 18.04,php-fpm 7.1.25)上运行Web服务器,并且一切正常。

然后,我尝试将Web服务器目录移动到计算机中的另一个HDD(/ dev / sdb1,ext4),以释放SSD上的一些空间。因此,我将/ var / www / html目录复制到/ media / myhdd / newhtml,并保留了原始目录的所有者和权限。全部复制成功。

当我尝试从新目录(/ media / myhdd / newhtml)打开Web服务器时,出现403 Forbidden(nginx错误日志:13:权限被拒绝)错误。

我检查了新目录的权限,并已重启nginx一百次。权限与我的/ var / www / html目录相同,并且递归设置为755。

chown -R myusername:www-data / media / myhdd / newhtml chmod -R 755 / media / myhdd / newhtml

我什至试图简化内容并输出目录列表。

这可以正常工作并输出目录列表,如预期的那样:

server {

    listen 80;
    listen [::]:80;

    root /var/www/html;

autoindex on;

    server_name localhost;

charset UTF-8;


}

这不起作用,并给出了FORBIDDEN 403错误:

server {

    listen 80;
    listen [::]:80;

    root /media/myhdd/newhtml;

autoindex on;

    server_name localhost;

charset UTF-8;


}

由于两个目录的权限都相同,所以我希望nginx会像/ var / www / html一样列出/ media / myhdd / newhtml中的目录。

请与您分享可能导致此意外结果的想法? 谢谢。

1 个答案:

答案 0 :(得分:0)

我知道了。我更改了HDD 装载目录,在我的情况下为/ media / myhdd。它设置为 myusername 。然后我将其更改为 www-data ,并且可以正常工作! 有趣的是,我没有触摸文件内部。

因此,子目录可能以某种方式取决于父级的最高权限,并以某种方式继承它们。即使已经适当设置了对父级内部目标目录的权限。

希望它也可以帮助别人!

谢谢大家!