명령어/Linux

[RHEL] getenforce 현재 SELinux 모드 확인

jykim23 2026. 7. 18. 19:11
반응형

부제: SELinux가 지금 Enforcing인지 Permissive인지 한 단어로 답한다

getenforce            # 현재 동작 모드를 한 단어로 출력
Enforcing

getenforce는 커널이 지금 SELinux를 어떤 모드로 돌리는지만 알려준다. 출력은 Enforcing(위반을 차단), Permissive(차단 없이 로그만), Disabled(끈 상태) 셋 중 하나다. 인자도 옵션도 없어 스크립트에서 상태를 분기할 때 가장 간단하게 쓴다.

데비안 기본인 AppArmor에는 이렇게 전역 모드를 한 줄로 뽑는 명령이 없다. AppArmor는 모드가 프로그램 프로파일마다 따로 걸리므로 aa-status로 프로파일별 상태를 봐야 한다. SELinux는 시스템 전체가 하나의 모드로 움직인다는 점이 다르다.

이렇게도 쓴다

Enforcing일 때만 다음 작업을 진행하도록 스크립트에서 분기한다.

[ "$(getenforce)" = "Enforcing" ] && echo "차단 모드 동작 중"

 

grep으로 Permissive 여부만 조용히 판정한다(조합용).

getenforce | grep -q Permissive && echo "로그만 남는 중"

 

sestatus의 상세 출력과 비교해 설정 파일 값과 현재 값을 함께 본다.

getenforce; grep -i mode /etc/selinux/config

 

부팅 후 자동화 로그에 현재 모드를 타임스탬프와 함께 남긴다.

logger "SELinux=$(getenforce)"
반응형