Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.10.2. 파일 및 디렉토리 이동

파일과 디렉토리는 이동 시 현재 SELinux 컨텍스트를 유지합니다. 대부분의 경우 이 동작은 이동 중인 위치에 대해 올바르지 않습니다. 다음 예제에서는 사용자의 홈 디렉터리에서 Apache HTTP 서버에서 사용하는 /var/www/html/ 디렉터리로 파일을 이동하는 방법을 보여줍니다. 파일이 이동되었으므로 올바른 SELinux 컨텍스트를 상속하지 않습니다.

절차 4.15. 파일 및 디렉토리 이동

  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/ 디렉터리의 SELinux 컨텍스트를 보려면 다음 명령을 입력합니다.
    ~]$ ls -dZ /var/www/html/
    drwxr-xr-x  root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/
    
    기본적으로 /var/www/html/httpd_sys_content_t 유형으로 레이블이 지정됩니다. /var/www/html/ 에 생성된 파일과 디렉토리는 이 유형을 상속받습니다. 따라서 이 유형으로 레이블이 지정됩니다.
  3. root인 경우 file1/var/www/html/ 로 이동합니다. 이 파일이 이동되었으므로 현재 user_home_t 유형을 유지합니다.
    ~]# mv file1 /var/www/html/
    ~]# ls -Z /var/www/html/file1
    -rw-rw-r--  user1 group1 unconfined_u:object_r:user_home_t:s0 /var/www/html/file1
    
기본적으로 Apache HTTP 서버는 user_home_t 유형으로 레이블이 지정된 파일을 읽을 수 없습니다. 웹 페이지로 구성된 모든 파일에 user_home_t 유형 또는 Apache HTTP Server에서 읽을 수 없는 다른 유형으로 레이블이 지정되면 Mozilla Firefox 와 같은 웹 브라우저를 사용하여 액세스하려고 할 때 권한이 거부됩니다.
중요
mv 명령을 사용하여 파일과 디렉토리를 이동하면 잘못된 SELinux 컨텍스트가 생성되어 Apache HTTP 서버 및 Samba와 같은 프로세스가 해당 파일 및 디렉터리에 액세스할 수 없습니다.