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