Apache 从加密驱动器提供文件时返回 403 禁止错误

Apache 从加密驱动器提供文件时返回 403 禁止错误

我为每个开发项目创建一个 sparsebundle 并将其安装为虚拟驱动器。这很好用,直到我需要为其中一个项目添加加密以增加客户文件的安全性。

当加密开启时,Apache 返回 403 禁止消息。我可以通过更改 apache 以在我的用户和组下运行来解决这个问题,但这对我的 MacBook 的安全性非常不利。

有没有更好的方法来允许 apache 访问我的加密驱动器的权限?

答案1

在 OS X 中创建加密磁盘映像时,它默认会创建具有限制权限的封闭卷 - 所有者(安装它的人)拥有完全访问权限,而组成员和其他人则无权访问。 Web 服务器通常以 _www 系统用户身份运行,因此它属于其他/无访问权限类别。 您可以在命令行中轻松检查这一点:

$ ls -l /Volumes
total 8
drwx------   6 gordon  staff        272 Sep 30 11:30 Encrypted Volume
lrwxr-xr-x   1 root    admin          1 Sep 27 17:11 Macintosh HD -> /

“drwx------” 表示它是一个目录(“d”);所有者(gordon)被允许读、写和执行访问(“rwx”),组(staff)不允许访问(“---”);其他人不允许访问(“---”)。

简单的解决方案是打开卷权限以允许组和其他人使用 chmod 进行只读访问:

$ chmod go+rX /Volumes/Encrypted\ Volume
$ ls -l /Volumes
total 8
drwxr-xr-x   6 gordon  staff        272 Sep 30 11:30 Encrypted Volume
lrwxr-xr-x   1 root    admin          1 Sep 27 17:11 Macintosh HD -> /

卷内的各个目录和文件也有可能(但不太可能)设置了限制性权限,在这种情况下您需要以类似的方式调整它们。

相关内容