我正在运行带有加密主目录的 Ubuntu 11.04 桌面。我在我的计算机上进行开发工作,我希望我的 webroot 目录位于我的主目录中,因此它与我的主目录的其余部分一起加密。由于我是唯一使用该机器的人,我想将 Apache 配置为直接指向此。
当前,我已将/var/www
文件夹更改为指向我的 hone 目录中工作区的符号链接:/home/valorin/workspace
但是,这会在 apache 中引发403 Forbidden错误。
我已将我的用户添加到www-data
组中,并在工作区文件夹上设置所有权和权限:
drwxrwxr-x 2 valorin www-data 4096 2011-04-23 10:02 workspace
但是我可以让它工作的唯一方法是将我的主目录组更改为 www-data 并设置权限。我真的不想这样做,因为这意味着 Apache 可以访问我的主目录,并且可能被我网络上的某个人用来获取我的个人数据。
有谁知道我该如何解决这个问题?
您可以单独保留您的 $HOME 目录所有权。您无需将其设置为 www-data。您要做的是确保 Apache 对 $HOME 及其之上的所有内容具有执行权限。所以,你可以这样做:
但是,$HOME 已加密这一事实可能会给 Apache 带来重大问题,除非您可以以某种方式将 Apache 配置为使用正确的解密密钥。
编辑:
在目录上设置执行权限仅意味着您可以访问目录中的某些内容,前提是您已经知道其名称并且您尝试访问的内容也具有正确的权限。因此,只要您的所有其他文件都具有合理的权限,在 $HOME 上设置全局 x 位并不会带来太大的安全风险。您可能需要查看您的 umask 以确定。