如何处理安装 SELinux 策略时的错误

问题描述 投票:0回答:2

现在我正在尝试安装我制定的 SELinux 策略。 但我遇到了如下错误:

无法解析 /var/lib/selinux/targeted/tmp/modules/400/mypolicy/cil:303 处的 filecon 语句 semodule:失败! 安装失败:

我希望知道如何处理这个错误。如何找到 .te 或 .fc 文件中的错误点? 数字“303”是什么意思?是行号吗?但 cil 文件是二进制的。 您能让我知道处理此错误的方法吗?

谢谢。

installation cil selinux
2个回答
0
投票

我找到了一个理由。 在 RH8 中,umask 添加到 /etc/pam.d/postlogin。因此,对于 sFtp,将提取 /etc/login.defs 中的 UMASK 值并将其应用于 sFtp 的 umask 值。是077。

红帽链接


0
投票

将您的

.te
.if
.fc
文件转换为实际保单是一个多步骤的过程。

系统构建策略模块时,首先使用checkmodule构建.mod中间文件。接下来,调用semodule_package,将此中间文件和相应的文件上下文文件转换为.pp 文件。

在您的错误中,

semodule
现在抱怨策略包中的一些问题,并给出相应的通用中间语言行号作为参考。如果您想了解有关 CIL 的更多信息,请参阅此处:https://github.com/SELinuxProject/selinux/blob/master/secilc/docs/README.md

要获取 CIL 文件中的失败行,请找到您的 pp 文件并调用 pp 编译器以获取 CIL 代码。 pp 编译器位于名为 hll 的高级语言基础结构文件夹中(请参阅 https://github.com/SELinuxProject/selinux/wiki/High-Level-Language-Infrastruct)。

/recipe-sysroot-native/usr/libexec/selinux/hll/pp ./refpolicy/mypolicy.pp > mypolicy.txt

现在您可以在 mypolicy.txt 中检查给定的行号。

© www.soinside.com 2019 - 2024. All rights reserved.