升级后SELinux功能正常,但sealert -b无内容且按钮禁用求助
解决SELinux Alert Browser(sealert -b)无内容且按钮禁用的问题
我之前也碰到过一模一样的情况——命令行能查到告警,日志里也有记录,但图形化的警报浏览器就是空的,按钮全灰。这大概率是SEAlert的本地缓存数据库出了问题,或者后台服务没正常跑,试试下面这些步骤:
1. 重置SEAlert的缓存数据库
sealert会把解析后的告警存在本地SQLite数据库里,升级后这个库很容易损坏。直接清空重建就行:
sudo rm -rf /var/lib/setroubleshoot/* sudo restorecon -Rv /var/lib/setroubleshoot sudo systemctl restart setroubleshootd
- 第一行删掉旧的缓存文件,第二行修复目录的SELinux上下文(升级后可能被打乱),第三行重启负责处理告警的后台服务。
2. 确认setroubleshoot服务状态
有时候升级后服务没自动启动,图形界面自然拿不到数据。先查状态:
sudo systemctl status setroubleshootd
如果显示未运行,就启动并设置开机自启:
sudo systemctl start setroubleshootd sudo systemctl enable setroubleshootd
3. 手动强制解析audit日志
要是上面两步没用,就手动让sealert重新扫一遍整个audit日志,强制生成缓存:
sudo sealert -a /var/log/audit/audit.log > /tmp/sealert-temp.log
执行完再打开sealert -b,基本就能看到内容了。另外,也可以看看/tmp/sealert-temp.log里有没有报错,帮你排查更深层的问题。
4. 检查图形界面的权限
普通用户可能没权限读取缓存数据库,试试用管理员权限启动图形界面:
sudo sealert -b
如果系统提示权限问题,换用pkexec来正确获取图形权限:
pkexec sealert -b
5. 修复SELinux上下文
升级后,/var/lib/setroubleshoot或/var/log/audit的SELinux上下文可能异常,导致服务无法访问:
sudo restorecon -Rv /var/lib/setroubleshoot /var/log/audit
一般前两步就能解决90%的问题,要是还不行,去看系统日志journalctl -u setroubleshootd,里面的报错信息能帮你精准定位。
内容的提问来源于stack exchange,提问作者six2dez
相关产品推荐
相关产品推荐

