Lines Matching refs:pwd
50 #include <pwd.h>
167 struct passwd *pwd, pw_data;
273 pwd = getpwnam_r(user, &pw_data, pwdbuf, sizeof (pwdbuf));
274 if (pwd == NULL) {
339 if (setgid((gid_t)pwd->pw_gid) < 0) {
346 (void) initgroups(pwd->pw_name, pwd->pw_gid);
357 if (setuid((uid_t)pwd->pw_uid) < 0) {
417 if (*pwd->pw_shell == '\0')
418 pwd->pw_shell = "/bin/sh";
422 if (chdir(pwd->pw_dir) < 0) {
428 if (pwd->pw_uid)
433 (void) strncat(homedir, pwd->pw_dir, sizeof (homedir) - 6);
434 (void) strncat(shell, pwd->pw_shell, sizeof (shell) - 7);
435 (void) strncat(username, pwd->pw_name, sizeof (username) - 6);
456 cp = rindex(pwd->pw_shell, '/');
460 cp = pwd->pw_shell;
461 (void) execle(pwd->pw_shell, cp, "-c", cmdbuf, (char *)0, envinit);
462 perror(pwd->pw_shell);