为特定目录创建混合 SELinux 策略?

为特定目录创建混合 SELinux 策略?

我有一台机器“NFS-Server”,一台机器“Hybrid”和一台机器“TFTP-Client”,我想通过以下方式连接它们:

  1. NFS 服务器允许 Hybrid 安装到共享
  2. Hybrid 还拥有一个 TFTP 服务器,地址为/var/lib/tftpboot
  3. TFTP-Client 从 Hybrid 获取文件/var/lib/tftpboot
  4. 任何放置在 NFS 服务器共享中的文件都应该能够被 TFTP 客户端拉取,因此 NFS 挂载和 TFTP 服务器目录之间需要存在某种实时关系。

我到目前为止已经尝试过:

  1. 直接挂载/var/lib/tftpboot到共享。每当发生这种情况时,SELinux 都会将目录从 重新标记为 ,tftpdir_rw_t这样nfs_tTFTP 权限就会消失。我无法使用上下文选项进行挂载,也无法在挂载后更改上下文。
  2. 将不同的目录挂载到 NFS 共享,然后将该目录绑定到/var/lib/tftpboot。即使使用上下文选项/命令,结果也与上述相同。

我认为接下来可能采取的措施包括:

  1. 创建一个简单的服务,从已挂载的 NFS 共享执行 rsync /var/lib/tftpboot。这几乎肯定会起作用,但我觉得还有更好的方法。
  2. 创建自定义 SELinux 规则/策略/模块(语义有点混乱),这将提供/var/lib/tftpboot一个“混合”NFS/TFTP 上下文,允许它挂载并提供文件。这似乎更好,但令人困惑。

有人尝试过类似的事情吗?或者至少能指导一下更好的前进道路是什么?提前谢谢大家!

相关内容