Red Hat Training
A Red Hat training course is available for RHEL 8
3.3. SELinux ユーザー機能
SELinux ポリシーは、各 Linux ユーザーを SELinux ユーザーにマッピングします。これにより、Linux ユーザーは SELinux ユーザーの制限を継承できます。
ポリシーのブール値を調整することで、SELinux ポリシーの制限ユーザーの権限を、特定のニーズに合わせてカスタマイズできます。semanage boolean -l
コマンドを使用すると、このブール値の現在の状態を確認できます。すべての SELinux ユーザー、SELinux ロール、および MLS/MCS レベルおよび範囲を一覧表示するには、root
で semanage user -l
コマンドを使用します。
表3.1 SELinux ユーザーのロール
User | デフォルトロール | 追加のロール |
---|---|---|
|
|
|
|
| |
|
| |
|
| |
|
|
|
| ||
| ||
|
| |
|
|
|
| ||
| ||
|
|
system_u
は、システムプロセスおよびオブジェクトの特別なユーザー ID であり、system_r
は関連付けられたロールであることに注意してください。管理者は、この system_u
ユーザーと system_r
ロールを Linux ユーザーに関連付けることはできません。また、unconfined_u
および root
は制限のないユーザーです。このため、この SELinux ユーザーに関連付けられたロールは、以下の表の SELinux ロールの種類とアクセスには含まれていません。
各 SELinux ロールは SELinux のタイプに対応しており、特定のアクセス権限を提供します。
表3.2 SELinux ロールの種類とアクセス
Role | タイプ | X Window System を使用したログイン | su および sudo | ホームディレクトリーおよび /tmp (デフォルト) での実行 | ネットワーク |
---|---|---|---|---|---|
|
| はい | はい | はい | はい |
|
| いいえ | いいえ | はい | いいえ |
|
| はい | いいえ | はい | Web ブラウザーのみ (Firefox、GNOME Web) |
|
| はい | いいえ | はい | はい |
|
| はい |
| はい | はい |
|
| はい | はい | はい | |
|
| はい | はい | はい | |
|
|
| はい | はい | はい |
-
user_t
ドメイン、guest_t
ドメイン、およびxguest_t
ドメイン内の Linux ユーザーは、SELinux ポリシーが許可した場合 (passwd
など)、設定したユーザー ID (setuid) アプリケーションのみを実行できます。これらのユーザーは、su
およびsudo
setuid アプリケーションを実行できないため、これらのアプリケーションを使用して root にすることはできません。 -
sysadm_t
ドメイン、staff_t
ドメイン、user_t
ドメイン、およびxguest_t
ドメインの Linux ユーザーは、X Window System およびターミナルを使用してログインできます。 デフォルトでは、
staff_t
ドメイン、user_t
ドメイン、guest_t
ドメイン、およびxguest_t
ドメインの Linux ユーザーは、ホームディレクトリーと/tmp
でアプリケーションを実行できます。ユーザーのパーミッションを継承するアプリケーションの実行を防ぐには、
guest_exec_content
およびxguest_exec_content
ブール値をoff
に設定します。これにより、不具合のあるアプリケーションや悪意のあるアプリケーションがユーザーのファイルを変更できなくなります。-
xguest_t
ドメインの Linux ユーザーにアクセスできる唯一のネットワークアクセスは、Web ページに接続する Firefox です。 sysadm_u
ユーザーは、SSH を使用して直接ログインできません。sysadm_u
の SSH ログインを有効にするには、ssh_sysadm_login
ブール値をon
に設定します。# setsebool -P ssh_sysadm_login on
上記の SELinux ユーザーとともに、semanage user
コマンドを使用して、これらのユーザーにマップできる特別なロールがあります。これらのロールは、SELinux でユーザーに許可するものを決定します。
-
webadm_r
は、Apache HTTP Server に関連する SELinux タイプの処理のみが可能です。 -
dm_r
は、MariaDB データベースおよび PostgreSQL データベース管理システムに関連する SELinux タイプの処理のみが可能です。 -
logadm_r
は、syslog
およびauditlog
プロセスに関連する SELinux タイプの処理のみが可能です。 -
secadm_r
は SELinux の処理のみが可能です。 -
auditadm_r
は、Audit サブシステムに関連するプロセスのみを管理できます。
利用可能なロールの一覧を表示するには、seinfo -r
コマンドを実行します。
$ seinfo -r
Roles: 14
auditadm_r
dbadm_r
guest_r
logadm_r
nx_server_r
object_r
secadm_r
staff_r
sysadm_r
system_r
unconfined_r
user_r
webadm_r
xguest_r
seinfo
コマンドは、setools-console
パッケージにより提供されることに注意してください。これは、デフォルトではインストールされません。
関連情報
-
seinfo(1)
、semanage-login(8)
およびxguest_selinux(8)
の man ページ