This document describes how attributes (permission, group, extended ACL's) of files representing Hive data are determined.
HDFS Background
- When a file or directory is created, its owner is the user identity of the client process, and its group is inherited from parent (the BSD rule). Permissions are taken from default umask. Extended Acl's are taken from parent unless they are set explicitly.
...
- When "hive.warehouse.subdir.inherit.perms" flag is enabled in Hive, Hive will try to do all above inheritances. In the future, we can add more flags for more finer-grained control.
- Failure by Hive to inherit will not cause operation to fail. Rule of thumb of when security-prop inheritance will happen is the following:
- To run chmod, a user must be the owner of the file, or else a super-user.
- To run chgrp, a user must be the owner of files, or else a super-user.
- Hence, user that hive runs as (either 'hive' or the logged-in user in case of impersonation), must be super-user or owner of the file whose security properties are going to be changed.
...