12.6. fapolicyd와 관련된 문제 해결
fapolicyd
애플리케이션 프레임워크는 가장 일반적인 문제를 해결하는 툴을 제공하며 rpm
명령으로 설치된 애플리케이션을 trust 데이터베이스에 추가할 수도 있습니다.
rpm
을 사용하여 애플리케이션 설치
rpm
명령을 사용하여 애플리케이션을 설치하는 경우fapolicyd
RPM 데이터베이스를 수동으로 새로 고침해야 합니다.애플리케이션 설치:
# rpm -i application.rpm
데이터베이스를 새로 고침합니다.
# fapolicyd-cli --update
이 단계를 건너뛰면 시스템이 정지될 수 있으며 다시 시작해야 합니다.
서비스 상태
fapolicyd
가 올바르게 작동하지 않으면 서비스 상태를 확인합니다.# systemctl status fapolicyd
fapolicyd-cli
검사 및 목록
--check-config
,--check-watch_fs
및--check-trustdb
옵션은 구문 오류, not-yet-watched 파일 시스템 및 파일 불일치를 찾는 데 도움이 됩니다.# 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
--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 ...
디버그 모드
디버그 모드에서는 일치하는 규칙, 데이터베이스 상태 등에 대한 자세한 정보를 제공합니다.
fapolicyd
를 디버그 모드로 전환하려면 다음을 수행합니다.fapolicyd
서비스를 중지합니다.# systemctl stop fapolicyd
디버그 모드를 사용하여 해당 규칙을 확인합니다.
# fapolicyd --debug
fapolicyd --debug
명령의 출력이 자세한 정보이므로 오류 출력을 파일로 리디렉션할 수 있습니다.# fapolicyd --debug 2> fapolicy.output
또는
fapolicyd
에서 액세스를 거부하는 경우에만 출력을 항목으로 제한하려면--debug-deny
옵션을 사용합니다.# fapolicyd --debug-deny
애플리케이션 실행을 방지하는 허용 모드를 사용할 수도 있지만 일치하는
fapolicyd
규칙만 기록합니다.# fapolicyd --debug-deny --permissive
fapolicyd
데이터베이스 제거
fapolicyd
데이터베이스와 관련된 문제를 해결하려면 데이터베이스 파일을 제거하십시오.# systemctl stop fapolicyd # fapolicyd-cli --delete-db
주의/var/lib/fapolicyd/
디렉터리를 제거하지 마십시오.fapolicyd
프레임워크는 이 디렉터리의 데이터베이스 파일만 자동으로 복원합니다.
fapolicyd
데이터베이스 덤프
fapolicyd
에는 활성화된 모든 신뢰 소스의 항목이 포함되어 있습니다. 데이터베이스를 덤프한 후 항목을 확인할 수 있습니다.# fapolicyd-cli --dump-db
애플리케이션 파이프
드문 경우지만
fapolicyd
pipe 파일을 제거하면 잠금을 해결할 수 있습니다.# rm -f /var/run/fapolicyd/fapolicyd.fifo
추가 리소스
-
fapolicyd-cli(1)
매뉴얼 페이지