SELinuxコンテキスト(せるいぬすこんてきすと)
最終更新:2026/4/28
SELinuxコンテキストは、ファイルやプロセスに割り当てられるラベルであり、セキュリティポリシーの適用範囲を決定する。
別名・同義語 SELinuxラベルセキュリティコンテキスト
ポイント
SELinuxコンテキストは、ユーザー、役割、ファイルの種類などを識別し、アクセス制御を細かく定義するために用いられる。ラベル付けにより、従来のUID/GIDベースのアクセス制御を補完する。
SELinuxコンテキストとは
SELinux(Security-Enhanced Linux)コンテキストは、SELinuxセキュリティポリシーの中核をなす概念です。従来のLinuxのアクセス制御は、ユーザーID(UID)とグループID(GID)に基づいていますが、SELinuxコンテキストはこれに加えて、プロセスやファイルにラベルを付与し、より細粒度のアクセス制御を実現します。
SELinuxコンテキストの構成
SELinuxコンテキストは、以下の要素で構成されます。
- ユーザー (user): プロセスを実行しているユーザーまたは役割。
- 役割 (role): ユーザーが持つ役割。システム管理、Webサーバーなど、特定の機能に限定できます。
- タイプ (type): ファイルまたはプロセスの種類。例えば、httpd_sys_content_t(Webサーバーのコンテンツ)、var_log_t(ログファイル)など。
- レベル (level): 機密レベル。MLS(Multi-Level Security)ポリシーで使用されます。
これらの要素は、コロン (:) で区切られて表現されます。例:user:role:type:level
SELinuxコンテキストの役割
SELinuxコンテキストは、以下の目的で使用されます。
- アクセス制御: プロセスがファイルにアクセスする際に、SELinuxポリシーに基づいてアクセスを許可または拒否します。
- 強制アクセス制御 (MAC): UID/GIDによるDAC(Discretionary Access Control)を補完し、より厳格なセキュリティを実現します。
- コンテナ化: コンテナの分離を強化し、セキュリティリスクを低減します。
SELinuxコンテキストの確認と変更
ファイルやプロセスのSELinuxコンテキストは、以下のコマンドで確認できます。
ls -Z ファイル名: ファイルのコンテキストを表示します。ps -Z プロセスID: プロセスのコンテキストを表示します。
コンテキストの変更には、chconコマンドを使用します。ただし、永続的な変更には、SELinuxポリシーの更新が必要となる場合があります。
SELinuxポリシー
SELinuxコンテキストは、SELinuxポリシーによって管理されます。ポリシーは、どのコンテキストがどのコンテキストにアクセスできるかを定義します。ポリシーの作成と管理は、semanageコマンドやポリシー編集ツールを使用して行います。