SPONSORED

SELinuxコンテキスト(せるいぬすこんてきすと)

最終更新:2026/4/28

SELinuxコンテキストは、ファイルやプロセスに割り当てられるラベルであり、セキュリティポリシーの適用範囲を決定する。

別名・同義語 SELinuxラベルセキュリティコンテキスト

ポイント

SELinuxコンテキストは、ユーザー、役割、ファイルの種類などを識別し、アクセス制御を細かく定義するために用いられる。ラベル付けにより、従来のUID/GIDベースのアクセス制御を補完する。

SELinuxコンテキストとは

SELinux(Security-Enhanced Linux)コンテキストは、SELinuxセキュリティポリシーの中核をなす概です。従来のLinuxのアクセス制御は、ユーザーIDUID)とグループ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コマンドやポリシー編集ツールを使用して行います。

SPONSORED