请谅解,我对Linux还不太熟悉。我有一个Web服务器,它正在尝试访问用户帐户下的公共文件夹。
问题:
我正在运行一个nginx服务器,它试图访问应用程序共享的公共文件夹中的维护页面,但却收到了权限被拒绝的错误。
基本信息:
- 应用程序用户:quotr,主要组:app - Web服务器用户:ubuntu,主要组:www-data - 应用程序主目录:/home/quotr/app - 应用程序共享的公共文件夹:/home/quotr/app/shared - 维护文件的绝对路径:/home/quotr/app/shared/public/system/maintenance.html
组信息:
起初,我只将www-data组添加到app组中,希望能解决问题。当这并没有起作用时,我也尝试了反过来添加组。
我能成功运行以下内容,但无法深入。
我现在完全不知道问题出在哪里。非常感谢任何指导。
编辑1
我一直在调整权限,所以可能有些不同,请查看下面所请求的输出。 'namei -lx /home/quotr/app/shared/public/system/maintenance.html' 的输出如下。
谢谢。
问题:
我正在运行一个nginx服务器,它试图访问应用程序共享的公共文件夹中的维护页面,但却收到了权限被拒绝的错误。
基本信息:
- 应用程序用户:quotr,主要组:app - Web服务器用户:ubuntu,主要组:www-data - 应用程序主目录:/home/quotr/app - 应用程序共享的公共文件夹:/home/quotr/app/shared - 维护文件的绝对路径:/home/quotr/app/shared/public/system/maintenance.html
组信息:
起初,我只将www-data组添加到app组中,希望能解决问题。当这并没有起作用时,我也尝试了反过来添加组。
www-data:x:33:apache,quotr
ubuntu:x:1000:
app:x:1001:quotr,ubuntu,www-data
所有权
整个应用程序树的所有权属于quotr:app
。当我开始遇到权限问题时,我将路径中public/system/maintenance.html
部分的所有权更改为维护页面(/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
谢谢。
namei -lx /home/quotr/app/shared/public/system/maintenance.html
的输出。 - muru/home/quotr
对其他人没有执行权限。 - muruFollowSymlinks
? - muru