명령어/Linux
[RHEL] sediff 두 SELinux 정책의 차이 비교
jykim23
2026. 8. 16. 16:31
반응형
부제: 정책 두 개를 의미 단위로 대조해 무엇이 늘고 줄었는지 본다
sediff POLICY1 POLICY2 # 두 정책의 전체 차이
sediff --stats POLICY1 POLICY2 # 통계만 요약
sediff --bool POLICY1 POLICY2 # 불린 차이만
usage: sediff [-h] [--version] [--stats] [-v] [--debug] [--common] [-c] [-t]
... POLICY1 POLICY2
SELinux policy semantic difference tool.
positional arguments:
POLICY1 Path to the first SELinux policy to diff.
POLICY2 Path to the second SELinux policy to diff.sediff는 두 개의 SELinux 정책을 받아 의미(semantic) 단위로 차이를 계산하는 도구다. 텍스트 diff와 달리 규칙의 뜻을 이해하고 비교하므로, 순서만 바뀐 규칙은 같다고 보고 실제로 허용/거부가 달라진 부분만 짚어 준다. 정책을 업데이트하기 전후를 비교해 "이번 패치가 무엇을 바꿨나"를 검증하거나, 커스텀 정책과 배포판 기본 정책의 차이를 확인할 때 쓴다. 인자로는 컴파일된 정책 파일(예: /etc/selinux/targeted/policy/policy.33이나 실행 중인 /sys/fs/selinux/policy)을 준다. 전체 정책 비교는 파싱·계산 부담이 커서 시간이 꽤 걸리니, --stats나 컴포넌트 옵션으로 범위를 좁히면 빠르다. setools-console에 들어 있다.
이렇게도 쓴다
바뀐 규칙 개수 등 요약 통계만 빠르게 본다.
sediff --stats /etc/selinux/targeted/policy/policy.33 /sys/fs/selinux/policy
불린 정의의 차이만 좁혀 비교한다.
sediff --bool old_policy new_policy
타입과 속성 차이만 골라 본다(여러 컴포넌트 조합).
sediff -t -a old_policy new_policy
allow 규칙 차이만 추린다.
sediff --allow old_policy new_policy
두 정책의 공통점까지 함께 출력한다.
sediff --common old_policy new_policy반응형