dir権限:含まれているファイルを削除しますが、ファイルを作成または書き込みすることはできません。

dir権限:含まれているファイルを削除しますが、ファイルを作成または書き込みすることはできません。

ユーザーディレクトリを次のように作成したいと思います。

  • ユーザーはファイルを一覧表示できます。
  • ユーザーがファイルを読み取ることができます。
  • ユーザーはファイルを削除できます
  • ユーザーはファイルを追加できません。
  • (理想的には、ユーザーはファイルを変更することはできません。

権限とxattrsを使用してこれを行う方法が見つかりません。どんなアイデアがありますか?使用されるファイルシステムのタイプはNFS v3およびGPFSです。オペレーティングシステムはRHEL 7 Linuxです。

答え1

ファイルセットクォータを使用してこの問題を解決できます。ディレクトリをファイルセットにします。

cd /gpfs/gpfs0/subdirectoryY/
mmcrfileset gpfs0 testfileset
mmlinkfileset gpfs0 testfileset

必要なすべてのファイルを作成し、ファイルセットのファイル数クォータを1に設定します。

# mmsetquota gpfs0:testfileset --files 1:1 

デフォルトでは、ルートはクォータを超える可能性があるため、ルートはここでファイルを作成できますが、他のファイルは拒否されます。

# touch testfileset/file1 testfileset/file2 testfileset/file3

# chown nobody testfileset
# sudo -u nobody touch testfileset/file4 testfileset/file5 testfileset/file6
touch: cannot touch 'testfileset/file4': Disk quota exceeded
touch: cannot touch 'testfileset/file5': Disk quota exceeded
touch: cannot touch 'testfileset/file6': Disk quota exceeded

残りはちょうど一般的なファイル権限です。

関連情報