保護覆蓋資料夾內容

保護覆蓋資料夾內容

有沒有辦法(使用 acl)來保護資料夾的內容?使用者應在資料夾內建立文件,但不得覆蓋/編輯/刪除它們。這可能嗎?

答案1

人們可能會用來inotifywait監視目錄並進行更改,例如更改複製到目錄中的每個新檔案的所有權。在基於 Debian 的發行版中,如下安裝軟體:apt-get install inotify-tools.

也許創建一個腳本,/usr/local/sbin/inbox.sh如下所示。

#!/usr/bin/env bash
inotifywait -m -e create "/path/to/directory" |
while read path event file; do
    if [ "$event" = "CREATE" ]; then
        chown root:root "$path$file"
    fi
done

授予腳本執行權限 ( chmod 0700 /usr/local/sbin/inbox.sh)。然後在啟動時從(例如)/etc/rc.local或任何合適的 RC 檔案運行它:/usr/local/sbin/inbox.sh &.

根據手動的-m無限期監視並-e監視特定事件。在while循環內,可以接收諸如 之類的事件CREATE,ISDIR,當然,它指示目錄的創建。目錄不是問題的目標;因此,該if語句包含一個僅回應新檔案的命令,這些新檔案以事件 表示CREATE。變數pathfrominotifywait有一個尾部斜線字符,因此可以連接$path和 ,$file而無需在兩者之間指定斜線。

相關內容