フォルダの内容を保護する方法(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
eventsとしてマークされた新しいファイルにのみ応答するコマンドが含まれていますCREATE
。path
from変数inotifywait
には末尾のスラッシュ文字があるため、2つの間にスラッシュを指定せずに$path
andを連結できます。$file