【问题标题】:Cannot stat 'direction', permission denied when permission's are set无法统计“目录”,设置权限时权限被拒绝
【发布时间】:2017-07-25 19:15:18
【问题描述】:

请耐心等待我还是 Linux 新手。我有一个网络服务器正在尝试访问用户帐户下的公用文件夹。

问题

我正在运行一个 nginx 服务器,它试图访问应用程序共享公用文件夹中的维护页面并收到权限被拒绝错误。

基础知识

Application user: quotr
Webserver user: ubuntu
Application users primary group: app
Webserver users primary group: www-data

Application home: /home/quotr/app
Application shared public folder: /home/quotr/app/shared
Absolute path of maintenance file: /home/quotr/app/shared/public/system/maintenance.html

组:

我最初只是将 www-data 组添加到应用程序组中,希望能解决这个问题。当这不起作用时,我还添加了另一个方向的组。

www-data:x:33:apache,quotr
ubuntu:x:1000:
app:x:1001:quotr,ubuntu,www-data

所有权

整个应用程序树的所有权属于 quotr:app。当我开始收到权限问题时,我沿着维护页面路径的突出显示部分更改了所有权 (/home/quotr/app/shared/public/system/maintenance.html ) 到 quotr:www-data。

权限

从 /var/www/quotr-public 开始,一路向下:

# ls -la
drwxr-xr-x 4 quotr www-data 4096 Mar  3 21:49 .
drwxr-xr-x 5 quotr www-data 4096 Mar  3 21:49 ..
drwxr-xr-x 5 quotr www-data 4096 Mar  4 16:00 assets
drwxr-xr-x 3 quotr www-data 4096 Mar  4 19:03 system

# cd to system ls -la
drwxr-xr-x 3 quotr www-data 4096 Mar  4 19:03 .
drwxr-xr-x 4 quotr www-data 4096 Mar  3 21:49 ..
-rwxr-x--- 1 quotr www-data 3004 Mar  4 19:03 maintenance.html
drwxr-xr-x 3 quotr www-data 4096 Mar  3 21:51 pictures

测试

我正在使用以下命令测试权限:

sudo -u www-data stat /home/quotr/app/shared/public/

导致权限被拒绝。

最后一搏

作为最后的尝试,我创建了以下符号链接:

quotr-public -> /home/quotr/app/shared/public/

我能够成功运行以下命令,但不能更深入:

sudo -u www-data stat /var/www/quotr-public

此时我完全不知道问题出在哪里。任何指导将不胜感激。

编辑 1

我一直在用权限放屁,所以这些可能有点不同,但请在下面找到请求的输出。 'namei -lx /home/quotr/app/shared/public/system/maintenance.html'的输出

Drwxr-xr-x root  root     /
drwxr-xr-x root  root     home
drwx------ quotr app      quotr
drwxr-xr-x quotr app      app
drwxr-xr-x quotr www-data shared
drwxr-xr-x quotr www-data public
drwxr-xr-x quotr www-data system
-rw-r--r-- quotr app      maintenance.html

'namei -lx /var/www/quotr-public/system/maintenance.html'的输出

Drwxr-xr-x root   root     /
drwxr-xr-x root   root     var
drwxrwsr-x root   www-data www
lrwxrwxrwx ubuntu www-data quotr-public -> /home/quotr/app/shared/public/
Drwxr-xr-x root   root       /
drwxr-xr-x root   root       home
drwx------ quotr  app        quotr
drwxr-xr-x quotr  app        app
drwxr-xr-x quotr  www-data   shared
drwxr-xr-x quotr  www-data   public
drwxr-xr-x quotr  www-data system
-rw-r--r-- quotr  app      maintenance.html

谢谢。

【问题讨论】:

    标签: nginx permissions server file-permissions ubuntu-server


    【解决方案1】:

    问题最终是 /home/quotr/ 目录中缺少组执行权限。运行后

    chmod g+x quotr
    

    问题已解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-20
      • 1970-01-01
      • 2022-09-29
      • 2018-10-01
      • 2013-11-10
      • 1970-01-01
      • 1970-01-01
      • 2016-06-25
      相关资源
      最近更新 更多