第4章 SELinuxユーザーの管理
第3章、「SELinuxセキュリティ・コンテキストの管理」で説明されているように、各SELinuxユーザー・アカウントは、通常のOracle Linuxユーザー・アカウントに準拠しています。 SELinuxは、すべてのOracle Linuxユーザーを、ユーザー・セッション内のプロセスのSELinuxコンテキストで使用されるSELinuxユーザーIDにマップします。 この章では、SELinuxユーザーを管理するためのタスクを示します。
SELinuxユーザーはSELinuxポリシーの一部であり、特定のロール・セットおよび特定のMLS (Multi-Level Security)範囲に対する権限が与えられ、各Oracle Linuxユーザーはポリシーの一部としてSELinuxユーザーにマップされます。 このため、Linuxユーザーは、SELinuxユーザーに設定されている制限やセキュリティ・ルールやメカニズムを継承します。 ユーザーのロールやレベルを定義するために、マップされたSELinuxユーザーIDがセッション内のプロセスのSELinuxコンテキストで使用されます。
4.1 SELinuxユーザーとOracle Linuxユーザー間のマッピングの表示
SELinuxユーザー・アカウントとOracle Linuxユーザー・アカウント間のユーザー・マッピングを表示するには、次のコマンドを使用します:
semanage login -l
Login Name SELinux User MLS/MCS Range
_default_ unconfined_u s0-s0:c0.c1023
root unconfined_u s0-s0:c0.c1023
system_u system_u s0-s0:c0.c1023
MLS/MCS範囲列には、MLSおよびMCSで使用されるレベルが表示されます。
デフォルトでは、Oracle LinuxユーザーはSELinuxユーザーunconfined_u
にマップされます。
SELinuxを構成して、事前定義済のセキュリティ・ルールおよびメカニズムを持つ制限付きドメインのSELinuxユーザーにユーザーをマップすることにより、Oracle Linuxユーザーを制限できます。 次の表で、これらのセキュリティ・ルールとメカニズムについて説明します。
SELinuxユーザー |
SELinuxドメイン |
suおよびsudoの実行の可否 |
ネットワーク・アクセスの可否 |
X Window Systemを使用したログインの可否 |
|
---|---|---|---|---|---|
|
|
いいえ |
はい |
いいえ |
いいえ |
|
|
sudo |
はい |
はい |
はい |
|
|
はい |
はい |
はい |
はい |
|
|
いいえ |
はい |
はい |
はい |
|
|
いいえ |
Firefoxのみ |
はい |
いいえ |
user_u
などのOracle Linuxユーザーoluser
をSELinuxユーザーにマップするには、semanageコマンドを使用します:
semanage login -a -s user_u oluser
4.2 ユーザーのアプリケーション実行動作の構成
保存された、または悪意のあるアプリケーションがユーザー・ファイルを変更するのを防止するため、ブールを使用して、ユーザーが書込みアクセス権を持つディレクトリ(ユーザー・ホーム・ディレクトリの階層や/tmp
など)でアプリケーションを実行する権限があるかどうかを指定できます。
guest_t
およびxguest_t
ドメインのOracle Linuxユーザーが、書込みアクセス権を持つディレクトリでアプリケーションを実行できるようにするには:
sudo setsebool -P allow_guest_exec_content on sudo setsebool -P allow_xguest_exec_content on
次の例では、staff_t
およびuser_t
ドメインのユーザーが、書込みアクセス権を持つディレクトリでアプリケーションを実行できないようにする方法を示します:
sudo setsebool -P allow_staff_exec_content off sudo setsebool -P allow_user_exec_content off
詳細は、第2.4項、「SELinuxポリシーのカスタマイズ」を参照してください。