我正在嘗試將帶有 mv 的檔案從使用者資料夾移至 Web 伺服器,以便我可以獲得這些檔案的目錄清單。這部分正在發揮作用。但檔案有-rwxr-xr-x+。我不確定這個 + 是否阻止我下載此文件,因為我使用 setfacl -bn /path 刪除了它,但仍然無法正常工作
我的問題是由於 403 錯誤,無法從目錄列表中下載由 crontab 移動的檔案。我向這些文件添加了 chmod 755 並 chown apache:apache,但仍然無法下載它們。
我的問題是有沒有辦法讓它們可以下載,或者我可以直接從用戶資料夾中列出它們並有權下載。
答案1
除了權限和 ACL 之外,文件還可能附加一個「安全標籤」(或安全性上下文),最常見的是 SELinux,我相信它在 CentOS 中已啟用。例如,如果該檔案最初是由您在 /home/dawid 中建立的,則它將具有「使用者個人檔案」的安全標籤,無論該檔案移至何處或具有什麼權限,Apache 都不允許存取該標籤。
ls -lZ
將顯示檔案和目錄的目前標籤。據我所知,您可以使用restorecon
命令讓系統根據檔案的新位置重新套用正確的標籤 - 您的 cronjob 需要在每次移動檔案後執行此命令。