You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Andrew Wang (JIRA)" <ji...@apache.org> on 2013/04/26 23:16:16 UTC

[jira] [Created] (HDFS-4765) Permission check of symlink deletion incorrectly throws UnresolvedLinkException

Andrew Wang created HDFS-4765:
---------------------------------

             Summary: 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: 2.0.3-alpha, 3.0.0
            Reporter: Andrew Wang
            Assignee: Andrew Wang


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