명령어/Linux

[RHEL] selinuxenabled SELinux 활성 여부 판정

jykim23 2026. 8. 16. 16:32
반응형

부제: 출력 없이 종료 코드로만 SELinux가 켜졌는지 알려준다

selinuxenabled        # 켜졌으면 종료코드 0, 아니면 1
echo $?               # 결과 코드 확인
rc=0

selinuxenabled는 아무것도 출력하지 않는다. SELinux가 활성(Enforcing 또는 Permissive)이면 종료 코드 0, 완전히 꺼져(Disabled) 있으면 1을 반환한다. 그래서 사람이 보려는 명령이 아니라 스크립트에서 조건 분기용으로 쓰는 도구다. 정책을 건드리는 스크립트가 SELinux 없는 시스템에서 헛돌지 않게 앞단에서 걸러준다.

데비안 AppArmor의 aa-enabled가 같은 역할을 한다. 다만 aa-enabled는 문자열도 출력하고, SELinux 쪽은 순수하게 종료 코드만 남긴다는 차이가 있다. Enforcing과 Permissive를 구분하려면 이 명령 대신 getenforce를 써야 한다.

이렇게도 쓴다

켜져 있을 때만 SELinux 관련 명령을 실행하도록 가드로 건다(조합용).

selinuxenabled && restorecon -Rv /srv

 

꺼져 있으면 스크립트를 조기 종료한다.

selinuxenabled || { echo "SELinux 비활성"; exit 0; }

 

if 문 안에서 활성 여부에 따라 메시지를 나눈다.

if selinuxenabled; then echo 켜짐; else echo 꺼짐; fi

 

활성일 때 현재 모드까지 이어서 출력한다(조합용).

selinuxenabled && getenforce
반응형