[
https://issues.apache.org/jira/browse/HDFS-5923?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chris Nauroth updated HDFS-5923:
--------------------------------
Attachment: HDFS-5923.002.patch
There are a lot more assertions on the permission bits throughout the tests.
Instead of asking you to hunt for them, I just went ahead and made the test
code changes on top of your v1 patch. I'm attaching that as v2. I also
refactored a little to create a shared assertion method in {{AclTestHelpers}},
and I changed the logic of that assertion to check the short value directly.
That way, our tests won't be sensitive to the implementation details of
{{FsPermission#equals}}.
I'll review the patch now.
> 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
> Affects Versions: HDFS ACLs (HDFS-4685)
> Reporter: Haohui Mai
> Assignee: Haohui Mai
> Attachments: HDFS-5923.000.patch, HDFS-5923.001.patch,
> HDFS-5923.002.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)