我正在運行一個程式(syslog-ng),它必須在給定路徑中讀取和寫入多個檔案。它在啟動時失敗,聲稱無法開啟該路徑中的檔案。
請假設這個目錄結構:
/var/platform/program
該platform
目錄的權限設定為0655(所有者使用者沒有執行權限)。如果我將該權限更改為 0755,syslog-ng 就可以正常工作。
另一方面,我用 C 編寫了一個小程序,嘗試打開並寫入同一目錄中的文件,並且在以 root 身份運行時工作正常,但 syslog-ng 失敗......
在這種情況下可能會出現什麼問題?
答案1
syslog 可能想要chdir
存取該目錄,因此需要在該目錄上設定執行位。