4.2. 使用 SELinux 布尔值调整用于共享 NFS 和 CIFS 卷的策略


您可以使用布尔值在运行时更改 SELinux 策略部分,即使您不了解 SELinux 策略的编写方式。这启用了更改,比如允许服务访问 NFS 卷而无需重新载入或者重新编译 SELinux 策略。以下流程演示了列出 SELinux 布尔值并进行配置,以实现策略中所需的更改。

在客户端的 NFS 挂载使用 NFS 卷策略定义的默认上下文标记。在 RHEL 中,此默认上下文使用 nfs_t 类型。另外,挂载在客户端中的 Samba 共享使用策略定义的默认上下文标记。此默认上下文使用 cifs_t 类型。您可以启用或禁用布尔值来控制允许哪些服务访问 nfs_tcifs_t 类型。

要允许 Apache HTTP 服务器服务(httpd)访问和共享 NFS 和 CIFS 卷,请执行以下步骤:

先决条件

  • (可选)安装 selinux-policy-devel 软件包,以获取 semanage boolean -l 命令的输出中 SELinux 布尔值的更清晰和详细描述。

步骤

  1. 识别与 NFS、CIFS 和 Apache 相关的 SELinux 布尔值:

    # semanage boolean -l | grep 'nfs\|cifs' | grep httpd
    httpd_use_cifs                 (off  ,  off)  Allow httpd to access cifs file systems
    httpd_use_nfs                  (off  ,  off)  Allow httpd to access nfs file systems
  2. 列出布尔值的当前状态:

    $ getsebool -a | grep 'nfs\|cifs' | grep httpd
    httpd_use_cifs --> off
    httpd_use_nfs --> off
  3. 启用指定的布尔值:

    # setsebool httpd_use_nfs on
    # setsebool httpd_use_cifs on
    注意

    使用 setsebool-P 选项,使更改在重新启动后仍然有效。setsebool -P 命令需要重建整个策略,且可能需要一些时间,具体取决于您的配置。

验证

  1. 检查布尔值为 on

    $ getsebool -a | grep 'nfs\|cifs' | grep httpd
    httpd_use_cifs --> on
    httpd_use_nfs --> on

其他资源

  • semanage-boolean (8), sepolicy- booleans (8) , getsebool (8), setsebool (8), booleans (5), 和 booleans (8) man pages
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.