반응형
부제: 왜 막혔는지, 불린인지 정책 부재인지 사람 말로 풀어 준다
ausearch -m avc -ts recent | audit2why # 최근 거부의 원인 분석
audit2why -a # 감사 로그 전체를 분석
Was caused by:
The boolean httpd_read_user_content was set incorrectly.
Description:
Allow httpd to read user content
Allow access by executing:
# setsebool -P httpd_read_user_content 1audit2why는 audit2allow와 같은 뿌리를 공유하지만 목적이 다르다. audit2allow가 "허용하려면 이 규칙이 필요하다"를 뽑아 준다면, audit2why는 "왜 막혔는가"를 설명한다. 위 출력처럼 원인이 불린 값이면 어떤 불린을 어떻게 켜면 되는지 명령까지 알려 준다. 원인이 정책에 규칙이 아예 없어서라면 그렇게 말해 준다. SELinux 문제를 마주쳤을 때 가장 먼저 돌려 보면 좋은 도구다. 규칙부터 만들기 전에 원인을 알면 불린 토글 하나로 끝날 일을 커스텀 모듈로 키우는 실수를 막는다. 로그가 없으면 Nothing to do만 나온다.
이렇게도 쓴다
부팅 이후 쌓인 거부만 분석한다(-b).
audit2why -b
특정 로그 파일을 직접 입력으로 준다(-i).
audit2why -i /var/log/audit/audit.log
오늘 발생한 거부만 골라 원인을 본다(조합).
ausearch -m avc -ts today | audit2why
커널 dmesg 버퍼의 거부를 분석한다(-d).
audit2why -d
원인 분석과 규칙 생성을 나란히 비교한다(조합).
ausearch -m avc -ts recent | tee /tmp/avc | audit2why; audit2allow -i /tmp/avc반응형
'명령어 > Linux' 카테고리의 다른 글
| [RHEL] augenrules 조각난 룰 파일을 합쳐 로드 (0) | 2026.07.17 |
|---|---|
| [RHEL] auditctl 감사 룰과 커널 상태 제어 (0) | 2026.07.17 |
| [RHEL] audit2allow AVC 거부를 정책 규칙으로 변환 (0) | 2026.07.17 |
| [RHEL] alternatives 대체 명령 심볼릭 링크 관리 (0) | 2026.07.17 |
| [RHEL] adcli 액티브 디렉터리 도메인 조회·가입 (0) | 2026.07.17 |