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の出力には表示されません。~]#
useradd newuser~]#
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 で以下のコマンドを実行します。~]#
semanage login -a -s user_u newuser-a
オプションは新しいレコードを追加し、-s
オプションは、Linux ユーザーをマッピングする SELinux ユーザーを指定します。最後の引数newuser
は、指定した SELinux ユーザーにマッピングする Linux ユーザーです。 - Linux
newuser
ユーザーとuser_u
との間のマッピングを表示するには、semanage
ユーティリティーを再度使用します。~]#
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
ユーザーにパスワードを割り当てます。~]#
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 コンテキストが表示されます。~]$
id -Z user_u:user_r:user_t:s0 - Linux
newuser
のセッションをログアウトし、アカウントで再度ログインします。Linuxnewuser
を使用しない場合は、root で次のコマンドを実行し、ホームディレクトリーとともに削除します。~]#
userdel -r newuserroot で、Linuxnewuser
ユーザーおよびuser_u
間のマッピングを削除します。~]#
semanage login -d newuser~]#
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 *