Linux

限製文件訪問僅附加

  • November 26, 2018

我有一個包含日誌文件的目錄,我將使用者啟動的腳本中的日誌放入其中。在這種情況下,似乎無法使用 syslog 進行日誌記錄。(非守護程序 rsync)

我希望使用者只有對日誌文件的寫權限。問題是,必須進一步限制寫入權限,以便使用者(腳本)只能附加到該文件。底層文件系統是 XFS。

以下不起作用:

# chattr +a test.log
chattr: Inappropriate ioctl for device while reading flags on test.log

有沒有其他解決方案?謝謝你的提示。

chattr實用程序是為 ext2/ext3/ext4 文件系統編寫的。它在文件上發出ioctl,因此由底層文件系統決定如何處理它們。較新的 Linux 核心中的 XFS 驅動程序支持與FS_IOC_SETFLAGSext 相同的 ioctl

$$ 234 $$來控制諸如 append-only 之類的標誌,但您可能正在執行它不執行的舊核心(CentOS?)。嘗試使用該xfs_io實用程序:

echo chattr +a | xfs_io test.log

請注意,對於 XFS,就像對於 ext

$$ 234 $$,只有 root 可以更改 append-only 標誌(更準確地說,您需要該CAP_LINUX_IMMUTABLE功能)。

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