Linux
限製文件訪問僅附加
我有一個包含日誌文件的目錄,我將使用者啟動的腳本中的日誌放入其中。在這種情況下,似乎無法使用 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_SETFLAGS
ext 相同的 ioctl$$ 234 $$來控制諸如 append-only 之類的標誌,但您可能正在執行它不執行的舊核心(CentOS?)。嘗試使用該
xfs_io
實用程序:echo chattr +a | xfs_io test.log
請注意,對於 XFS,就像對於 ext
$$ 234 $$,只有 root 可以更改 append-only 標誌(更準確地說,您需要該
CAP_LINUX_IMMUTABLE
功能)。