6.3. 限制现有 Linux 用户:semanage login
如果 Linux 用户映射到 SELinux
unconfined_u
用户(默认行为),并且您要更改它们映射到的 SELinux 用户,请使用 semanage login 命令。以下示例创建一个名为 newuser
的新 Linux 用户,然后将 Linux 用户映射到 SELinux user_u
用户:
过程 6.2. 将 Linux 用户映射到 SELinux 用户
- 以 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 newusera选项
添加新记录,而-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 newuser以 root 用户身份,删除 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 *