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