user:role:type:sensitivity
注意
User 与 Linux 用户无关,Type 与对象本身的类别无关。
- 策略中定义了一组有效的用户、角色和类型。
- 不同的对象可标记为相同的安全上下文。
- SELinux 安全策略的 MAC 机制通过以下方式实现:
- 类型强制(TE)
- 基于角色的访问控制(RBAC)
- Refpolicy Targeted
- 类型使策略能够指定允许的操作。

验证和修改 SELinux 模式
- 检查设备当前的 SELinux 配置(Enforcing 或 Permissive 模式):
- 如果设置为 Enforcing 模式,请运行
setenforce命令更改模式。- 使用 SSH 连接到设备。
- 使用以下命令更改 SELinux 模式。
- 将设备切换到 Enforcing 模式:
- 将设备切换到 Permissive 模式:
- 重新检查设备当前的配置(Enforcing 或 Permissive 模式):
- 将设备切换到 Enforcing 模式:
在 SELinux 构建上启用 SSH
启用 SSH 登录仅允许用于开发和调试目的。 启用 SSH 登录的方法:-
构建时启用:
- 在现有 refpolicy 基础上创建补丁,在 refpolicy/policy/modules/services/ssh.te 中添加
gen_tunable(ssh_sysadm_login, true) - 请参阅定制安全服务将补丁添加到现有工作区。
- 构建 selinux 发行版并烧写到设备上。
- 登录 SSH
- 在现有 refpolicy 基础上创建补丁,在 refpolicy/policy/modules/services/ssh.te 中添加
-
运行时启用
- 登录串行控制台
- 运行以下命令:
- 登录 SSH
配置 SELinux(启用、禁用和切换模式)
要切换到 Enforcing 模式(限制性)或 Permissive 模式(非限制性但带日志记录),请按照以下步骤操作:- 启用或禁用 SELinux:
- 要在构建中禁用 SELinux,请在 SELinux 发行版配置文件中将
DEFAULT_ENFORCING设置为disabled: - 要启用 SELinux,请将
DEFAULT_ENFORCING设置为enforcing(默认设置)。 - 使用 policy version 35。
- 要为 SELinux 添加策略,请参阅上游 refpolicy。
- 要在构建中禁用 SELinux,请在 SELinux 发行版配置文件中将
- 在目标设备上使用
getenforce检查系统状态。该命令返回以下三个值之一:- Enforcing
- Permissive
- Disabled
- 要更改模式,请在运行时通过运行带数字的
setenforce选择模式(此更改在重启后不会保留)。- 要在重启后保留设置:
- 使用 SSH 连接到设备。有关说明,请参阅 Qualcomm Linux 构建指南。
- 在
/etc/selinux/config中将 SELINUX= 编辑为三个受支持的值之一:enforcing、permissive或disabled。 - 使用以下命令重启设备:
- 要在构建中指定 SELinux 模式:将
DEFAULT_ENFORCING构建标志更改为三个受支持的值之一:enforcing、permissive 或 disabled。
- 要在重启后保留设置:
- SELinux Disabled 模式仍会保留许多经过 SELinux 框架的代码路径。这些代码路径对 KPI 测试或验证 SELinux 框架中的缺陷没有用处。它也不会比 Permissive 模式允许更多的访问。
要在测试中禁用该功能,请从
DISTRO_FEATURES中移除 SELinux:
后续步骤
- 要确保在启动过程中仅加载经过验证且受信任的应用程序,请参阅启用 UEFI 安全启动。
- 有关芯片组功能管理以及升级芯片组功能包,请参阅安装或升级 SoftSKU 功能包。

