【发布时间】: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