Lines Matching refs:user

27  * the X window server at system boot time before any user
32 * by the Xserver for user specific configuration data supplied
34 * over to the user's credentials (UID, GID, GID_LIST) and
36 * the user's CWD home.
83 /* Data about the user we need to switch to */
99 struct dmuser user; /* target user, to switch to on login */
110 static struct dmuser originalUser; /* user to switch back to in CloseDown */
118 static void dtlogin_process(struct dmuser *user, int user_logged_in);
153 dmd->user.uid = (uid_t) -1;
154 dmd->user.gid = (gid_t) -1;
155 dmd->user.projid = (projid_t) -1;
289 free(dmd->user.homedir);
424 dtlogin_process(&(dmd->user), 1);
428 dmd->user.homedir = xstrdup(v);
452 dmd->user.uid = (uid_t) val;
455 dmd->user.gid = (gid_t) val;
458 if (dmd->user.groupid_cnt < NGROUPS_UMAX) {
459 dmd->user.groupids[dmd->user.groupid_cnt++] = (gid_t) val;
473 dtlogin_process(struct dmuser *user, int user_logged_in)
483 if (chown(auth_file, user->uid, user->gid) < 0)
484 DtloginError("Error in changing owner to %d", user->uid);
490 The first step sets rgid to the user's gid and
495 if (user->gid != (gid_t) -1) {
496 DtloginInfo("Setting gid to %d\n", user->gid);
498 if (setregid(user->gid, 0) < 0)
499 DtloginError("Error in setting regid to %d\n", user->gid);
501 if (setegid(user->gid) < 0)
502 DtloginError("Error in setting egid to %d\n", user->gid);
505 if (user->groupid_cnt >= 0) {
506 if (setgroups(user->groupid_cnt, user->groupids) < 0)
508 user->groupid_cnt);
514 * Get user name and default project.
517 if (user->projid != (uid_t) -1) {
518 if (settaskid(user->projid, TASK_NORMAL) == (taskid_t) -1) {
519 DtloginError("Error in setting project id to %d", user->projid);
521 } else if (user->uid != (uid_t) -1) {
522 ppasswd = getpwuid(user->uid);
525 DtloginError("Error in getting user name for %d", user->uid);
543 if (user->uid != (uid_t) -1) {
544 DtloginInfo("Setting uid to %d\n", user->uid);
546 if (setreuid(user->uid, -1) < 0)
547 DtloginError("Error in setting ruid to %d", user->uid);
549 if (setreuid(-1, user->uid) < 0)
550 DtloginError("Error in setting euid to %d", user->uid);
553 if ((user->uid != 0) && (user != &originalUser)) {
582 if (user->homedir != NULL) {
583 char *env_str = Xprintf("HOME=%s", user->homedir);
586 DtloginError("Not enough memory to setenv HOME=%s", user->homedir);
594 if (chdir(user->homedir) < 0)
596 user->homedir);
599 /* Inform the kernel whether a user has logged in on this VT device */