我目前正在进行一个研究项目,其中包括一个问题,即是否有可能基于 SELinux 实现基于 Chinese-Wall 的信息流控制模型。该模型的核心原则之一是根据用户的操作来限制对文件的访问。
我的问题很简单。考虑以下目录结构:
[root_directory]
[subdirectory_a]
- file_1
- file_2
[subdirectory_b]
- file_3
[subdirectory_c]
- file_4
...
如果用户访问子目录中的任何文件,是否可以拒绝访问所有其他子目录中的文件。
让我用一个例子来澄清这一点:如果用户A读file_1
,他绝不能被允许访问 中的任何其他文件,root_directory
除非该文件位于 中subdirectory_a
。如果不同的用户乙读取file_3
相同的限制适用,但它适用于subdirectory_c
。
总结一下:用户可以访问的文件取决于用户最初读取或写入的文件。在初次访问之前,没有任何访问限制。
是否可以使用 SELinux 实现这种动态访问限制策略?如果可能,哪条路径可以引导我找到解决方案,即自定义策略模块可以解决此问题吗?
我以前从未使用过 SELinux,但是我阅读了一些手册和配置示例,但它们都没有涉及根据用户的操作应用或更改访问权限,所以我决定在这里提出这个问题。