是否可以允许用户访问目录而不使其成为所有者?

时间:2015-03-17 21:18:14

标签: linux ubuntu

对于我的桌面计算机,我希望能够在浏览器中访问主目录中的文件。

我已将Apache DocumentRoot设置为我的家,但我从逻辑上讲是一个禁止的页面。我尝试在我的论坛中添加www-data用户,结果相同。

我不希望完全访问我家中的任何用户。

那我该怎么办才能让apache读到我家的目录?

$ 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/

apache conf:

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

1 个答案:

答案 0 :(得分:1)

确保运行网络服务器的用户对他们需要查看的所有文件具有完整的read权限。对于他们需要遍历的任何目录,他们还需要execute权限。

所以您似乎已将www-data用户添加到您自己的群组中,这应该符合上述要求。

请注意,新的组成员资格不会立即生效:交互式用户需要再次登录,需要重新启动守护程序(因此:重启apache)。 w32方式(只需重启)也可以。

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

btw,您是否知道~/public_html目录传统上由您的网络浏览器导出为~<user>(因此,如果您的登录名为“gael”,则可以通过{{1}访问此目录})。如果该目录不存在,只需创建它并确保将其组设置为http://localhost/~gael/。这是一种通过网络分享某些数据的更安全的方式。