From cec07b18c20f848e628f232f1f7ac73b30bde117 Mon Sep 17 00:00:00 2001
From: jwindley <jwindley@unknown>
Date: Wed, 12 Nov 2003 21:39:32 +0000
Subject: [PATCH] Previously unsubmitted support for --uid and --gid

---
 src/slurmd/job.h  | 1 +
 src/slurmd/smgr.c | 5 ++---
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/slurmd/job.h b/src/slurmd/job.h
index 2cfedcb9f60..2d79f3b7ab2 100644
--- a/src/slurmd/job.h
+++ b/src/slurmd/job.h
@@ -113,6 +113,7 @@ typedef struct slurmd_job {
 	qsw_jobinfo_t qsw_job; /* Elan-specific job information             */
 #endif
 	uid_t         uid;     /* user id for job                           */
+	gid_t         gid;     /* group ID for job                          */
 
 	bool           batch;      /* true if this is a batch job           */
 	bool           run_prolog; /* true if need to run prolog            */
diff --git a/src/slurmd/smgr.c b/src/slurmd/smgr.c
index 63280fda7c4..802652d4b08 100644
--- a/src/slurmd/smgr.c
+++ b/src/slurmd/smgr.c
@@ -149,7 +149,7 @@ _session_mgr(slurmd_job_t *job)
 
 	if (_become_user(job) < 0) 
 		exit(2);
-		
+
 	if (setsid() < (pid_t) 0) {
 		error("setsid: %m");
 		exit(3);
@@ -212,7 +212,7 @@ _cleanup_file_descriptors(slurmd_job_t *j)
 static int
 _become_user(slurmd_job_t *job)
 {
-	if (setgid(job->pwd->pw_gid) < 0) {
+	if (setgid(job->gid) < 0) {
 		error("setgid: %m");
 		return -1;
 	}
@@ -249,7 +249,6 @@ _exec_all_tasks(slurmd_job_t *job)
 	if (xsignal_block(smgr_sigarray) < 0)
 		return error ("Unable to block signals");
 
-
 	for (i = 0; i < job->ntasks; i++) {
 		pid_t pid = fork();
 
-- 
GitLab