[
https://issues.apache.org/jira/browse/HDFS-6570?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14077954#comment-14077954
]
Chris Nauroth commented on HDFS-6570:
-------------------------------------
Hi, [~jdere]. The expected behavior is to get an {{AccessControlException}}
thrown from the "Fails here" line. The test creates directory /p1 and gives
bruce read access. Then, it creates sub-directory /p1/p2 and gives bruce full
read-write-execute access. Traversing an HDFS directory to access its children
requires execute permission, not read permission. (This is consistent with
POSIX.) Bruce doesn't have execute access on /p1, so HDFS halts traversal
there and throws an {{AccessControlException}}. The presence of a
read-write-execute ACL entry on a child inode does not override the requirement
for execute permission on the parent.
> add api that enables checking if a user has certain permissions on a file
> -------------------------------------------------------------------------
>
> Key: HDFS-6570
> URL: https://issues.apache.org/jira/browse/HDFS-6570
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: hdfs-client, namenode, webhdfs
> Reporter: Thejas M Nair
> Assignee: Jitendra Nath Pandey
> Attachments: HDFS-6570-prototype.1.patch, HDFS-6570.2.patch,
> HDFS-6570.3.patch, HDFS-6570.4.patch, HDFS-6570.5.patch
>
>
> For some of the authorization modes in Hive, the servers in Hive check if a
> given user has permissions on a certain file or directory. For example, the
> storage based authorization mode allows hive table metadata to be modified
> only when the user has access to the corresponding table directory on hdfs.
> There are likely to be such use cases outside of Hive as well.
> HDFS does not provide an api for such checks. As a result, the logic to check
> if a user has permissions on a directory gets replicated in Hive. This
> results in duplicate logic and there introduces possibilities for
> inconsistencies in the interpretation of the permission model. This becomes a
> bigger problem with the complexity of ACL logic.
> HDFS should provide an api that provides functionality that is similar to
> access function in unistd.h - http://linux.die.net/man/2/access .
--
This message was sent by Atlassian JIRA
(v6.2#6252)