root 擁有的進程無法寫入文件

root 擁有的進程無法寫入文件

我正在運行一個程式(syslog-ng),它必須在給定路徑中讀取和寫入多個檔案。它在啟動時失敗,聲稱無法開啟該路徑中的檔案。

請假設這個目錄結構:

/var/platform/program

platform目錄的權限設定為0655(所有者使用者沒有執行權限)。如果我將該權限更改為 0755,syslog-ng 就可以正常工作。

另一方面,我用 C 編寫了一個小程序,嘗試打開並寫入同一目錄中的文件,並且在以 root 身份運行時工作正常,但 syslog-ng 失敗......

在這種情況下可能會出現什麼問題?

答案1

syslog 可能想要chdir存取該目錄,因此需要在該目錄上設定執行位。

執行與讀取位元。 Linux 中的目錄權限如何運作?了解更多。

相關內容