명령어/Linux

[RHEL] setenforce SELinux 모드 임시 전환

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

부제: 재부팅 전까지 Enforcing과 Permissive를 즉시 바꾼다

setenforce 0          # Permissive로 (차단 안 하고 로그만)
setenforce 1          # Enforcing으로 (위반 차단)
Enforcing
after setenforce 0:
Permissive
after setenforce 1:
Enforcing

setenforce는 실행 중인 커널의 SELinux 모드를 즉시 바꾼다. 1이나 Enforcing은 차단, 0이나 Permissive는 차단 없이 감사 로그만 남긴다. 문제를 디버깅할 때 잠깐 0으로 내려 어떤 접근이 막히는지 로그로 확인하고 다시 1로 올리는 식으로 쓴다. Disabled로는 못 바꾼다. 그건 설정 파일 수정과 재부팅이 필요하다.

이 변경은 메모리에만 반영되어 재부팅하면 /etc/selinux/config 값으로 되돌아간다. 데비안 AppArmor에서 프로파일 하나를 aa-complain으로 완화하는 것과 목적은 비슷하지만, setenforce는 프로파일 단위가 아니라 시스템 전체 모드를 한 번에 바꾼다.

이렇게도 쓴다

변경 직후 실제로 바뀌었는지 곧바로 확인한다(조합용).

setenforce 0 && getenforce

 

디버깅을 위해 Permissive로 내렸다가 작업 끝나면 다시 올린다.

setenforce 0; # ...확인 작업... ; setenforce 1

 

Permissive에서 쌓인 차단 후보를 감사 로그에서 훑어본다(조합용).

setenforce 0; ausearch -m avc -ts recent | grep denied

 

현재 모드를 확인하고 Enforcing이 아니면 되돌린다.

[ "$(getenforce)" = Enforcing ] || setenforce 1
반응형