SELinux 干擾 sss_cache
系統:
- 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
生成的策略或錯誤報告中的策略來允許訪問。