是否可以允许用户访问目录而不让他成为所有者



对于我的台式机,我希望能够在浏览器中访问主目录中的文件。

我已经将Apache DocumentRoot设置为我的主页,但从逻辑上讲,我得到了一个被禁止的页面。我尝试在我的组中添加www-data用户,结果相同。

我不想让家里的任何用户都能完全访问。

那么,我应该如何让apache读取我的home目录呢?

$ ls -la /home | grep gael
drwxr-xr-x 44 gael    gael     4096 mars  17 22:30 gael
$ groups www-data;
www-data : www-data gael

错误日志:

  [Tue Mar 17 22:43:06.592819 2015] [authz_core:error][pid 4572] [client 127.0.0.1:59677]
 AH01630: client denied by server configuration: /home/gael/

apacheconf:

<VirtualHost *:80>
    DocumentRoot /home/gael/
</VirtualHost>

确保运行Web服务器的用户对他们需要查看的所有文件具有完全的read权限。他们还将要求对他们需要遍历到的任何目录具有CCD_ 4权限。

因此,您似乎已将www-data用户添加到自己的组中,该组应满足上述要求。

请注意,新的组成员身份不会立即生效:交互式用户需要再次登录,需要重新启动守护进程(因此:重新启动apache)。w32的方式(只是重新启动)也会起作用。

顺便说一句,通过网络服务器公开你的家似乎是一个糟糕的想法:任何可以访问网络服务器的人(通常是同一网络上的任何人)都可以看到你的主目录。确保您添加了额外的安全性(密码保护、加密…)。

顺便说一句,你知道吗,~/public_html目录传统上是由你的web浏览器导出为~<user>的(所以如果你的登录名是"gael",你可以通过http://localhost/~gael/访问这个目录)。如果目录不存在,只需创建它,并确保将其组设置为www-data。这是一种通过网络共享某些数据的更安全的方式。

最新更新