所有者無法寫入日誌文件

所有者無法寫入日誌文件

我正在編寫一個 python 腳本,我在 /var/log/ 資料夾中創建了一個具有 664 權限的文件

python 腳本無法將日誌寫入建立的文件,IDK 為什麼...因為檔案擁有者是 ubuntu(aws 的預設使用者)。

我非常小心地授予了該文件的讀寫權限

由於權限被拒絕問題,計劃的 crontab 無法運行該應用程式。有任何想法嗎?

i) 用於設定 crontab 的命令 - crontab -e ii) 運行 python 腳本的 crontab 行 - */30 * * * * python3 /home/ubuntu/message_initiator.py iii) 確切的錯誤訊息 -Permission denied: '/var/log/ice-message-initiator.log'

答案1

如果你跑

ll -d /var/log

root然後您將看到它由(可能syslog是群組)擁有並具有 755 或 775 權限,這意味著雖然其他人可以讀取和遍歷該目錄,但只有root(並且可能syslog)可以修改它。ice-message-initiator.log是 in/var/log並且ubuntu是其所有者,ubuntu沒有修改權限,/var/log這意味著它無法修改其內容,無論它們是檔案還是目錄。該錯誤不是因為ubuntu使用者無法讀取該檔案而發生,而是因為由於沒有對其父目錄的修改權限而無法寫入該檔案/var/log

要讓你的 cronjob 工作,你要么需要運行它,root要么讓它將日誌檔案寫入子目錄,例如並為其/var/log/ice授予修改權限。ubuntu

相關內容