From 3bddaaf580f43fd0f58ca2ff69a744892ad70663 Mon Sep 17 00:00:00 2001 From: Ben Gras Date: Fri, 20 Jan 2006 12:43:19 +0000 Subject: [PATCH] Let other uids (temporarily) set their mapping. --- servers/fs/const.h | 1 + servers/fs/misc.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/servers/fs/const.h b/servers/fs/const.h index b978ea2a3..139503fe3 100644 --- a/servers/fs/const.h +++ b/servers/fs/const.h @@ -28,6 +28,7 @@ /* Miscellaneous constants */ #define SU_UID ((uid_t) 0) /* super_user's uid_t */ +#define SERVERS_UID ((uid_t) 11) /* who may do FSSIGNON */ #define SYS_UID ((uid_t) 0) /* uid_t for processes MM and INIT */ #define SYS_GID ((gid_t) 0) /* gid_t for processes MM and INIT */ #define NORMAL 0 /* forces get_block to do disk read */ diff --git a/servers/fs/misc.c b/servers/fs/misc.c index 59f96d825..4fd694784 100644 --- a/servers/fs/misc.c +++ b/servers/fs/misc.c @@ -496,7 +496,8 @@ PUBLIC int do_svrctl() struct fssignon device; int r, major; - if (fp->fp_effuid != SU_UID) return(EPERM); + if (fp->fp_effuid != SU_UID && fp->fp_effuid != SERVERS_UID) + return(EPERM); /* Try to copy request structure to FS. */ if ((r = sys_datacopy(who, (vir_bytes) m_in.svrctl_argp, -- 2.44.0