接前一篇文章:SELinux零知识学习三十七、SELinux策略语言之约束(1)
四、SELinux策略语言之约束
SELinux对策略允许的访问提供了更严格的约束机制,不管策略的allow规则如何。
SELinux有两种类型的约束:
- constrain语句
constrain语句是最常见的约束,使得可以基于用户、角色以及源和目标安全上下文的类型做更多的访问限制;
- validatetrans语句
validtrans语句是后添加到SELinux中的,其使得可以基于旧的、新的和进程安全上下文,对安全上下文改变事件做更多的访问限制。
2. 约束语句
constrain语句包含三个元素:将要应用约束的一套客体类别;为那些受约束的类别指定的一套许可和一个约束的布尔表达式。约束是由客体类别进行组织并存储在策略中的。
constrain语句使你可以通过基于源和目标安全上下文之间的关系定义约束,对特定客体类别限制特定的许可。完整的constrain语句语法如下:
constrain 类别集 许可集 表达式;