10.6. 故障排除与 fapolicyd 相关的问题
fapolicyd
应用程序框架为故障排除最常见的问题提供了工具,您也可以将 rpm
命令安装的应用程序添加到信任数据库中。
使用 rpm
安装应用程序
如果使用
rpm
命令安装应用程序,您必须执行fapolicyd
RPM 数据库的手动刷新:安装 应用程序 :
rpm -i application.rpm
# rpm -i application.rpm
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 刷新数据库:
fapolicyd-cli --update
# fapolicyd-cli --update
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您跳过这一步,系统可能会被冻结,必须重启。
服务状态
如果
fapolicyd
无法正常工作,请检查服务状态:systemctl status fapolicyd
# systemctl status fapolicyd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
fapolicyd-cli
检查和列表
--check-config
、--check-watch_fs
和--check-trustdb
选项可帮助您查找语法错误、尚未监视的文件系统和文件不匹配,例如:fapolicyd-cli --check-config fapolicyd-cli --check-trustdb
# fapolicyd-cli --check-config Daemon config is OK # fapolicyd-cli --check-trustdb /etc/selinux/targeted/contexts/files/file_contexts miscompares: size sha256 /etc/selinux/targeted/policy/policy.31 miscompares: size sha256
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
--list
选项检查规则的当前列表及其顺序:fapolicyd-cli --list
# fapolicyd-cli --list ... 9. allow perm=execute all : trust=1 10. allow perm=open all : ftype=%languages trust=1 11. deny_audit perm=any all : ftype=%languages 12. allow perm=any all : ftype=text/x-shellscript 13. deny_audit perm=execute all : all ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Debug 模式
Debug 模式提供关于匹配规则、数据库状态等的详细信息。将
fapolicyd
切换到 debug 模式:停止
fapolicyd
服务:systemctl stop fapolicyd
# systemctl stop fapolicyd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 debug 模式来识别相应的规则:
fapolicyd --debug
# fapolicyd --debug
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 因为
fapolicyd --debug
命令的输出非常详细,所以您可以将错误输出重定向到文件中:fapolicyd --debug 2> fapolicy.output
# fapolicyd --debug 2> fapolicy.output
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 另外,若要在
fapolicyd
拒绝访问时仅将输出限制为条目,请使用--debug-deny
选项:fapolicyd --debug-deny
# fapolicyd --debug-deny
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
删除 fapolicyd
数据库
要解决与
fapolicyd
数据库相关的问题,请尝试删除数据库文件:systemctl stop fapolicyd fapolicyd-cli --delete-db
# systemctl stop fapolicyd # fapolicyd-cli --delete-db
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 警告不要删除
/var/lib/fapolicyd/
目录。fapolicyd
框架只自动恢复这个目录下的数据库文件。
转储 fapolicyd
数据库
fapolicyd
包含了所有启用的信任源的条目。您可以在转储数据库后检查条目:fapolicyd-cli --dump-db
# fapolicyd-cli --dump-db
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
应用程序管道
在个别情况下,删除
fapolicyd
管道文件可以解决锁定问题:rm -f /var/run/fapolicyd/fapolicyd.fifo
# rm -f /var/run/fapolicyd/fapolicyd.fifo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow