[ 
https://issues.apache.org/jira/browse/HDFS-5923?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13898370#comment-13898370
 ] 

Haohui Mai commented on HDFS-5923:
----------------------------------

The v0 patch takes a more aggressive approach, which removes the ACL bit 
completely. The rationale is the following:

# Some applications might assume that {{FsPermission}} stay within the range of 
0~0777. Changing {{FsPermission}} might lead to unexpected issues.
# There are not many users care about whether the file has ACL except for ls. 
Since ls is not in the critical path, ls can make a separate {{getAclStatus()}} 
call to calculate the ACL bit.

> Do not persist the ACL bit in the FsPermission
> ----------------------------------------------
>
>                 Key: HDFS-5923
>                 URL: https://issues.apache.org/jira/browse/HDFS-5923
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: hdfs-client, namenode, security
>            Reporter: Haohui Mai
>            Assignee: Haohui Mai
>         Attachments: HDFS-5923.000.patch
>
>
> The current implementation persists and ACL bit in FSImage and editlogs. 
> Moreover, the security decisions also depend on whether the bit is set.
> The problem here is that we have to maintain the implicit invariant, which is 
> the ACL bit is set if and only if the the inode has AclFeature. The invariant 
> has to be maintained everywhere otherwise it can lead to a security 
> vulnerability. In the worst case, an attacker can toggle the bit and bypass 
> the ACL checks.
> The jira proposes to treat the ACL bit as a transient bit. The bit should not 
> be persisted onto the disk, neither it should affect any security decisions.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to