系统:
- HP Pavilion Power 笔记本电脑 15-cb0xx
- 启用集成显卡的 Intel i7-7700HQ(无法在 BIOS 中关闭)
- 软呢帽 28
- NVIDIA GTX 1050(移动)
我使用dnfdragora
GUI 更新了大约 119 个包(我有一段时间忘记更新了:/)。在某个时候,我收到了来自 SELinux 的通知:
SELinux is preventing sss_cache from write access on the directory /var/lib/sss/db/
我挖掘/var/log/messages
并/var/log/audit/audit.log
发现了与 SELinux 告诉我的相同的东西。
在这一切都结束之后,我注意到事情进展得很慢,所以我重新启动了。重启速度较慢,在加载 Fedora 徽标、加载登录 GUI 和加载桌面时尤其明显。额外的重新启动没有解决任何问题。
通过查看手册页,sss_cache
我了解了它的功能以及它与系统安全服务守护程序 (SSSD) 一起使用的要点。
我知道这将通知维护人员潜在的错误,并且策略更改将阻止 SELinux 将来在 sss_cache 上发出警报。除了它为 Linux 系统提供添加/可配置的安全附加功能外,我对 SELinux 一无所知。但是,我仍然不明白为什么会发生这种情况,或者是否有其他可能更好的解决方案。我也不清楚这是否能解决我注意到的减速问题。
谁能告诉我:
- 为什么会发生这种情况?我可以猜想 SELinux 认为与 SSSD 相关的任何东西都非常重要,但为什么它不知道用于 SSSD 的实用程序?
- 我应该只报告错误并创建本地策略模块,还是其他?
- 我应该撤消导致这一切的事务并以较小的组更新包吗?它甚至会解决问题吗?
- 这会导致我上面提到的减速问题吗?我从使用虚拟机(特别是在 VirtualBox 中扩展存储空间)中了解到,留下旧条目
/etc/fstab
会减慢启动速度,因为系统正在寻找不存在的东西。这里有类似的事情吗?
我不愿意在没有额外信息的情况下只做屏幕上所说的话。我不想在没有意识到的情况下将创可贴贴在弹坑上。
(应要求提供的附加信息):我应该说:/var/lib/sss/db/
是一个目录。
ls -Z /var/lib/sss/
输出db/
:system_u:object_r:sssd_var_lib_t:s0
摘自audit.log
(包括夹在两个相关行之间的可能不相关的行):
type=AVC msg=audit(1543865969.237:241): avc: denied { write } for pid=18065 comm="sss_cache" name="db" dev="sdb2" ino=787765 scontext=system_u:system_r:groupadd_t:s0 tcontext=system_u:object_r:sssd_var_lib_t:s0 tclass=dir permissive=0
type=GRP_MGMT msg=audit(1543865969.239:242): pid=18062 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:groupadd_t:s0 msg='op=modify-group acct="rpcuser" exe="/usr/sbin/groupmod" hostname=? addr=? terminal=? res=success'
type=AVC msg=audit(1543865969.264:243): avc: denied { write } for pid=18067 comm="sss_cache" name="db" dev="sdb2" ino=787765 scontext=system_u:system_r:groupadd_t:s0 tcontext=system_u:object_r:sssd_var_lib_t:s0 tclass=dir permissive=0
ls -Z /usr/sbin/sss_cache
(通过 找到的位置)的输出which sss_cache
:
system_u:object_r:bin_t:s0
看起来像是Fedora 的 SELinux 政策中的一个错误。
在修复发布之前,您可以使用
audit2allow
生成的策略或错误报告中的策略来允许访问。