私は特定のグループの一部のファイルを保存するために共有フォルダを設定しようとしました/home/project
。現在私は次のことをしました。
グループが作成され、これを「メンバー」と呼び、user1とuser2という2人のユーザーが追加されます。
これを実行すると、cat /etc/group
次のものが返されます。
メンバー:x:1005:ユーザー1、ユーザー2
これは少なくとも正しいようです。その後、正直なところ、いくつかのインターネットガイドに従ってディレクトリを作成し、権限を追加しました。
mkdir /home/project
sudo chown -R root.members /home/project
sudo chmod 775 /home/project
sudo chmod 2775 /home/project
これはすべてうまくいくようですが、user2でテストテキストファイルを作成すると、user1ができます。読むファイルですが、書き込み権限がありません。私は何が間違っていましたか?
答え1
時々、私たちは技術的な問題を扱うときに単純なことを考えます。私たちは皆、このようなことをしませんか?ユーザーがログアウトして再度ログインすると、グループメンバーシップが取得されます。
答え2
問題は、フォルダの権限ではなく、新しく作成されたオブジェクトの権限です。これらの権限は2つのメカニズムによって決定されます。
- umask (常に)
- デフォルトのACL(使用されている場合)
umask は、新しいオブジェクトに対してブロックされる権限を決定します。デフォルトは、022
このグループと他のグループに対する書き込み権限をブロックすることです。ログインするたびにこの値を適切に設定する必要があります。
umask 002
ACLを使用している場合は、新しいオブジェクトのグループ権限を設定できます。
setfacl -m d:g::rwx /home/project