diff options
Diffstat (limited to 'auth.c')
-rw-r--r-- | auth.c | 3 |
1 files changed, 1 insertions, 2 deletions
@@ -467,8 +467,7 @@ check_key_in_hostfiles(struct passwd *pw, struct sshkey *key, const char *host, | |||
467 | user_hostfile = tilde_expand_filename(userfile, pw->pw_uid); | 467 | user_hostfile = tilde_expand_filename(userfile, pw->pw_uid); |
468 | if (options.strict_modes && | 468 | if (options.strict_modes && |
469 | (stat(user_hostfile, &st) == 0) && | 469 | (stat(user_hostfile, &st) == 0) && |
470 | ((st.st_uid != 0 && st.st_uid != pw->pw_uid) || | 470 | !secure_permissions(&st, pw->pw_uid)) { |
471 | (st.st_mode & 022) != 0)) { | ||
472 | logit("Authentication refused for %.100s: " | 471 | logit("Authentication refused for %.100s: " |
473 | "bad owner or modes for %.200s", | 472 | "bad owner or modes for %.200s", |
474 | pw->pw_name, user_hostfile); | 473 | pw->pw_name, user_hostfile); |