검색

4.10. SELinux 레이블 유지 관리

download PDF
이 섹션에서는 파일 및 디렉터리를 복사, 이동 및 보관할 때 SELinux 컨텍스트에 발생하는 사항에 대해 설명합니다. 또한 복사 및 보관 시 컨텍스트를 보존하는 방법을 설명합니다.

4.10.1. 파일 및 디렉토리 복사

파일 또는 디렉터리가 복사되면 새 파일 또는 디렉터리가 없는 경우 새로 생성됩니다. 새 파일 또는 디렉터리의 컨텍스트는 원래 컨텍스트를 유지하는 데 옵션을 사용하지 않는 한 원본 파일이나 디렉터리의 컨텍스트가 아닌 기본 레이블 규칙을 기반으로 합니다. 예를 들어 사용자 홈 디렉터리에 생성된 파일은 user_home_t 유형으로 레이블이 지정됩니다.
~]$ touch file1
~]$ ls -Z file1
-rw-rw-r--  user1 group1 unconfined_u:object_r:user_home_t:s0 file1
이러한 파일이 /etc와 같은 다른 디렉토리에 복사되면 /etc 의 default-labeling 규칙에 따라 새 파일이 생성됩니다 . 추가 옵션 없이 파일을 복사하면 원래 컨텍스트가 유지되지 않을 수 있습니다.
~]$ ls -Z file1
-rw-rw-r--  user1 group1 unconfined_u:object_r:user_home_t:s0 file1
~]# cp file1 /etc/
~]$ ls -Z /etc/file1
-rw-r--r--  root root unconfined_u:object_r:etc_t:s0   /etc/file1
file1/etc/ file1에 복사하면 /etc/file1 이 없으면 /etc/file1 이 새 파일로 생성됩니다. 위 예제와 같이 /etc/file1 은 기본 레이블 규칙에 따라 etc_t 유형으로 레이블이 지정됩니다.
파일이 기존 파일을 통해 복사되면 사용자가 --preserve=context 와 같은 원본 파일의 컨텍스트를 보존하기 위해 지정한 cp 옵션이 아닌 한 기존 파일의 컨텍스트가 보존됩니다. SELinux 정책은 복사 중에 컨텍스트가 유지되지 않도록 할 수 있습니다.

절차 4.11. SELinux 컨텍스트를 보존하지 않고 복사

이 절차에서는 파일을 cp 명령으로 복사할 때 옵션을 지정하지 않으면 타겟 상위 디렉터리에서 유형을 상속함을 보여줍니다.
  1. 사용자의 홈 디렉터리에서 파일을 만듭니다. 파일은 user_home_t 유형으로 레이블이 지정됩니다.
    ~]$ touch file1
    ~]$ ls -Z file1
    -rw-rw-r--  user1 group1 unconfined_u:object_r:user_home_t:s0 file1
    
  2. /var/www/html/ 디렉터리에 다음 명령과 함께 표시된 대로 httpd_sys_content_t 유형으로 레이블이 지정됩니다.
    ~]$ ls -dZ /var/www/html/
    drwxr-xr-x  root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/
    
  3. file1/var/www/html/ 에 복사되면 httpd_sys_content_t 유형을 상속합니다.
    ~]# cp file1 /var/www/html/
    ~]$ ls -Z /var/www/html/file1
    -rw-r--r--  root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/file1
    

절차 4.12. 복사 시 SELinux 컨텍스트 보존

다음 절차에서는 복사 시 컨텍스트를 보존하기 위해 --preserve=context 옵션을 사용하는 방법을 보여줍니다.
  1. 사용자의 홈 디렉터리에서 파일을 만듭니다. 파일은 user_home_t 유형으로 레이블이 지정됩니다.
    ~]$ touch file1
    ~]$ ls -Z file1
    -rw-rw-r--  user1 group1 unconfined_u:object_r:user_home_t:s0 file1
    
  2. /var/www/html/ 디렉터리에 다음 명령과 함께 표시된 대로 httpd_sys_content_t 유형으로 레이블이 지정됩니다.
    ~]$ ls -dZ /var/www/html/
    drwxr-xr-x  root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/
    
  3. preserve =context 옵션을 사용하면 복사 작업 중에 SELinux 컨텍스트가 유지됩니다. 아래 표시된 대로 file1user_home_t 유형은 /var/www/html/ 에 파일을 복사할 때 보존됩니다.
    ~]# cp --preserve=context file1 /var/www/html/
    ~]$ ls -Z /var/www/html/file1
    -rw-r--r--  root root unconfined_u:object_r:user_home_t:s0 /var/www/html/file1
    

절차 4.13. 문맥 복사 및 변경

다음 절차에서는 --context 옵션을 사용하여 대상 복사의 컨텍스트를 변경하는 방법을 보여줍니다. 다음 예는 사용자의 홈 디렉터리에서 수행됩니다.
  1. 사용자의 홈 디렉터리에서 파일을 만듭니다. 파일은 user_home_t 유형으로 레이블이 지정됩니다.
    ~]$ touch file1
    ~]$ ls -Z file1
    -rw-rw-r--  user1 group1 unconfined_u:object_r:user_home_t:s0 file1
    
  2. context 옵션을 사용하여 SELinux 컨텍스트를 정의합니다.
    ~]$ cp --context=system_u:object_r:samba_share_t:s0 file1 file2
  3. 컨텍스트가 없으면file2unconfined_u:object_r:user_home_t 컨텍스트로 레이블이 지정됩니다.
    ~]$ ls -Z file1 file2
    -rw-rw-r--  user1 group1 unconfined_u:object_r:user_home_t:s0 file1
    -rw-rw-r--  user1 group1 system_u:object_r:samba_share_t:s0 file2
    

절차 4.14. 기존 파일에서 파일 복사

이 절차에서는 컨텍스트를 보존하는 데 옵션을 사용하지 않는 한 기존 파일을 통해 파일을 복사할 때 기존 파일의 컨텍스트가 보존되는 것을 보여줍니다.
  1. root로 /etc 디렉토리에 새 파일 file1 을 만듭니다. 아래 표시된 대로 파일은 etc_t 유형으로 레이블이 지정됩니다.
    ~]# touch /etc/file1
    ~]$ ls -Z /etc/file1
    -rw-r--r--  root root unconfined_u:object_r:etc_t:s0   /etc/file1
    
  2. 다른 파일 file2/tmp 디렉토리에 만듭니다. 아래 표시된 대로 파일은 user_tmp_t 유형으로 레이블이 지정됩니다.
    ~]$ touch /tmp/file2
    ~$ ls -Z /tmp/file2
    -rw-r--r--  root root unconfined_u:object_r:user_tmp_t:s0 /tmp/file2
    
  3. file1file2 로 덮어쓰기 :
    ~]# cp /tmp/file2 /etc/file1
  4. 복사 후 다음 명령은 / etc/file 1을 대체한 /tmp/file2user_tmp_t 유형이 아닌 etc_t 유형으로 레이블이 지정된 file 1 을 보여줍니다.
    ~]$ ls -Z /etc/file1
    -rw-r--r--  root root unconfined_u:object_r:etc_t:s0   /etc/file1
    
중요
파일 및 디렉터리를 이동하지 않고 복사합니다. 이렇게 하면 올바른 SELinux 컨텍스트로 레이블이 지정되도록 하는 데 도움이 됩니다. 잘못된 SELinux 컨텍스트는 프로세스가 해당 파일 및 디렉터리에 액세스하지 못하도록 할 수 있습니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.