During a recent clean up of expired accounts, I discovered that a user was logging in using a password that was expired in the Kerberos database. I created a test user on both 6 and 7 and it can log onto any system using the Kerberos password as long as there is an unexpired local account. The test user has no local password.
In /etc/passwd
Code: Select all
ttest:x:5006:5006:Tommy Test:/home/ttest:/bin/bash
Code: Select all
ttest:!K!:17815:0:99999:7:::
Code: Select all
Principal: ttest@MAGICAL_PLACE.COM
Expiration date: [never]
Last password change: Mon Jul 01 14:10:45 PDT 2019
Password expiration date: Mon Jul 01 14:15:00 PDT 2019
Code: Select all
auth required pam_env.so
auth required pam_faildelay.so delay=2000000
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet_success
auth sufficient pam_krb5.so use_first_pass
auth required pam_deny.so
account required pam_access.so
account required pam_unix.so broken_shadow
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 500 quiet
account [default=bad success=ok user_unknown=ignore] pam_krb5.so
account required pam_permit.so
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password sufficient pam_krb5.so use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
-session optional pam_systemd.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
session optional pam_krb5.so
Code: Select all
account sufficient pam_localuser.so