GNU/Linux >> Linux の 問題 >  >> Linux

Linux ファイル セキュリティで DAC (ファイル アクセス許可)、ACL、および MAC (SELinux) はどのような役割を果たしますか?

プロセスがファイルに対して操作を実行すると、Linux カーネルは次の順序でチェックを実行します。

<オール>
  • 随意アクセス制御 (DAC) またはユーザーによるアクセス制御。これには、従来の UNIX スタイルのアクセス許可チェックと POSIX アクセス制御リスト (ACL) の両方が含まれます。従来の UNIX チェックでは、現在のプロセスの UID および GID と、アクセスされているファイルの UID および GID を、設定されているモード (読み取り/書き込み/実行) に関して比較します。アクセス制御リストは、従来の UNIX チェックを拡張して、パーミッション制御に関するより多くのオプションを許可します。

  • 強制アクセス制御 (MAC) またはポリシー ベースのアクセス制御。これは、もはや実際のモジュールではない Linux セキュリティ モジュール (LSM) を使用して実装されます (以前はそうでしたが、削除されました)。これらは、従来の UNIX スタイルのセキュリティ チェック以外のモデルに基づく追加のチェックを有効にします。これらのモデルはすべて、どのコンテキストでどのプロセスに対してどのような操作が許可されるかを記述したポリシーに基づいています。

  • これは、inode アクセス (ファイル アクセスを含む) の例で、オンラインの Linux クロス リファレンスへのリンクを使用して私の回答を裏付けています。 「function_name (filename:line)" は Linux カーネルのバージョン 3.14 のものです。

    関数 inode_permission (fs/namei.c:449) 最初にファイルシステム自体の読み取り許可をチェックします (sb_permission fs/namei.c:425 で)、__inode_permission を呼び出します。 (fs/namei.c:394) do_inode_permission の inode で読み取り/書き込み/実行権限と POSIX ACL を確認する (fs/namei.c:368) (DAC) と security_inode_permission の LSM 関連のパーミッション (MAC) (security/security.c:550).

    1 しかありませんでした この順序の例外 (DAC の次に MAC):mmap チェックのためでした。しかし、これは Linux カーネルの 3.15 バージョンで修正されています (関連するコミット)。


    DAC ==Discretionary Access Control 、http://en.wikipedia.org/wiki/Discretionary_access_control
    MAC ==Mandatory Access Control 、http://en.wikipedia.org/wiki/Mandatory_access_control
    ACL ==Access Control List 、http://en.wikipedia.org/wiki/Access_control_list

    ACL 制御方法 DAC によって適用される制御を指定します または MAC . MAC DAC は、明示的で集中管理されており、明示的な許可がない限り、ユーザーがオブジェクトに権限を付与することを許可しません。 アクセス可能なオブジェクトへのアクセス権を他のユーザーに付与できます。

    MAC ACL s は常に最初にリクエストに適用され、アクセスが拒否された場合は処理が停止します。アクセスが許可されている場合、DAC ACL s が適用され、アクセスが拒否されると処理が停止します。 MAC の両方によってアクセスが許可されている場合のみ そして DAC ACL ユーザーは要求したオブジェクトにアクセスできますか。

    SELinux MAC です Linux 向けの実装 (他にもあります)、従来の rwx 完全な DAC フォームを所有するユーザーとグループと組み合わせたファイルのアクセス許可 ACL . SELinux 「ポリシー」は基本的に MAC です ACL .


    口論して申し訳ありませんが、ここにある答えのいくつかはかもしれませんと思います 間違っている。 Fedora の http://docs.fedoraproject.org/en-US/Fedora/13/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Working_with_SELinux-SELinux_Contexts_Labeling_Files.html から直接:

    <ブロック引用>

    SELinux ポリシー ルールは、DAC ルールの後にチェックされます。 DAC ルールが最初にアクセスを拒否する場合、SELinux ポリシー ルールは使用されません。


    Linux
    1. Linuxのスティッキービット、SUID、SGIDとは

    2. NFSとは何ですか?Linuxにインストールする方法

    3. Linux – Gnu / linuxでファイルパーミッションなどを設定するさまざまな方法は何ですか?

    1. Linux ファイルシステムで ACL (アクセス制御リスト) を構成する方法

    2. UNIX/Linux :アクセス制御リスト (ACL) の基本

    3. Linux ファイル システムのソフト リンクとハード リンクとは

    1. Windows、Mac OS X、Linux はどの言語で書かれていますか?

    2. Linux および Mac OS X 用の XPerf の代替手段は何ですか?

    3. Linuxでファイルをコピー、読み取り、削除するコマンドは何ですか