我在我的(虚拟根)服务器上运行一个 Web 服务器,允许一位朋友托管自己的页面。该页面位于他的主目录中,Apache 的配置方式是VirtualHost
将该目录用作DocumentRoot
。该目录的 access.log 和 error.logVirtaulHost
位于特定文件/var/log/apache2
中VirtualHost
。
/var/log/apache2
所有这些都运行良好 - 但我的朋友当然没有权限阅读里面的任何内容。
我怎样才能授予他对这些文件的读取权限而不暴露其他任何内容/var/log/
?
(当然,他的主目录中的 naiveln -s /var/log/apache2/friend.access.log
没有起作用......)
答案1
要在 Unix 系统上读取文件,您需要x
所有级别的父目录的权限位以及r
该文件的权限位。例如,在您的例子中,除了在 上,friend
还需要x
在 上/var
,/var/log
和上。如果您不想授予所有用户读取文件的权限,即使他们拥有该文件的权限并知道确切路径,您也可以通过 ACL 执行此操作。/var/log/apache2
r
/var/log/apache2/friend.access.log
/var/log
r