ユーザーがファイル/フォルダを作成または変更できるだけで削除できないようにフォルダを設定しようとしています。 "chattr + a"コマンドを試しましたが、RHEL5.8とRHEL6.5で異なる結果が得られました。次のコマンドを試しました。
# chattr +a /home/share
RHEL5.8では、/home/shareフォルダの下に新しく作成されたファイル/フォルダに対して"append"属性が自動的に設定されますが、これが私が望むものです。ただし、RHEL6.5ではそうではないため、ユーザーは/home/shareサブフォルダの下のファイル/フォルダを削除し続けます。たとえば、
$ mkdir /home/share/test-folder
$ touch /home/share/test-folder/test-file
$ rm /home/share/test-folder/test-file
"test-file"ファイルはまだ削除できます。
だから私の質問はRHEL6.5でRHEL5.8と同じ結果を得ることができますか?それとも別の解決策がありますか?
ありがとうございます。
答え1
1つのオプションは、カーネルファイル通知を一覧表示するツールをインストールすることです(inotify)。次に、chattr
ファイルとディレクトリが作成されるとすぐに実行されるように設定します。
以下の例incrond
では(DebianおよびRed Hat / CentOS EPELリポジトリで利用可能です)を使用していますが、以下を使用することもできます。パム、NFS エクスポートを使用する場合。
mkdir /srv/incrontest
/etc/incron.d/incrontest
次の内容でファイルを作成します。
/srv/incrontest IN_CREATE chattr +a $@/$#
次に、デーモンsystemctl start incronを(再)起動します。
systemctl enable incron
(RPMの世界に住んでいる場合は必ず確認してください)
バラより