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
~]# useradd newuserCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 要将 Linux
newuser用户映射到 SELinuxuser_u用户,请以 root 用户身份输入以下命令:semanage login -a -s user_u newuser
~]# semanage login -a -s user_u newuserCopy to Clipboard Copied! Toggle word wrap Toggle overflow a选项添加新记录,而-s选项指定要将 Linux 用户映射到的 SELinux 用户。最后的参数newuser是您要映射到指定 SELinux 用户的 Linux 用户。 - 要查看 Linux
newuser用户和user_u之间的映射,请再次使用semanage工具:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 以 root 用户身份,为 Linux
newuser用户分配密码:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 从当前会话中注销,然后以 Linux
newuser用户身份登录。输入以下命令查看newuser的 SELinux 上下文:id -Z
~]$ id -Z user_u:user_r:user_t:s0Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 从 Linux
newuser的会话中注销,然后使用您的帐户重新登录。如果您不希望 Linuxnewuser用户,请以 root 用户及其主目录来移除它:userdel -r newuser
~]# userdel -r newuserCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以 root 用户身份,删除 Linuxnewuser用户和user_u之间的映射:semanage login -d newuser
~]# semanage login -d newuserCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow