diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c index 9fe1ccd3b129495b07f4ca2937a0fa1a456d113c..0487b4dbc9f26128360987ff18e98e1cc57c6197 100644 --- a/src/slurmctld/job_mgr.c +++ b/src/slurmctld/job_mgr.c @@ -1625,7 +1625,7 @@ static int _job_create(job_desc_msg_t * job_desc, uint32_t * new_job_id, /* Insure that requested partition is valid right now, * otherwise leave job queued and provide warning code */ if ((job_desc->user_id == 0) || - (job_desc->user_id == getuid())) + (job_desc->user_id == slurmctld_conf.slurm_user_id)) super_user = true; if ((!super_user) && (job_desc->min_nodes > part_ptr->max_nodes)) { @@ -2746,7 +2746,7 @@ int update_job(job_desc_msg_t * job_specs, uid_t uid) job_specs->job_id); return ESLURM_INVALID_JOB_ID; } - if ((uid == 0) || (uid == getuid())) + if ((uid == 0) || (uid == slurmctld_conf.slurm_user_id)) super_user = 1; if ((job_ptr->user_id != uid) && (super_user == 0)) { error("Security violation, JOB_UPDATE RPC from uid %d", @@ -3146,7 +3146,8 @@ old_job_info(uint32_t uid, uint32_t job_id, char **node_list, job_ptr = find_job_record(job_id); if (job_ptr == NULL) return ESLURM_INVALID_JOB_ID; - if ((uid != 0) && (job_ptr->user_id != uid)) + if ((job_ptr->user_id != uid) && + (uid != 0) && (uid != slurmctld_conf.slurm_user_id)) return ESLURM_ACCESS_DENIED; if (IS_JOB_PENDING(job_ptr)) return ESLURM_JOB_PENDING;