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. 파일 및 디렉토리 이동
- 홈 디렉터리로 변경하고 파일을 만듭니다. 파일은
user_home_t
유형으로 레이블이 지정됩니다.~]$
touch file1~]$
ls -Z file1 -rw-rw-r-- user1 group1 unconfined_u:object_r:user_home_t:s0 file1 /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/
에 생성된 파일과 디렉토리는 이 유형을 상속받습니다. 따라서 이 유형으로 레이블이 지정됩니다.- 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와 같은 프로세스가 해당 파일 및 디렉터리에 액세스할 수 없습니다.