Lines Matching defs:pw
53 temporarily_use_uid(struct passwd *pw)
59 (u_int)pw->pw_uid, (u_int)pw->pw_gid,
73 if (initgroups(pw->pw_name, pw->pw_gid) < 0)
74 fatal("initgroups: %s: %.100s", pw->pw_name,
83 if (setegid(pw->pw_gid) < 0)
84 fatal("setegid %u: %.100s", (u_int)pw->pw_gid,
86 if (seteuid(pw->pw_uid) == -1)
87 fatal("seteuid %u: %.100s", (u_int)pw->pw_uid,
120 permanently_set_uid(struct passwd *pw)
122 if (pw == NULL)
126 debug("permanently_set_uid: %u/%u", (u_int)pw->pw_uid,
127 (u_int)pw->pw_gid);
129 if (setgid(pw->pw_gid) < 0)
130 fatal("setgid %u: %.100s", (u_int)pw->pw_gid, strerror(errno));
131 if (setegid(pw->pw_gid) < 0)
132 fatal("setegid %u: %.100s", (u_int)pw->pw_gid, strerror(errno));
134 if (setuid(pw->pw_uid) < 0)
135 fatal("setuid %u: %.100s", (u_int)pw->pw_uid, strerror(errno));
136 if (seteuid(pw->pw_uid) < 0)
137 fatal("seteuid %u: %.100s", (u_int)pw->pw_uid, strerror(errno));
140 if (getgid() != pw->pw_gid || getegid() != pw->pw_gid) {
143 (u_int)pw->pw_gid);
147 if (getuid() != pw->pw_uid || geteuid() != pw->pw_uid) {
150 (u_int)pw->pw_uid);