setfacl -d を使用すると、ユーザーに有効なアクセス権がありません。

setfacl -d を使用すると、ユーザーに有効なアクセス権がありません。

2人の特定のユーザーと共有したいディレクトリがあります。まだコンテンツはありませんが、ファイルとサブディレクトリを追加するには、3つすべてが必要で、すべてのエントリ(少なくともデフォルトでは)が同じ権限を継承することが重要です。私たちのうちの3人はすべての権限を持っており、残りは何も得ませんでした。

私は次の方法でこれを達成したと思います。

setfacl -m u:myfriend:rwx Directory
setfacl -d -m u:myfriend:rwx Directory

ただし、ディレクトリにテストファイルを作成すると、次のようになります。

$$$ getfacl TESTFILE
# file: TESTFILE
# owner: me
# group: me
user::rw-
user:myfriend:rwx                     #effective:---
group::---
mask::---
other::---

マスクが問題のようですが、ディレクトリのマスクが一致しません。ディレクトリからgetfaclを実行すると、次のような結果が得られます。

$$$ getfacl .
# file: .
# owner: me
# group: me
user::rwx
user:myfriend:rwx
group::---
mask::rwx
other::---
default:user::rwx
default:user:myfriend:rwx
default:group::---
default:mask::rwx
default:other::---

私がここで何を間違っているのか?ありがとうございます!

ベストアンサー1

ファイルが生成されると、ファイルのACLマスクが変更されます。このようなことは起こってはいけません。どのようにこのようなことが起こるかは言えませんが、そのようなことが起こることが知られています。

setfaclこのファイルを呼び出すと、問題は解決されます(--no-mask指定されていない限り)。マスクを明示的に設定することもできます。

setfacl -m m:rw filename

おすすめ記事