Let other uids (temporarily) set their mapping.
This commit is contained in:
parent
a321c12f75
commit
3bddaaf580
@ -28,6 +28,7 @@
|
|||||||
|
|
||||||
/* Miscellaneous constants */
|
/* Miscellaneous constants */
|
||||||
#define SU_UID ((uid_t) 0) /* super_user's uid_t */
|
#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_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 SYS_GID ((gid_t) 0) /* gid_t for processes MM and INIT */
|
||||||
#define NORMAL 0 /* forces get_block to do disk read */
|
#define NORMAL 0 /* forces get_block to do disk read */
|
||||||
|
@ -496,7 +496,8 @@ PUBLIC int do_svrctl()
|
|||||||
struct fssignon device;
|
struct fssignon device;
|
||||||
int r, major;
|
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. */
|
/* Try to copy request structure to FS. */
|
||||||
if ((r = sys_datacopy(who, (vir_bytes) m_in.svrctl_argp,
|
if ((r = sys_datacopy(who, (vir_bytes) m_in.svrctl_argp,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user