HDFS-13626. Fix incorrect username when deny the setOwner operation. Contributed by Zsolt Venczel.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/b24098bc Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/b24098bc Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/b24098bc Branch: refs/heads/HDDS-48 Commit: b24098bc8ffe976d662acabc168e20eac8cc8460 Parents: 5f6769f Author: Yiqun Lin <yq...@apache.org> Authored: Wed May 30 16:52:21 2018 +0800 Committer: Yiqun Lin <yq...@apache.org> Committed: Wed May 30 16:52:21 2018 +0800 ---------------------------------------------------------------------- .../hadoop/hdfs/server/namenode/FSDirAttrOp.java | 4 ++-- .../org/apache/hadoop/security/TestPermission.java | 13 ++++++++----- 2 files changed, 10 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/b24098bc/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAttrOp.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAttrOp.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAttrOp.java index 406fe80..1dbee96 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAttrOp.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAttrOp.java @@ -82,12 +82,12 @@ public class FSDirAttrOp { fsd.checkOwner(pc, iip); if (!pc.isSuperUser()) { if (username != null && !pc.getUser().equals(username)) { - throw new AccessControlException("User " + username + throw new AccessControlException("User " + pc.getUser() + " is not a super user (non-super user cannot change owner)."); } if (group != null && !pc.isMemberOfGroup(group)) { throw new AccessControlException( - "User " + username + " does not belong to " + group); + "User " + pc.getUser() + " does not belong to " + group); } } unprotectedSetOwner(fsd, iip, username, group); http://git-wip-us.apache.org/repos/asf/hadoop/blob/b24098bc/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/security/TestPermission.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/security/TestPermission.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/security/TestPermission.java index 813ac5a..388e7f2 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/security/TestPermission.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/security/TestPermission.java @@ -337,7 +337,8 @@ public class TestPermission { fail("Expect ACE when a non-super user tries to change a file to a " + "group where the user does not belong."); } catch (AccessControlException e) { - assertThat(e.getMessage(), startsWith("User null does not belong to")); + assertThat(e.getMessage(), startsWith("User " + + userfs.getFileStatus(file).getOwner() + " does not belong to")); } } @@ -371,8 +372,9 @@ public class TestPermission { userfs.setOwner(file, NOUSER, null); fail("Expect ACE when a non-super user tries to change owner"); } catch (AccessControlException e) { - assertThat(e.getMessage(), startsWith("User " + NOUSER - + " is not a super user (non-super user cannot change owner)")); + assertThat(e.getMessage(), startsWith("User " + + userfs.getFileStatus(file).getOwner() + + " is not a super user (non-super user cannot change owner)")); } } @@ -397,8 +399,9 @@ public class TestPermission { fail("Expect ACE or FNFE when a non-super user tries to change owner " + "for a non-existent file"); } catch (AccessControlException e) { - assertThat(e.getMessage(), startsWith("User " + NOUSER - + " is not a super user (non-super user cannot change owner)")); + assertThat(e.getMessage(), startsWith("User " + + userfs.getFileStatus(file).getOwner() + + " is not a super user (non-super user cannot change owner)")); } catch (FileNotFoundException e) { } } --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org