Red Hat Training

A Red Hat training course is available for RHEL 8

3.3. SELinux における制限のある非管理者ロール

SELinux では、制限のある非管理者ロールは、特定のタスクを実行するための特定の権限とアクセス権のセットを、そのロールに割り当てられた Linux ユーザーに付与します。個別の制限のある非管理者ロールを割り当てることで、個々のユーザーに特定の権限を割り当てることができます。これは、複数のユーザーにそれぞれ異なるレベルの認可を与えるシナリオで役立ちます。

システム上の関連する SELinux ブール値を変更することで、SELinux ロールの権限をカスタマイズすることもできます。SELinux のブール値とその現在の状態を確認するには、root として semanage boolean -l コマンドを使用します。selinux-policy-devel パッケージをインストールすると、より詳細な説明を取得できます。

# semanage boolean -l
SELinux boolean                State  Default Description
...
xguest_connect_network         (on   ,   on)  Allow xguest users to configure Network Manager and connect to apache ports
xguest_exec_content            (on   ,   on)  Allow xguest to exec content
...

user_tguest_t、および xguest_t ドメインの Linux ユーザーは、SELinux ポリシーで許可されている場合のみ (passwd など)、setuid (set user ID) アプリケーションを実行できます。これらのユーザーは setuid アプリケーション su および sudo を実行できないため、これらのアプリケーションを使用して root になることはできません。

デフォルトでは、staff_t ドメイン、user_t ドメイン、guest_t ドメイン、および xguest_t ドメインの Linux ユーザーは、ホームディレクトリーと /tmp でアプリケーションを実行できます。アプリケーションは、それを実行したユーザーの権限を継承します。

guest_t および xguest_t ユーザーが書き込みアクセス権を持つディレクトリーでアプリケーションを実行できないようにするには、guest_exec_content および xguest_exec_content のブール値を off に設定します。

SELinux には、次の制限のある非管理者ロールがあり、それぞれに特定の権限と制限があります。

guest_r

非常に限られた権限しかありません。このロールに割り当てられたユーザーは、ネットワークにアクセスできませんが、/tmp および /home ディレクトリー内のファイルを実行できます。

関連するブール値:

SELinux boolean                State  Default Description
guest_exec_content             (on   ,   on)  Allow guest to exec content
xguest_r

権限が制限されています。このロールに割り当てられたユーザーは、X Window にログインし、ネットワークブラウザーを使用して Web ページにアクセスし、メディアにアクセスできます。/tmp および /home ディレクトリー内のファイルを実行することもできます。

関連するブール値:

SELinux boolean                State  Default Description
xguest_connect_network         (on   ,   on)  Allow xguest users to configure Network Manager and connect to apache ports
xguest_exec_content            (on   ,   on)  Allow xguest to exec content
xguest_mount_media             (on   ,   on)  Allow xguest users to mount removable media
xguest_use_bluetooth           (on   ,   on)  Allow xguest to use blue tooth devices
user_r

非特権アクセス権と完全なユーザー権限を持ちます。このロールに割り当てられたユーザーは、管理者権限を必要としないほとんどのアクションを実行できます。

関連するブール値:

SELinux boolean                State  Default Description
unprivuser_use_svirt           (off  ,  off)  Allow unprivileged user to create and transition to svirt domains.
staff_r

user_r と同様の権限と追加の特権を持ちます。特に、このロールに割り当てられたユーザーは、sudo を実行して、通常は root ユーザー用に予約されている管理コマンドを実行できます。これにより、ロールと実効ユーザー ID (EUID) が変更されますが、SELinux ユーザーは変更されません。

関連するブール値:

SELinux boolean                State  Default Description
staff_exec_content             (on   ,   on)  Allow staff to exec content
staff_use_svirt                (on   ,   on)  allow staff user to create and transition to svirt domains.

関連情報

  • sudo の詳細は、sudo アクセスの管理 を参照してください。
  • Linux ユーザーを Staff_u にマッピングし、sudo を設定するには、sudo および sysadm_r ロールを使用した管理者の制限 を参照してください。
  • 各ロールと関連するタイプの詳細は、次の関連する man ページを参照してください。これらのページは、selinux-policy-doc パッケージとともにインストールされます。

    • guest_selinux(8)
    • xguest_selinux(8)
    • user_selinux(8)
    • staff_selinux(8)