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 によって最初に起動するデーモンを再起動する際に発生します。