6.10. 允许 MLS 用户在较低级别上编辑文件


默认情况下,MLS 用户无法写入在明确范围内低值下具有敏感等级的文件。如果您的场景需要允许用户在较低级别上编辑文件,可以通过创建本地 SELinux 模块来实现。但是,写入文件会使用户当前范围内的低值提高其敏感度级别。

先决条件

  • SELinux 策略被设置为 mls
  • SELinux 模式设置为 enforcing
  • 已安装 policycoreutils-python-utils 软件包。
  • setools-consoleaudit 软件包进行验证。

流程

  1. 可选:切换到 permissive 模式以方便故障排除。

    # setenforce 0
  2. 使用文本编辑器打开新的 .cil 文件,如 ~/local_mlsfilewrite.cil,并插入以下自定义规则:

    (typeattributeset mlsfilewrite (_staff_t_))

    您可以将 staff_t 替换为不同的 SELinux 类型。通过在此处指定 SELinux 类型,您可以控制哪些 SELinux 角色可以编辑低级别文件。

    要让您的本地模块更好地组织,请在本地 SELinux 策略模块的名称中使用 local_ 前缀。

  3. 安装策略模块:

    # semodule -i ~/local_mlsfilewrite.cil
    注意

    要删除本地策略模块,请使用 semodule -r ~/local_mlsfilewrite。请注意,您必须引用不带 .cil 后缀的模块名称。

  4. 可选:如果您之前切换到 permissive 模式,返回到 enforcing 模式:

    # setenforce 1

验证

  1. 在安装的 SELinux 模块列表中找到本地模块:

    # semodule -lfull | grep "local_mls"
    400 local_mlsfilewrite  cil

    由于本地模块具有优先级 400,所以您也可以使用 semodule -lfull | grep -v ^100 命令列出它们。

  2. 以分配给自定义规则中定义的类型的用户身份登录,例如 staff_t
  3. 尝试写入到具有较低敏感度级别的文件。这会将文件的分类级别增加到用户的安全许可级别。

    重要

    如果配置不正确,您用于验证的文件不应包含任何敏感信息,并且用户实际上可以访问未经授权的文件。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.