从encryption驱动器的Apache服务文件返回403禁止的错误

我创build了一个sparsebundle,并将其作为每个开发项目的虚拟驱动器进行安装。 这很好,直到我需要添加encryption项目之一,以增加我的客户端文件的安全性。

当encryption时,Apache返回403禁止消息。 我能够解决它通过更改Apache在我的用户和组下运行,但这是非常糟糕的我的MacBook的安全性。

有没有更好的方法来允许Apache访问我的encryption驱动器的权限?

在OS X中创buildencryption磁盘映像时,它默认使用限制性权限创build封闭卷 – 所有者(挂载它的人)可以完全访问,而组成员和其他人无法访问。 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”),组(员工)不允许访问(“—”); 其他人不允许访问(“—”)。

简单的解决方法是打开卷权限以允许组和其他人使用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 -> / 

有可能(但不太可能)卷中的单个目录和文件也设置了限制性权限,在这种情况下,您需要对其进行类似的调整。