GNU/Linux >> Linux の 問題 >  >> Cent OS

Centos – Acl権限はどのように処理され、特定のユーザーアクションにどのような順序で適用されますか?

CentOS 6.4

ファイルシステムのACLルールがどのように処理され、ACLルールがどのような順序で適用されるかをよりよく理解しようとしています。

たとえば、ユーザーのbobとjoeがsalesというグループに属しているとします。また、次の詳細が記載された販売ドキュメントがあるとします。

[[email protected] ~]# getfacl /home/foo/docs/foo.txt
getfacl: Removing leading '/' from absolute path names
# file: home/foo/docs/foo.txt
# owner: jane
# group: executives
user:: r--
user:bob:rw-
user:joe:rwx
group:sales:rwx
group::r--
mask::rwx
other::---

私の質問は、このような例ではアクセス許可はどのように処理され、どのアクセス権限が優先されるのかということです。

トップダウン検索だけがあり、最初に一致するルールが適用されますか?

または、Linuxは、問題のユーザーに最も具体的なルールに基づいてアクセスを強制しますか?または、おそらく最も制限的で適用可能なルールが優先されますか?

承認された回答:

これは一種の幅広いトピックであり、ここで取り上げるには少し多すぎます。 SuSELabsのAndreasGrünbacherがまとめたLinuxホワイトペーパーのPOSIXアクセス制御リストを紹介します。 ACLがどのように機能するかを理解できるように、主題をカバーして分解するのはかなり良い仕事です。

あなたの例

それでは、あなたの例を見て、それを分解してみましょう。

  • グループ(販売)
  • 販売グループのメンバー(bob、joe)

次に、ファイル/home/foo/docs/foo.txtの権限を分類してみましょう。 。 ACLは、ほとんどの人がUnixで精通している必要があるのと同じ権限、主にユーザー、グループ、およびその他のビットもカプセル化します。それでは、最初にそれらを引き出しましょう。

user:: r--
group::r--
other::---

これらは通常、ls -lでは次のようになります。 :

$ ls -l /home/foo/docs/foo.txt
-r--r----- 1 jane executives 24041 Sep 17 15:09 /home/foo/docs/foo.txt

これらのACL行を使用して、ファイルの所有者とグループが何であるかを確認できます。

# owner: jane
# group: executives

さて、ACLの核心に迫ります:

user:bob:rw-
user:joe:rwx
group:sales:rwx

これは、そのユーザーがbobであることを示しています rwがあります 、ユーザーjoe rwxがあります 。 rwxを持つグループもあります ジョーに似ています。これらの権限は、ls -lのユーザー列のようです。 出力には、3人の所有者(jane、bob、およびjoe)と2つのグループ(エグゼクティブおよびセールス)が含まれていました。 ACL以外の区別はありません。

最後に、mask 行:

mask::rwx

この場合、私たちは何もマスキングしていません、それは広く開かれています。したがって、ユーザーがボブとジョーに次の行がある場合:

user:bob:rw-
user:joe:rwx

次に、それらは有効な権限です。マスクが次のような場合:

mask::r-x

その場合、有効な権限は次のようになります。

user:bob:rw-    # effective:r--
user:joe:rwx    # effective:r-x

これは、大規模な方法で付与される権限を削減するための強力なメカニズムです。

関連:Debian –完全なWebページコンテンツをカールさせる方法は?

注: ファイルの所有者およびその他のアクセス許可は、有効な権利マスクの影響を受けません。他のすべてのエントリは!したがって、マスクに関しては、ACLのアクセス許可は、従来のUnixのアクセス許可と比較すると、二流の市民です。

参考資料

  • getfacl(1)–Linuxのマニュアルページ
  • LinuxホワイトペーパーのPOSIXアクセス制御リスト

Cent OS
  1. システムにログオンしているユーザーとそのユーザーが行っていることを確認する方法

  2. CentOS / RHEL :anacron の基本 (anacron とは何か、およびその構成方法)

  3. CentOS/RHEL でユーザーとクライアント アドレスによって ssh ログインを制限する方法

  1. Dockerログ:ログとは何かとその使用方法(例を含む)

  2. Linuxでユーザーグループを作成および削除する方法

  3. すべてのモジュールを一覧表示し、CentOS/RHEL 8 で有効か無効かを確認する方法

  1. RockyLinuxおよびCentOSでSudoユーザーを作成する方法

  2. ファイルパーミッションにおけるユーザーとグループ所有者の優先順位?

  3. SELinux モードとは何か、およびその設定方法