google / google/google-authenticator-libpam

fails if user home directory is kerberized and password change is forced

Open
#114 4 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C
Stars
2k
Forks
305
PR merge metrics
No merged PRs in 30d

Description

Our home directories are on a file system requiring Kerberos to access. Normal login is with sssd.

In the usual case, auth pam_sss checks the user's static password and creates a Kerberos ticket. pam_google is able to read the user's home directory because the user has a Kerberos ticket. Everything works as usual.

But suppose the user forgets their password. We set a temporary password which is expired. pam_sss in auth phase returns new_authtok_reqd, as it is supposed to. Because the login hasn't actually succeeded, there is now no Kerberos ticket for the user.

What is supposed to happen is that pam_sss in the account phase changes the password and creates a Kerberos ticket. However pam_google, in the auth phase get errno 13 (no permission) when trying to read the user's google auth information, and fails the login. This can be fixed in the pam configuration, but doing so requires a pretty much inscrutable config file.

Suggestion: treat errno 13 like file not found, at least as an option. The only way a user would not have permission to their own directory is some weird condition like this.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.