/* 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 */
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,