selinux 策略中隐藏了‘neverallow’?

selinux 策略中隐藏了‘neverallow’?

我打算使用“强制”selinux 模式。首先,我以宽容模式启动(内核命令行中的 enforcing=0)。登录系统后,我从 auditd 日志中收集所有违反 selinux 策略的行为,并尝试创建 selinux 模块以允许此类操作,但出现“neverallow 违反”

root@amalthea:~# ausearch  -m avc > ausearch.result
root@amalthea:~# cat ausearch.result | audit2allow -M local 
******************** IMPORTANT ***********************
To make this policy package active, execute:

semodule -i local.pp
root@amalthea:~# semodule -v -i local.pp 
Attempting to install module 'local.pp':
Ok: return value of 0.
Committing changes:
libsepol.check_assertion_helper: neverallow violated by allow system_dbusd_t shadow_t:file { read };
libsemanage.semanage_expand_sandbox: Expand module failed
semodule:  Failed!

如果当前政策没有任何“不允许”的规定,那么这种情况怎么会发生?

root@amalthea:~# seinfo  | egrep -i 'constraints|neverallow'
   Allow:           55455    Neverallow:          0
   Constraints:       137    Validatetrans:       0

提前致谢

更新1 我安装了带有 selinux 策略的源包,并在其中找到了“neverallow”。但我不明白为什么“seinfo”说当前策略中没有 neverallow。

root@amalthea:~# seinfo  | egrep -i 'constraints|neverallow'
   Allow:           55455    Neverallow:          0
   Constraints:       137    Validatetrans:       0

相关内容