본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

SELinux의 동작 모드를 Enforcing 또는 Permissive로 바꾼다.

  • 변경은 즉시 적용되지만 재부팅하면 /etc/selinux/config의 설정으로 돌아간다.
  • SELinux가 Disabled 상태이면 사용할 수 없으며, Disabled로 전환할 수도 없다.
  • 경로 : /usr/sbin/setenforce
  • 패키지 : libselinux-utils
  • root 권한이 필요하다.
# setenforce [Enforcing | Permissive | 1 | 0]
  • 1 또는 Enforcing : Enforcing 모드로 전환한다. 정책 위반을 차단한다.
  • 0 또는 Permissive : Permissive 모드로 전환한다. 정책 위반을 차단하지 않고 기록만 한다.

모드를 영구적으로 바꾸는 방법

편집 원본 편집
  • /etc/selinux/config 파일의 SELINUX= 값을 enforcing, permissive, disabled 중 하나로 수정하고 재부팅한다.
  • 부트 로더의 커널 매개변수로 enforcing=0(Permissive로 부팅) 또는 selinux=0(SELinux 비활성화)을 지정할 수도 있다.
# 문제 분석을 위해 일시적으로 Permissive 모드로 바꾸고 확인한다.
# setenforce 0
# getenforce
Permissive

# 다시 Enforcing 모드로 되돌린다.
# setenforce 1

# 재부팅 후에도 Permissive를 유지하도록 설정 파일을 수정한다.
# sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config

# SELinux가 비활성화된 상태에서 실행하면 오류가 난다.
# setenforce 1
setenforce: SELinux is disabled
  • setenforce 0은 Permissive, setenforce 1은 Enforcing이라는 점이 자주 출제된다.
  • setenforce로는 Disabled로 전환할 수 없으며, 재부팅 후에는 /etc/selinux/config의 값이 적용된다.
  • 서비스가 SELinux 때문에 동작하지 않을 때는 모드를 끄기보다 불리언(setsebool -P)이나 파일 컨텍스트(semanage fcontext, restorecon)를 조정하는 것이 바람직하다.