6.3. 既存の Linux ユーザーの制限: semanage ログイン
Linux ユーザーが SELinux
unconfined_u
ユーザー (デフォルトの動作) にマッピングされており、マップされている SELinux ユーザー を変更する場合は、semanage login コマンドを使用します。以下の例では、newuser
という名前の新しい Linux ユーザーを作成し、その Linux ユーザーを SELinux user_u
ユーザーにマップします。
手順6.2 SELinux ユーザーへの Linux ユーザーのマッピング
- root で、新しい Linux ユーザー (
newuser
) を作成します。このユーザーはデフォルトのマッピングを使用するため、semanage login -lの出力には表示されません。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ~]# useradd newuser
~]# useradd newuser
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ~]# semanage login -l Login Name SELinux User MLS/MCS Range Service __default__ unconfined_u s0-s0:c0.c1023 * root unconfined_u s0-s0:c0.c1023 * system_u system_u s0-s0:c0.c1023 *
~]# semanage login -l Login Name SELinux User MLS/MCS Range Service __default__ unconfined_u s0-s0:c0.c1023 * root unconfined_u s0-s0:c0.c1023 * system_u system_u s0-s0:c0.c1023 *
- Linux
newuser
ユーザーを SELinuxuser_u
ユーザーにマッピングするには、root で以下のコマンドを実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ~]# semanage login -a -s user_u newuser
~]# semanage login -a -s user_u newuser
-a
オプションは新しいレコードを追加し、-s
オプションは、Linux ユーザーをマッピングする SELinux ユーザーを指定します。最後の引数newuser
は、指定した SELinux ユーザーにマッピングする Linux ユーザーです。 - Linux
newuser
ユーザーとuser_u
との間のマッピングを表示するには、semanage
ユーティリティーを再度使用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ~]# semanage login -l Login Name SELinux User MLS/MCS Range Service __default__ unconfined_u s0-s0:c0.c1023 * newuser user_u s0 * root unconfined_u s0-s0:c0.c1023 * system_u system_u s0-s0:c0.c1023 *
~]# semanage login -l Login Name SELinux User MLS/MCS Range Service __default__ unconfined_u s0-s0:c0.c1023 * newuser user_u s0 * root unconfined_u s0-s0:c0.c1023 * system_u system_u s0-s0:c0.c1023 *
- root で、Linux
newuser
ユーザーにパスワードを割り当てます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ~]# passwd newuser Changing password for user newuser. New password: Enter a password Retype new password: Enter the same password again passwd: all authentication tokens updated successfully.
~]# passwd newuser Changing password for user newuser. New password: Enter a password Retype new password: Enter the same password again passwd: all authentication tokens updated successfully.
- 現在のセッションからログアウトし、Linux
newuser
ユーザーとしてログインします。次のコマンドを実行すると、newuser
の SELinux コンテキストが表示されます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ~]$ id -Z user_u:user_r:user_t:s0
~]$ id -Z user_u:user_r:user_t:s0
- Linux
newuser
のセッションをログアウトし、アカウントで再度ログインします。Linuxnewuser
を使用しない場合は、root で次のコマンドを実行し、ホームディレクトリーとともに削除します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ~]# userdel -r newuser
~]# userdel -r newuser
root で、Linuxnewuser
ユーザーおよびuser_u
間のマッピングを削除します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ~]# semanage login -d newuser
~]# semanage login -d newuser
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ~]# semanage login -l Login Name SELinux User MLS/MCS Range Service __default__ unconfined_u s0-s0:c0.c1023 * root unconfined_u s0-s0:c0.c1023 * system_u system_u s0-s0:c0.c1023 *
~]# semanage login -l Login Name SELinux User MLS/MCS Range Service __default__ unconfined_u s0-s0:c0.c1023 * root unconfined_u s0-s0:c0.c1023 * system_u system_u s0-s0:c0.c1023 *