Linux

Linux - 讓使用者在沒有日誌文件文件夾權限的情況下訪問日誌文件?

  • December 29, 2021

我的 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 連結的答案很好地解釋了目錄權限的工作原理。

要針對您的具體情況回答“如何” - 只要您希望每個人訪問自己的日誌文件都具有正確的權限以確實允許對其自身進行只讀或讀寫訪問,您就可以在文件中創建硬連結這些使用者可以訪問的中心位置。

ln /var/log/apache2/foo_error.log /path/to/user_accessible_dir/foo_error.log

請注意,使用符號連結將不起作用,因為它會受到原始文件的父目錄權限的影響。

如果您想更好地了解硬連結和符號連結之間的區別(以及為什麼會這樣) - 請參閱此答案:https ://stackoverflow.com/a/185903/17508208

引用自:https://unix.stackexchange.com/questions/684279