ACL - 新しく作成されたすべてのファイルは自動的に同じACLを使用します。

ACL - 新しく作成されたすべてのファイルは自動的に同じACLを使用します。

たとえば、ACLを設定したいと思います。 /tmp/testフォルダは次のとおりです。

/tmp/testの所有者は、「testgroup」グループのメンバーであるユーザー「gaspar」です。
ユーザー「testuser」は「testgroup」グループのメンバーでもあり、そのユーザー+所有者(ユーザー「gaspar」)にのみrwx権限を付与したいと思います。
また、/tmp/testに新しく作成されたすべてのファイル/ディレクトリに対して同じaclを自動的に設定する必要があります。

faclを次のように設定すると:

setfacl -Rdm u:testuser:rwx,g:testgroup:-,o::- /tmp/test/

getfacl -p /tmp/test/付与された権限:

# file: /tmp/test/
# owner: gaspar
# group: testgroup
user::rwx
group::---
other::---
default:user::rwx
default:user:testuser:rwx
default:group::---
default:group:testgroup:---
default:mask::rwx
default:other::---

これにより、ユーザー "testuser" は /tmp/test フォルダーに対する権限を持っていません。問題がどこにあるか、どのように解決すべきかを提案できますか?

aclをこのように設定すると(「d」オプションなしで)、ユーザー「testuser」は必要な権限を持ちますが、新しく作成されたファイル/ディレクトリには同じaclがないようです。

setfacl -Rm u:testuser:rwx,g:testgroup:-,o::- /tmp/test/

getfacl -p /tmp/test/

# file: /tmp/test/
# owner: gaspar
# group: testgroup
user::rwx
user:testuser:rwx
group::---
group:testgroup:---
mask::rwx
other::---

どんな提案にも感謝します!

答え1

システムでは、再起動後にファイルが消えます/tmp。そうですか?おそらく、これは永久的な解決策のための良い場所ではないかもしれません。ディレクトリにACLを設定し、ディレクトリ内のすべての新しいファイルシステムオブジェクトにACLを適用するときは、2つのマスク、つまり(1)ディレクトリ自体のマスクと(2)すべての新しいファイルシステムオブジェクトのデフォルトマスクを設定する必要があります。 )).

setfacl -m u::rwx,g::r-x,o::--- /tmp/test
setfacl -d -m u::rwx,g::r-x,o::--- /tmp/test

上記のスイッチ-mはマスク/tmp/testであり-d、スイッチはこのマスクを同じディレクトリにあるすべての新しいファイルシステムオブジェクトのデフォルトマスクにします。 0750と同じです。 8進値も使用できます。

ユーザー、グループ、およびその他のマスクは、同じ方法で操作またはg:groupname:---組み合わせて機能しますu:username:---,g:groupname:---,o::---。ユーザー名またはグループ名を指定しないと、現在のユーザー/グループの所有権にマスクが適用されます。

すべてのソフトウェアがACLをサポートしているわけではありません。たとえば、すべてのSFTP / SCPクライアントがこれを知っているわけではありません。

答え2

これは必要です。

man acl基本 ACL については次のとおりです。

アクセス制御リストの種類

各オブジェクトには、オブジェクトへのランダムアクセスを制御するACLが接続されていると見なすことができます。このACLをアクセスACLと呼びます。さらに、ディレクトリにはリンクされたACLがあります。このディレクトリに作成されたオブジェクトの初期アクセスACLを管理します。;ACLが呼び出されます。基本ACL

(強調は私のもの)

ACLとして指定するのは、所有者だけがディレクトリに対するrwx権限を持つことです。ディレクトリのデフォルトのACLは、次を指定します。

  • その中に生成されたすべてのファイルのACLは、親ディレクトリと同じデフォルトのACLに設定されます。
  • その中に作成されたすべてのディレクトリのデフォルトACLは、親ディレクトリのデフォルトACLと同じに設定されます。

親ディレクトリの権限を変更したり、アクセスを有効にするグループ/ユーザーACLを追加したりすると、その中のすべてのファイルが期待どおりに機能します。

答え3

acl の基本部分では、「user::rwx と default:user::rwx」が継承されるものを理解する必要があります。
詳細については、「man setfacl」を読んでください。おそらく、この記事は役に立ちます。
https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.bpxb200/aclinhe.htm

関連情報