[
https://issues.apache.org/jira/browse/HDFS-1495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12969131#action_12969131
]
Tsz Wo (Nicholas), SZE commented on HDFS-1495:
----------------------------------------------
In Hadoop, "fs -rmr" without -skipTrash actually is "move to trash" if trash is
enabled. It will call or FileSystem.rename(..). Therefore, it is allowed.
Move is also allowed in POSFIX.
There will be a permission denied for "fs -rmr -skipTrash", which will call
FileSystem.delete(..).
> HDFS does not properly check permissions of files in a directory when doing
> rmr
> -------------------------------------------------------------------------------
>
> Key: HDFS-1495
> URL: https://issues.apache.org/jira/browse/HDFS-1495
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.20.2
> Reporter: Alan Gates
>
> In POSIX file semantics, the ability to remove an entry a file is determined
> by whether the user has write permissions on the directory containing the
> file. However, to delete recursively (rm -r) the user must have write
> permissions in all directories being removed. Thus if you have a directory
> structure like /a/b/c and a user has write permissions on a but not on b,
> then he is not allowed to do 'rm -r b'. This is because he does not have
> permissions to remove c, so the rm of b fails, even though he has permission
> to remove b.
> However, 'hadoop fs -rmr b' removes both b and c in this case. It should
> instead fail and return an error message saying the user does not have
> permission to remove c. 'hadoop fs -rmr c' correctly fails.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.