2.4. 이전에 비활성화한 시스템에서 SELinux 활성화
이전에 비활성화한 시스템에서 SELinux를 활성화하거나 처리할 수 없는 시스템과 같은 문제를 방지하려면 허용 모드에서 AVC(Access Vector Cache) 메시지를 먼저 해결합니다.
시스템이 허용 모드에서 SELinux를 실행하는 경우 사용자와 프로세스는 다양한 파일 시스템 오브젝트에 잘못 레이블을 지정할 수 있습니다. SELinux가 비활성화된 동안 생성된 파일 시스템 개체는 레이블이 지정되지 않습니다. SELinux는 파일 시스템 오브젝트의 올바른 레이블에 의존하기 때문에 강제 모드로 전환할 때 문제가 발생합니다.
레이블이 지정되지 않은 파일에 잘못 레이블이 지정되지 않은 파일을 방지하기 위해 SELinux는 비활성화 상태에서 허용 또는 강제 모드로 변경될 때 파일 시스템의 레이블을 자동으로 다시 지정합니다.
레이블을 다시 지정하기 위해 시스템을 재부팅하기 전에, 예를 들어 enforcing=0
커널 옵션을 사용하여 허용 모드로 부팅되는지 확인합니다. 이렇게 하면 selinux-autorelabel
서비스를 시작하기 전에 시스템에 systemd
에 필요한 레이블이 지정되지 않은 파일이 포함된 경우 시스템이 부팅되지 않습니다. 자세한 내용은 RHBZ#2021835 를 참조하십시오.
절차
- 허용 모드에서 SELinux를 활성화합니다. 자세한 내용은 허용 모드로 변경을 참조하십시오.
시스템을 다시 시작하십시오.
# reboot
- SELinux 거부 메시지를 확인합니다. 자세한 내용은 SELinux 거부 식별 을 참조하십시오.
다음 재부팅 시 파일의 레이블을 다시 지정했는지 확인합니다.
# fixfiles -F onboot
이렇게 하면
-F
옵션이 포함된/.autorelabel
파일이 생성됩니다.주의fixfiles -F onboot
명령을 시작하기 전에 항상 허용 모드로 전환합니다.기본적으로
autorelabel
은 시스템에 사용 가능한 CPU 코어만큼 많은 스레드를 병렬로 사용합니다. 자동 레이블을 다시 지정하는 동안 단일 스레드만 사용하려면fixfiles -T 1 onboot
명령을 사용합니다.- 거부 모드가 없는 경우 강제 모드로 전환합니다. 자세한 내용은 부팅 시 SELinux 모드 변경을 참조하십시오.
검증
시스템을 다시 시작한 후
getenforce
명령이Enforcing
을 반환하는지 확인합니다.$ getenforce Enforcing
다음 단계
SELinux를 강제 모드로 사용하여 사용자 정의 애플리케이션을 실행하려면 다음 시나리오 중 하나를 선택합니다.
-
unconfined_service_t
도메인에서 애플리케이션을 실행합니다. - 애플리케이션에 대한 새 정책을 작성합니다. 자세한 내용은 사용자 지정 SELinux 정책 만들기 섹션을 참조하십시오.
추가 리소스
- SELinux 상태 및 모드 섹션에서는 모드의 임시 변경 사항을 다룹니다.