Lines Matching refs:pw
66 temporarily_use_uid(struct passwd *pw)
73 (u_int)pw->pw_uid, (u_int)pw->pw_gid,
105 if (initgroups(pw->pw_name, pw->pw_gid) < 0)
106 fatal("initgroups: %s: %.100s", pw->pw_name,
132 if (setegid(pw->pw_gid) < 0)
133 fatal("setegid %u: %.100s", (u_int)pw->pw_gid,
135 if (seteuid(pw->pw_uid) == -1)
136 fatal("seteuid %u: %.100s", (u_int)pw->pw_uid,
206 permanently_set_uid(struct passwd *pw)
217 if (pw == NULL)
221 debug("permanently_set_uid: %u/%u", (u_int)pw->pw_uid,
222 (u_int)pw->pw_gid);
225 if (pw->pw_uid == AID_SHELL) {
244 if (setresgid(pw->pw_gid, pw->pw_gid, pw->pw_gid) < 0)
245 fatal("setresgid %u: %.100s", (u_int)pw->pw_gid, strerror(errno));
252 if (initgroups(pw->pw_name, pw->pw_gid) < 0)
254 pw->pw_name, (u_int)pw->pw_gid, strerror(errno));
257 if (setresuid(pw->pw_uid, pw->pw_uid, pw->pw_uid) < 0)
258 fatal("setresuid %u: %.100s", (u_int)pw->pw_uid, strerror(errno));
262 if (old_gid != pw->pw_gid && pw->pw_uid != 0 &&
268 if (getgid() != pw->pw_gid || getegid() != pw->pw_gid) {
271 (u_int)pw->pw_gid);
276 if (old_uid != pw->pw_uid &&
282 if (getuid() != pw->pw_uid || geteuid() != pw->pw_uid) {
285 (u_int)pw->pw_uid);
289 if (pw->pw_uid == AID_SHELL) {