commit | 0fe61333b00bfc2b99628d03a7a318a20db118b7 | [log] [tgz] |
---|---|---|
author | Aaron Myers <atm@apache.org> | Wed Apr 11 05:12:54 2012 +0000 |
committer | Aaron Myers <atm@apache.org> | Wed Apr 11 05:12:54 2012 +0000 |
tree | 9d6215d64bc8ce63949b64a7db7f87f06a54c03f | |
parent | dceb6e9bb3430fa3c31cb6a893262dba4438656f [diff] |
Fixing an issue to do with setting of correct groups for tasks. Contributed by Aaron T Myers. git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.23.2@1324557 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c b/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c index 4725683..d08a1d6 100644 --- a/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c +++ b/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c
@@ -526,6 +526,17 @@ if (user_detail == NULL) { return -1; } + + if (geteuid() == user_detail->pw_uid) { + return 0; + } + + if (initgroups(user, user_detail->pw_gid) != 0) { + fprintf(LOGFILE, "Error setting supplementary groups for user %s: %s\n", + user, strerror(errno)); + return -1; + } + return change_effective_user(user_detail->pw_uid, user_detail->pw_gid); }