Rocky Linux / SELinux 끄는 방법
Rocky Linux에는 시스템의 보안을 강화하기 위한 SELinux(Security-Enhanced Linux) 기능이 기본적으로 적용되어 있습니다. SELinux는 파일, 프로세스, 포트 등에 대한 접근을 정책에 따라 제한하여 서버를 보호하는 역할을 합니다.
보안 측면에서는 SELinux를 활성화해서 사용하는 것이 권장되지만, 서버 구축이나 테스트 과정에서는 SELinux 정책 때문에 Apache, Nginx, MariaDB 등의 서비스가 정상적으로 동작하지 않는 것처럼 보이는 경우가 있습니다. 이런 이유로 테스트 서버나 별도의 보안 정책을 적용하는 환경에서는 SELinux를 비활성화(Disable)해야 할 수도 있습니다.
SELinux 상태 확인하는 방법
Rocky Linux에서 현재 SELinux가 활성화되어 있는지 확인하려면 다음 명령어를 실행합니다.
# getenforce
SELinux가 활성화되어 있고 정책이 적용되는 상태라면 다음과 같이 출력됩니다.
Enforcing
정책을 적용하지 않고 로그만 기록하는 상태라면 다음과 같이 표시됩니다.
Permissive
SELinux가 완전히 비활성화되어 있다면 다음과 같이 표시됩니다.
Disabled
SELinux 일시적으로 끄는 방법
SELinux를 완전히 비활성화하지 않고 현재 실행 중인 시스템에서 정책 적용만 중지하려면 Permissive 모드로 변경하면 됩니다.
# setenforce 0
변경되었는지 확인합니다.
# getenforce
결과가 다음과 같이 나오면 정상적으로 변경된 것입니다.
Permissive
setenforce 0 명령어는 SELinux를 완전히 제거하거나 비활성화하는 것이 아니라 Enforcing 모드에서 Permissive 모드로 변경하는 명령어입니다.
다시 SELinux 정책을 적용하려면 다음 명령어를 실행합니다.
# setenforce 1
확인합니다.
# getenforce
다음과 같이 출력됩니다.
Enforcing
주의할 점은 setenforce 0을 이용한 설정은 일시적인 설정이라는 것입니다. 서버를 재부팅하면 SELinux 설정 파일에 지정되어 있는 모드로 다시 돌아갑니다.
Rocky Linux에서 SELinux 영구적으로 끄는 방법
SELinux 설정 파일은 /etc/selinux/config입니다.
설정 파일에서 다음 부분을 찾습니다.
SELINUX=enforcing
이를 다음과 같이 변경합니다.
SELINUX=disabled
SELinux 설정 파일을 수정했다고 해서 현재 실행 중인 SELinux가 즉시 Disabled 상태로 변경되는 것은 아닙니다. 변경된 설정을 적용하려면 Rocky Linux를 재부팅해야 합니다.
Rocky Linux가 재부팅되면 다시 서버에 접속한 후 다음 명령어를 실행합니다.
# getenforce
다음과 같이 출력되면 SELinux가 비활성화된 것입니다.
Disabled
또는 다음 명령어로 자세한 상태를 확인할 수 있습니다.
이제 Rocky Linux에서 SELinux가 영구적으로 비활성화된 상태입니다.