多くの記事を読んでいますが、まだACLを理解していないため、次の質問があります。
ACL
以前の権限(0777など)を使用してファイルの所有者、グループなどを変更すると、どのような利点がありますか? (複数のユーザーがファイルに対して異なる権限を持つことができるので、私には1つだけあります)- ACLはどのように実装されますか? inodeデータを使用していますか?
- 拡張属性(xattr)間に接続がありますか?
- 拡張属性はサポートされていますか
VFS
?それともFS
特定の機能ですか?
これを理解するのに役立ちます。これについての良い記事がありますか?
ありがとう
ベストアンサー1
ACLを使用すると、複数の人とグループに権限を付与できます。たとえば、SAチームとDBAチームがあります。 SAにファイルへの読み取り+書き込みアクセス権を付与しようとしていますが、DBAには読み取りアクセス権しかありません。ファイルにはグループ所有者が1人しかいないため、これを行うのは困難です。しかし、ACLを使用すると簡単です。
ACLの実装はファイルシステムによって異なります。通常、インデックスノードに関連付けられます。例えば
$ echo test > file
$ setfacl -m g:dbus:rw file
$ getfacl file
# file: file
# owner: sweh
# group: sweh
user::rw-
group::r--
group:dbus:rw-
mask::rw-
other::r--
ここでは、ファイルに異なる権限に設定された2つのグループ権限があることがわかります。
ファイル(異なるファイル名、同じinode)間にハードリンクを作成し、結果を見てみましょう。
$ ln file file2
$ getfacl file2
# file: file2
# owner: sweh
# group: sweh
user::rw-
group::r--
group:dbus:rw-
mask::rw-
other::r--
したがって、ファイル間でハードリンクを作成し、新しいファイル名でACLを使用できます。これは、ACL がファイル名ではなく inode に関連付けられていることを示します。
ACLは拡張属性と同じではありませんが、xattr名前空間に保存できます。 xattr 属性はファイルシステムによって異なります。