6.9. 在 MLS 中定义安全终端
SELinux 策略会检查用户从中连接的终端类型,并允许运行某些 SELinux 应用程序,例如 newrole
,只从安全终端检查。从非安全终端尝试此操作会产生错误:Error: you are not allowed to change levels on a non secure terminal;
。
/etc/selinux/mls/contexts/securetty_types
文件定义了 MLS 策略的安全终端。
该文件的默认内容:
console_device_t sysadm_tty_device_t user_tty_device_t staff_tty_device_t auditadm_tty_device_t secureadm_tty_device_t
警告
将终端类型添加到安全终端列表中,可使您的系统暴露于安全风险。
先决条件
-
SELinux 策略设置为
mls
。 - 您从安全的终端进行连接,或者 SELinux 处于 permissive 模式。
您有安全管理权限,这意味着您要分配给其中之一:
-
secadm_r
角色。 -
如果启用了
sysadm_secadm
模块,进入sysadm_r
角色。sysadm_secadm
模块默认启用。
-
-
已安装
policycoreutils-python-utils
软件包。
流程
确定当前的终端类型:
# ls -Z `tty` root:object_r:user_devpts_t:s0 /dev/pts/0
在本例中,
user_devpts_t
是当前的终端类型。-
在
/etc/selinux/mls/contexts/securetty_types
文件中的新行中添加相关的 SELinux 类型。 可选:将 SELinux 切换到 enforcing 模式:
# setenforce 1
验证
-
从之前不安全的终端中登录到
/etc/selinux/mls/contexts/securetty_types
文件。
其他资源
-
您系统上的
securetty_types (5)
手册页