49.8.3. ターゲットポリシー内のユーザーとロールについて
このセクションでは、targeted ポリシーで有効になっている特定のロールについて説明します。
unconfined_t
タイプはすべてのロールに存在するため、ターゲットポリシーでのロールの有用性が大幅に削減されます。ロールをより広範囲に使用するには、厳密なポリシーパラダイム(各プロセスが個別にドメインと見なされる)に変更する必要があります。
実際には、targeted ポリシーには
system_r
と object_r
の 2 つのロールのみがあります。初期ロールは system_r
であり、それ以外はすべてそのロールを継承します。残りのロールは、targeted ポリシーと strict ポリシー間の互換性の目的で定義されます。[20]
この 4 つのロールは、このポリシーにより 3 つ定義されます。4 番目のロールである
object_r
は暗黙的なロールで、ポリシーソースには見つかりません。ロールは、ポリシーの 1 つ以上の宣言を使用してタイプで作成および設定されるため、すべてのロールを宣言する単一のファイルはありません。(ポリシー自体は、多数の別々のファイルから生成されることに注意してください。)
system_r
- このロールは、ユーザープロセス以外のすべてのシステムプロセスを対象としています。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow user_r
- これは、通常の Linux ユーザーのデフォルトのユーザーロールです。厳密なポリシーでは、個々のユーザーが使用される可能性があり、ユーザーに特別なロールで特権操作を実行できるようにします。targeted ポリシーでは、すべてのユーザーが
unconfined_t
ドメインで実行されます。 object_r
- SELinux では、RBAC が使用されている場合、ロールはオブジェクトに使用されません。ロールはサブジェクトに厳密に使用されます。これは、ロールはタスク指向で、それらがアクションを実行するエンティティー(プロセスなど)にグループ化するためです。このようなエンティティーはすべて、サブジェクト と呼ばれます。このため、すべてのオブジェクトには
object_r
ロールがあり、ロールはラベルのプレースホルダーとしてのみ使用されます。 sysadm_r
- これは、厳密なポリシーのシステム管理者ロールです。root ユーザーとして直接ログインする場合、デフォルトのロールは実際には
staff_r
である可能性があります。true の場合、newrole -r sysadm_r コマンドを使用して SELinux システム管理者ロールに切り替え、システム管理タスクを実行します。Targeted ポリシーでは、互換性のために以下のsysadm_r
を保持します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Targeted ポリシーには、実際には 1 つのユーザー ID しかありません。
libselinux
はデフォルトの SELinux ユーザー ID として user_u
に戻されるため、user_u
ID が選択されました。これは、ログインしている Linux ユーザーに一致する SELinux ユーザーがない場合に発生します。ターゲットポリシーで user_u
を単一ユーザーとして使用すると、strict ポリシーへの変更が容易になります。残りのユーザーは、strict ポリシーとの互換性のために存在します。[21]
1 つの例外は、SELinux ユーザー
root
です。プロセスのコンテキストでは、ユーザー ID として root
が確認できます。これは、SELinux ユーザー root
がコマンドラインからデーモンを起動するか、init によって最初に起動するデーモンを再起動する際に発生します。