我遇到了一个简单的权限问题,但我无法找到解决方案或正确的设置。
我有两台服务器并排位于同一网络上。 .80
是网络服务器,也是.40
文件服务器。我正在尝试安装一个目录,该目录位于.40
并.80
用作网页内容(仅图像)。我的安装成功,我可以很好地导航远程目录,以及添加和删除其中的项目。但是当在浏览器中查看图像时,我得到403 禁忌或者通俗地说——没有权限
远程目录.40
如下所示:
drwxrwxrwx 2 zak zak 4.0K Sep 26 10:36 images
本地目录.80
如下所示(挂载之前):
drwxrwxrwx 1 zak zak 4.0K Sep 26 10:36 images
我正在使用私钥在启动时自动挂载此目录 -
sshfs [email protected]:/Private/images /var/www/zak_site/images
为什么我可以在此安装上导航、添加和删除,但无法通过 http 查看?
更新
阿帕奇错误日志:
[Thu Sep 26 11:29:04.607441 2019] [core:error] [pid 10718] (13)权限被拒绝: [客户端 174.31.53.188:58857] AH00035: 访问 /images/hawks2.png 被拒绝 (文件系统路径 '/ var/www/zak_site/images') 因为路径的某个组件缺少搜索权限
笔记一旦我直接获得权限,我就需要能够通过 http 上传。但如果我有这个问题..我会问一个单独的问题。
答案1
好的,有二帮助解决这个问题的组件。
1)我user_allow_other
在/etc/fuse.conf中设置
但这还不够..阅读后我看到了mount 命令上的-man
选项标志。-o allow_other
这允许 Apache 无需成为权限中指定的“用户”即可查看和更改文件。
2)所以我将命令更改为:
sshfs -o allow_other [email protected]:/Private/images /var/www/zak_site/images
现在 Apache 显示我的图像一切顺利。