Author: shv
Date: Tue Jun 5 02:43:50 2012
New Revision: 1346216
URL: http://svn.apache.org/viewvc?rev=1346216&view=rev
Log:
MAPREDUCE-4244. Set supplemental groups correctly. Contributed by Benoy Antony.
Modified:
hadoop/common/branches/branch-0.22/mapreduce/CHANGES.txt
hadoop/common/branches/branch-0.22/mapreduce/src/c++/task-controller/impl/task-controller.c
Modified: hadoop/common/branches/branch-0.22/mapreduce/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.22/mapreduce/CHANGES.txt?rev=1346216&r1=1346215&r2=1346216&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.22/mapreduce/CHANGES.txt (original)
+++ hadoop/common/branches/branch-0.22/mapreduce/CHANGES.txt Tue Jun 5 02:43:50 2012
@@ -39,6 +39,8 @@ Release 0.22.1 - Unreleased
MAPREDUCE-2178. Race condition in LinuxTaskController permissions handling.
(Todd Lipcon, Benoy Antony via shv)
+ MAPREDUCE-4244. Set supplemental groups correctly. (Benoy Antony via shv)
+
Release 0.22.0 - 2011-11-29
INCOMPATIBLE CHANGES
Modified: hadoop/common/branches/branch-0.22/mapreduce/src/c++/task-controller/impl/task-controller.c
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.22/mapreduce/src/c%2B%2B/task-controller/impl/task-controller.c?rev=1346216&r1=1346215&r2=1346216&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.22/mapreduce/src/c++/task-controller/impl/task-controller.c
(original)
+++ hadoop/common/branches/branch-0.22/mapreduce/src/c++/task-controller/impl/task-controller.c
Tue Jun 5 02:43:50 2012
@@ -490,6 +490,17 @@ int set_user(const char *user) {
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);
}
|