ディレクトリがあり、その中にあるすべてのファイルを、どのユーザーが編集しても、いかなる方法でも常にライセンスを取得して所有することを望んでいます。
これは近いです:
# users: wilma, betty
# group: devs contains wilma and betty.
# directory: 'dir'
chgrp -R devs dir
find dir -type d -exec chmod 2770 \{\} \+
find dir -type f -exec chmod 660 \{\} \+
setfacl -d -R -m group:devs:rwx dir
setfacl -R -m group:devs:rwx dir
しかし、ユーザーの1人がchmods(aclマスクリセット)を実行し、実際の生活で見たいくつかの異なる状況が発生しますが、まだどのように発生するかを決定できない場合は、まだ混乱する可能性があります!
デフォルトでは、これらのユーザーが権限を変更したくありません。
私が考えることができる唯一の方法は、vfat fsを作成してそのディレクトリにマウントすることです!
答え1
ヒューズファイルシステムが利用可能ファイルシステムバインディングこの目標を達成するために。
たとえば、ユーザー wilma と betty がファイル ディレクトリを共有できるようにするには、両方とも書き込みアクセス権を持ち、互いのアクセスを制限することはできません。
Wilmaがデフォルトユーザーであり(この目的のために3番目のユーザーを選択できます)、両方とも「devs」グループに属しているとします。
wilma% mkdir src -m760
wilma% echo some content >src/file-created-by-wilma
wilma% mkdir shared
wilma% bindfs src shared -g devs -u wilma -p770 -m wilma:betty --create-with-perms=660
これで設定されているので、2人のユーザーがこの共有インストールからいくつかのファイルを生成します。
wilma% cd shared
wilma% echo hi>file-created-by-wilma-inside-bindfs
betty% cd /path/to/shared
betty% echo hi>file-created-by-betty-inside-bindfs
マウントポイント内のファイルを表示します。各ユーザーは自分を所有者だと思います!
wilma% ls -l
-rwxrwx--- 1 wilma devs file-created-by-willma
-rwxrwx--- 1 wilma devs file-created-by-willma-inside-bindfs
-rwxrwx--- 1 wilma devs file-created-by-betty-inside-bindfs
betty% ls -l
-rwxrwx--- 1 betty devs file-created-by-willma
-rwxrwx--- 1 betty devs file-created-by-willma-inside-bindfs
-rwxrwx--- 1 betty devs file-created-by-betty-inside-bindfs
「実際の」ファイルを見る...
wilma% ls -l src/
-rw-rw--- 1 wilma wilma file-created-by-willma
-rw-rw--- 1 wilma wilma file-created-by-willma-inside-bindfs
-rw-rw--- 1 wilma wilma file-created-by-betty-inside-bindfs