SELinux
컨테이너의 SELinux
SELinux는 레이블링 시스템입니다. 모든 프로세스와 모든 파일 시스템 객체는 레이블을 가지고 있습니다. SELinux 정책은 프로세스 레이블이 시스템의 다른 모든 레이블과 함께 무엇을 할 수 있는지에 대한 규칙을 정의합니다.
컨테이너 엔진은 단일 제한된 SELinux 레이블로 컨테이너 프로세스를 시작하며, 일반적으로 container_t
를 사용하고, 그 후 컨테이너 내부의 컨테이너를 container_file_t
로 레이블을 설정합니다. SELinux 정책 규칙은 기본적으로 container_t
프로세스가 container_file_t
로 레이블이 지정된 파일만 읽고/쓰고/실행할 수 있다고 말합니다. 만약 컨테이너 프로세스가 컨테이너를 탈출하고 호스트의 콘텐츠에 쓰려고 시도하면, 리눅스 커널은 접근을 거부하고 컨테이너 프로세스가 container_file_t
로 레이블이 지정된 콘텐츠에만 쓸 수 있도록 허용합니다.
SELinux 사용자
정상적인 Linux 사용자 외에도 SELinux 사용자가 있습니다. SELinux 사용자는 SELinux 정책의 일부입니다. 각 Linux 사용자는 정책의 일환으로 SELinux 사용자에 매핑됩니다. 이를 통해 Linux 사용자는 SELinux 사용자에게 부여된 제한 및 보안 규칙과 메커니즘을 상속받을 수 있습니다.
Last updated