Lines Matching refs:pwd

142 otp_verify(struct passwd *pwd, const char *password)
156 krb5_verify(struct passwd *pwd, const char *password)
161 ret = krb5_parse_name(context, pwd->pw_name, &princ);
180 krb5_start_session (const struct passwd *pwd)
187 (unsigned)pwd->pw_uid);
208 krb5_get_afs_tokens (const struct passwd *pwd)
220 pw_dir = pwd->pw_dir;
229 cell, NULL, pwd->pw_uid, pwd->pw_dir);
231 pwd->pw_uid, pwd->pw_dir);
309 * Actually log in the user. `pwd' contains all the relevant
315 do_login(const struct passwd *pwd, char *tty, char *ttyn)
320 int rootlogin = (pwd->pw_uid == 0);
330 sp = getspnam(pwd->pw_name);
333 update_utmp(pwd->pw_name, remote_host ? remote_host : "",
340 tty_gid = pwd->pw_gid;
342 if (chown (ttyn, pwd->pw_uid, tty_gid) < 0) {
355 if(setlogin(pwd->pw_name)){
356 warn("setlogin(%s)", pwd->pw_name);
366 read_limits_conf(file, pwd);
370 if (setpcred (pwd->pw_name, NULL) == -1)
371 warn("setpcred(%s)", pwd->pw_name);
374 if(initgroups(pwd->pw_name, pwd->pw_gid)){
375 warn("initgroups(%s, %u)", pwd->pw_name, (unsigned)pwd->pw_gid);
380 if(do_osfc2_magic(pwd->pw_uid))
382 if(setgid(pwd->pw_gid)){
383 warn("setgid(%u)", (unsigned)pwd->pw_gid);
387 if(setuid(pwd->pw_uid) || (pwd->pw_uid != 0 && setuid(0) == 0)) {
388 warn("setuid(%u)", (unsigned)pwd->pw_uid);
402 check_shadow(pwd, sp);
410 udb = getudbnam(pwd->pw_name);
446 struct user_cap *ucap = sgi_getcapabilitybyname(pwd->pw_name);
460 home_dir = pwd->pw_dir;
462 fprintf(stderr, "No home directory \"%s\"!\n", pwd->pw_dir);
470 krb5_start_session (pwd);
473 krb5_get_afs_tokens (pwd);
511 add_env("USER", pwd->pw_name);
512 add_env("LOGNAME", pwd->pw_name);
513 add_env("SHELL", pwd->pw_shell);
514 exec_shell(pwd->pw_shell, rootlogin);
518 check_password(struct passwd *pwd, const char *password)
520 if(pwd->pw_passwd == NULL)
522 if(pwd->pw_passwd[0] == '\0'){
529 if(strcmp(pwd->pw_passwd, crypt(password, pwd->pw_passwd)) == 0)
532 if(krb5_verify(pwd, password) == 0) {
538 if (otp_verify (pwd, password) == 0) {
640 struct passwd *pwd;
661 pwd = k_getpwnam(username);
663 if (pwd != NULL && (pwd->pw_passwd[0] == '\0')) {
691 if(pwd == NULL){
697 if(f_flag == 0 && check_password(pwd, password)){
712 if (login_access (pwd, remote_host ? remote_host : tty) == 0) {
716 pwd->pw_name, remote_host);
719 pwd->pw_name, tty);
724 pwd->pw_name, remote_host, (int) getppid());
727 pwd->pw_name, tty, (int) getppid());
730 do_login(pwd, tty, ttyn);