Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.
예를 들어 gooper계정의 HDFS home directory인 /user/gooper에서의 파일및 디렉토리 생성시 권한이 어떻게 부여되는지를 설명한다.
기본적으로 파일을 생성시 현재 혹은 상위폴더의 권한에 상관없이 666(default)-022(umask)=644가 생성되며, 디렉토리 생성시 777(default)-022(umask)=755가 생성된다.
그리고 group은 그대로 상속받고 user는 생성작업을 수행한 생성자의 user값으로 생성된다.
또한 default ACL이 설정된 경우, 0의 권한이 있는 경우는 그대로 0의 권한으로 파일 혹은 디렉토리가 생성된다.
(예를 들어 default ACL이 default:user::rwx, defautl:group::rwx, default:other::---인 경우 파일은 640, 디렉토리는 750으로 생성되고 디렉토리는 default속성을 그대로 상속받아 750+로 생성된다)
* HDFS에 디렉토리 생성시 생성 방법에 따른 권한은 다음과 같이 설정된다.
- HUE의 User Admin기능에서 Create home directory를 선택후 사용자 정보를 변경/저장하면 user home폴더가 755+로 권한이 설정된다.
- HUE의 File Browser를 통해서 디렉토리 생성시 750+로 생성된다.
- cli에서 hdfs dfs -mkdir를 사용하여 디렉토리 생성시 770+로 생성된다.
1. 경우#1( . 폴더에 ACL이 지정되지 않은 경우, 770)
/user hdfs:supergroup 775+ (ACL : default ACL이 default:user::rwx, defautl:group::rwx, default:other::---)
/user/gooper gooper:gooper 770
/user/gooper/a-file.txt hdfs:gooper 644
/user/gooper/a-directory hdfs:gooper 755
2. 경우#2 ( . 폴더에 ACL이 지정된 경우, 755+)
/user hdfs:supergroup 775+ (ACL : default ACL이 default:user::rwx, defautl:group::rwx, default:other::---)
/user/gooper gooper:gooper 755+ (ACL : default ACL이 default:user::rwx, defautl:group::rwx, default:other::---)
/user/gooper/a-file.txt hdfs:gooper 640
/user/gooper/a-directory hdfs:gooper 750+ (ACL : default ACL이 default:user::rwx, defautl:group::rwx, default:other::---)