我的 apache 服务器将我的项目的日志文件放在
/var/log/apache2/foo_error.log
我将用户和组设置为我的项目(foo:www-data),我什至尝试将 chmod 设置为 777(我知道这是一个风险,但它只是一个本地 VM),但如果我尝试访问它,然后我仍然得到Permission Denied
tail -f /var/log/apache2/foo_error.log
tail: cannot open '/var/log/apache2/foo_error.log' for reading: Permission denied
tail: no files remaining
我想出的唯一解决方案是更改 VHOST 配置,以便将日志文件保存在项目的文件夹中。但是如果日志文件位于 apache2 日志文件夹中,它是否也可以工作,我出于兴趣问这个问题。
Marcus 链接的答案很好地解释了目录权限的工作原理。
要针对您的具体情况回答“如何” - 只要您希望每个人访问自己的日志文件都具有正确的权限以确实允许对其自身进行只读或读写访问,您就可以在文件中创建指向该文件的硬链接这些用户可以访问的中心位置。
请注意,使用符号链接将不起作用,因为它会受到原始文件的父目录权限的影响。
如果您想更好地了解硬链接和符号链接之间的区别(以及为什么会这样) - 请参阅此答案:https ://stackoverflow.com/a/185903/17508208