You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Steve Loughran (JIRA)" <ji...@apache.org> on 2017/11/30 17:30:01 UTC
[jira] [Commented] (HADOOP-14820) Wasb mkdirs security checks
inconsistent with HDFS
[ https://issues.apache.org/jira/browse/HADOOP-14820?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16273001#comment-16273001 ]
Steve Loughran commented on HADOOP-14820:
-----------------------------------------
I should add that this appears to fix the problem whereas mkdirs() can fail near the root of a tree, because getParent() is being invoked before check for null
Here's a stack trace of wasb client which *doesn't* have this patch in
{code}
java.lang.NullPointerException
at org.apache.hadoop.fs.azure.NativeAzureFileSystem.getAncestor(NativeAzureFileSystem.java:2404)
at org.apache.hadoop.fs.azure.NativeAzureFileSystem.mkdirs(NativeAzureFileSystem.java:2436)
at org.apache.hadoop.fs.azure.NativeAzureFileSystem.mkdirs(NativeAzureFileSystem.java:2422)
at org.apache.hadoop.fs.FileSystem.mkdirs(FileSystem.java:1924)
...
{code}
directory being created is something like {{wasb://contract@stevel.blob.core.windows.net/out/}} in some spark code.
This makes me wonder whether this should be backported to 2.8.x. Thoughts?
> Wasb mkdirs security checks inconsistent with HDFS
> --------------------------------------------------
>
> Key: HADOOP-14820
> URL: https://issues.apache.org/jira/browse/HADOOP-14820
> Project: Hadoop Common
> Issue Type: Bug
> Components: fs/azure
> Affects Versions: 2.8.1
> Reporter: Sivaguru Sankaridurg
> Assignee: Sivaguru Sankaridurg
> Labels: azure, fs, secure, wasb
> Fix For: 2.9.0, 3.0.0-beta1
>
> Attachments: HADOOP-14820-006.patch, HADOOP-14820-007.patch, HADOOP-14820-branch-2-001.patch.txt, HADOOP-14820.001.patch, HADOOP-14820.002.patch, HADOOP-14820.003.patch, HADOOP-14820.004.patch, HADOOP-14820.005.patch
>
>
> No authorization checks should be made when a user tries to create (mkdirs -p) an existing folder hierarchy.
> For example, if we start with _/home/hdiuser/prefix_ pre-created, and do the following operations, the results should be as shown below.
> {noformat}
> hdiuser@hn0-0d2f67:~$ sudo chown root:root prefix
> hdiuser@hn0-0d2f67:~$ sudo chmod 555 prefix
> hdiuser@hn0-0d2f67:~$ ls -l
> dr-xr-xr-x 3 root root 4096 Aug 29 08:25 prefix
> hdiuser@hn0-0d2f67:~$ mkdir -p /home
> hdiuser@hn0-0d2f67:~$ mkdir -p /home/hdiuser
> hdiuser@hn0-0d2f67:~$ mkdir -p /home/hdiuser/prefix
> hdiuser@hn0-0d2f67:~$ mkdir -p /home/hdiuser/prefix/1
> mkdir: cannot create directory â/home/hdiuser/prefix/1â: Permission denied
> The first three mkdirs succeed, because the ancestor is already present. The fourth one fails because of a permission check against the (shorter) ancestor (as compared to the path being created).
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org