2.3. SELinux를 강제 모드로 변경
SELinux가 강제 모드에서 실행되면 SELinux 정책을 적용하고 SELinux 정책 규칙에 따라 액세스를 거부합니다. RHEL에서 강제 모드는 SELinux를 사용하여 시스템을 처음 설치할 때 기본적으로 활성화됩니다.
사전 요구 사항
-
selinux-policy-targeted
,libselinux-utils
및policycoreutils
패키지가 시스템에 설치됩니다. -
selinux=0
또는enforcing=0
커널 매개 변수는 사용되지 않습니다.
절차
선택한 텍스트 편집기에서
/etc/selinux/config
파일을 엽니다. 예를 들면 다음과 같습니다.# vi /etc/selinux/config
SELINUX=enforcing
옵션을 구성합니다.# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=enforcing # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
변경 사항을 저장하고 시스템을 다시 시작하십시오.
# reboot
다음 부팅 시 SELinux는 시스템 내의 모든 파일과 디렉터리의 레이블을 다시 지정하고 SELinux가 비활성화될 때 생성된 파일 및 디렉터리에 대한 SELinux 컨텍스트를 추가합니다.
검증
시스템을 다시 시작한 후
getenforce
명령이Enforcing
을 반환하는지 확인합니다.$ getenforce Enforcing
문제 해결
강제 모드로 전환한 후 SELinux는 SELinux 정책 규칙이 올바르지 않거나 누락되어 일부 작업을 거부할 수 있습니다.
SELinux가 거부하는 작업을 보려면 root로 다음 명령을 입력합니다.
# ausearch -m AVC,USER_AVC,SELINUX_ERR,USER_SELINUX_ERR -ts today
또는
se rsh-server
패키지가 설치되어 있으면 다음을 입력합니다.# grep "SELinux is preventing" /var/log/messages
SELinux가 활성 상태이고 감사 데몬(
auditd
)이 시스템에서 실행되지 않는 경우dmesg
명령의 출력에서 특정 SELinux 메시지를 검색합니다.# dmesg | grep -i -e type=1300 -e type=1400
자세한 내용은 SELinux와 관련된 문제 해결을 참조하십시오.