[ https://issues.apache.org/jira/browse/HDFS-4765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13656143#comment-13656143 ]
Aaron T. Myers commented on HDFS-4765: -------------------------------------- I've committed this to trunk, but, perhaps obviously, it doesn't apply cleanly to branch-2 since snapshots has not yet been merged there. Mind posting a separate branch-2 patch, Andrew? > Permission check of symlink deletion incorrectly throws > UnresolvedLinkException > ------------------------------------------------------------------------------- > > Key: HDFS-4765 > URL: https://issues.apache.org/jira/browse/HDFS-4765 > Project: Hadoop HDFS > Issue Type: Bug > Components: namenode > Affects Versions: 3.0.0, 2.0.3-alpha > Reporter: Andrew Wang > Assignee: Andrew Wang > Attachments: hdfs-4765-1.patch, hdfs-4765-2.patch > > > With permissions enabled, the permission check in {{FSNamesystem#delete}} > will incorrectly throw an UnresolvedLinkException if the path contains a > symlink. This leads to FileContext resolving the symlink and instead deleting > the link target. > The correct check is to see if the user has write permissions on the parent > directory of the symlink, e.g. > {noformat} > -> % ls -ld symtest > drwxr-xr-x 2 root root 4096 Apr 26 14:12 symtest > -> % ls -l symtest > total 12 > lrwxrwxrwx 1 root root 6 Apr 26 14:12 link -> target > -rw-r--r-- 1 root root 0 Apr 26 14:11 target > -> % rm -f symtest/link > rm: cannot remove `symtest/link': Permission denied > -> % sudo chown andrew symtest > -> % rm -f symtest/link > -> % > {noformat} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira