3.3. SELinux 中受限的非管理员角色
在 SELinux 中,受限制的非管理员角色将执行特定任务的特权和权限的特定集合授予分配给它们的 Linux 用户。通过分配单独的受限制的非管理员角色,您可以为单个用户分配特定的特权。这在有多个用户且每个用户都有不同授权级别的情况下很有用。
您还可以通过更改系统上相关的 SELinux 布尔值来自定义 SELinux 角色的权限。要查看 SELinux 布尔值及其状态,请以 root 用户身份使用 semanage boolean -l 命令。如果安装了 selinux-policy-devel 软件包,您可以获得更详细的描述。
user_t、guest_t 和 xguest_t 域中的 Linux 用户只能在 SELinux 策略允许的情况下运行设置用户 ID (setuid)的应用程序(例如 passwd)。这些用户无法运行 setuid 应用程序、su 和 sudo,因此无法使用这些应用程序变为 root 用户。
默认情况下,staff_t、user_t、guest_t 和 xguest_t 域中的 Linux 用户可以在其主目录和 /tmp 中执行应用程序。应用程序继承执行他们的用户的权限。
要防止 guest_t 和 xguest_t 用户在其有写权限的目录中执行应用程序,请将 guest_exec_content 和 xguest_exec_content 布尔值设置为 off。
SELinux 有以下受限制的非管理员角色,每个角色都有特定的权限和限制:
guest_r有非常有限的权限。分配给此角色的用户无法访问网络,但可以执行
/tmp和/home目录中的文件。相关的布尔值:
SELinux boolean State Default Description guest_exec_content (on , on) Allow guest to exec content
SELinux boolean State Default Description guest_exec_content (on , on) Allow guest to exec contentCopy to Clipboard Copied! Toggle word wrap Toggle overflow xguest_r有有限的权限。分配给此角色的用户可以登录到 X 窗口,使用网络浏览器访问网页及访问介质。它们也可以执行
/tmp和/home目录中的文件。相关的布尔值:
SELinux boolean State Default Description xguest_connect_network (on , on) Allow xguest users to configure Network Manager and connect to apache ports xguest_exec_content (on , on) Allow xguest to exec content xguest_mount_media (on , on) Allow xguest users to mount removable media xguest_use_bluetooth (on , on) Allow xguest to use blue tooth devices
SELinux boolean State Default Description xguest_connect_network (on , on) Allow xguest users to configure Network Manager and connect to apache ports xguest_exec_content (on , on) Allow xguest to exec content xguest_mount_media (on , on) Allow xguest users to mount removable media xguest_use_bluetooth (on , on) Allow xguest to use blue tooth devicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow user_r具有完整用户权限的无特权访问权限。分配给此角色的用户可以执行大多数不需要管理特权的操作。
相关的布尔值:
SELinux boolean State Default Description unprivuser_use_svirt (off , off) Allow unprivileged user to create and transition to svirt domains.
SELinux boolean State Default Description unprivuser_use_svirt (off , off) Allow unprivileged user to create and transition to svirt domains.Copy to Clipboard Copied! Toggle word wrap Toggle overflow staff_r具有类似于
user_r和其他特权的权限。特别是,分配给此角色的用户被允许运行sudo,以执行通常为root用户保留的管理命令。这会更改角色和有效的用户 ID (EUID),但不会更改 SELinux 用户。相关的布尔值:
SELinux boolean State Default Description staff_exec_content (on , on) Allow staff to exec content staff_use_svirt (on , on) allow staff user to create and transition to svirt domains.
SELinux boolean State Default Description staff_exec_content (on , on) Allow staff to exec content staff_use_svirt (on , on) allow staff user to create and transition to svirt domains.Copy to Clipboard Copied! Toggle word wrap Toggle overflow