본문 바로가기

리눅스

CentOS 7에서 SELinux를 비활성화하는 방법(selinux disabled)

728x90

CentOS 7에서 SELinux를 비활성화하는 방법(selinux disabled)

SELinux는 CentOS의 기본 보안 기능 중 하나입니다. 하지만 때로는 특정 애플리케이션이나 설정에서 SELinux를 비활성화해야 할 때도 있습니다. 이를 위해 다음과 같은 단계를 따를 수 있습니다.

1. SELinux 상태 확인

현재 SELinux의 상태를 확인합니다.

sestatus

위 명령을 실행하면 현재 SELinux 상태가 enforcing, permissive, disabled 중 하나로 나타납니다.

  • enforcing : SELinux가 활성화되어 있고 보안 정책을 강제로 적용합니다.
  • permissive : SELinux가 활성화되어 있지만 보안 정책을 적용하지 않습니다. 대신 정책 위반에 대한 경고 메시지가 로그에 기록됩니다.
  • disabled : SELinux가 비활성화되어 있습니다.

2. SELinux 영구 비활성화

SELinux를 비활성화하려면 다음 단계를 따릅니다.

  • SELinux 설정 파일을 엽니다.
sudo vim /etc/selinux/config
  • SELINUX 항목의 값을 disabled로 변경합니다.
SELINUX=disabled
  • config 파일 확인
cat /etc/selinux/config
$ cat /etc/selinux/config
# 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=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
  • 변경 내용을 저장하고 종료합니다.
  • 시스템을 재부팅합니다.
sudo reboot

이제 시스템이 다시 시작되면 SELinux가 비활성화됩니다. 그러나 SELinux를 완전히 제거하지는 않으므로 필요한 경우 다시 활성화할 수 있습니다.

728x90

3. SELinux 임시 비활성화

현재 세션 동안 SELinux가 비활성화됩니다. 다시 부팅하면 SELinux가 다시 활성화됩니다.

  • selinux 켜기 : setenforce 1
  • selinux 끄기 : setenforce 0
sestatus
$ sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Memory protection checking:     actual (secure)
Max kernel policy version:      31
  • SELinux 임시 비활성화
setenforce 0
$ sestatus    
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   permissive
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Memory protection checking:     actual (secure)
Max kernel policy version:      31
sestatus | grep "Current mode"
$ sestatus | grep "Current mode"
Current mode:                   permissive

sed 명령어로 문자열 변경

sed -i 's/enforcing/disabled/g' /etc/selinux/config
$ sed -i 's/enforcing/disabled/g' /etc/selinux/config

시스템을 다시 부팅할 때 SELinux가 비활성화되어 있는지 확인합니다.

sestatus
$ sestatus    
SELinux status:                 disabled

 

참고URL

- centos selinux 해제 : https://scbyun.com/375

 

728x90