特定の権限を持つファイル生成を無効にできますか?

特定の権限を持つファイル生成を無効にできますか?

特定のグループIDを持つディレクトリがあり、そのディレクトリに同じIDを持つファイルだけがあることを望みます。

そのため、そのディレクトリにSGIDビットを設定してファイルを生成するたびに正しいIDを取得します。これで、cpやtouchなどのコマンドが機能します。問題は、誰かがmvを使用してディレクトリ内でファイルを移動した場合、グループIDがそのディレクトリのグループIDに設定されないことです。

私はこのようなことが起こりたくありません。

答え1

ファイル/ディレクトリの一般的な読み取り/書き込み/実行権限を使用してこれを行う方法がわかりません。ただし、アクセス制御リスト(ACL)を使用できます。人間アクセス制御リストどのように動作するかを学ぶ設定値特に権限を設定するコマンドです。

たとえば、

$ setfacl -Rm u:foo:rwX,d:u:foo:rwX test

現在のACLとデフォルトのACLを変更します。私は「d:」がディレクトリの(d)ベースACLにのみ影響し、ファイルは影響を受けないと思います。その後、そのディレクトリに新しいファイルを作成すると、デフォルトで親ディレクトリのACLが継承されます。

引用する

答え2

この場合、FTPはどのように機能しますか? FTPのみを使用してファイルを転送することはできませんmovecopiedFTPはソリューションになることができますか?

答え3

chown root $MYDIR
chmod ug+rw,o=- $MYDIR

それでは$ MYDIRを見てください。ファイルが変更されたら、以下を確認する必要があります。

これをループに入れることができます。

sleep 60
touch --reference $MYDIR /dev/shm/lastcheck_mydir
find $MYDIR -type f -anewer /dev/shm/lastcheck_mydir 

find新しいファイルが見つかったら、次のように対処できます。

find $MYDIR -type f -anewer /dev/shm/lastcheck_mydir -exec chgrp $MYGID {} \;

関連情報