Kerberos
如何強制 sudo 在 RHEL6 上接受使用者的 AD 密碼
在我們的環境中,我們不會將 Linux 機器加入 Microsoft 域。但是,我們確實設置了 Kerberos。只要有同名的本地帳戶,我們就可以使用我們的 AD 憑據登錄這些框。但是,當我使用 sudo 時,它只接受我的本地憑據。如何使用 sudo 使用我的 AD 密碼?謝謝。
似乎這是一個 PAM 配置問題。我在我們的 Linux 伺服器上有一個類似的設置——針對我們的 AD DC 的 Kerberos 身份驗證。
以下是用於比較的相關 PAM 文件。
首先,配置依賴
system-auth
的 PAM 配置:sudo
# cat /etc/pam.d/system-auth #%PAM-1.0 auth required pam_env.so auth sufficient pam_fprintd.so auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 500 quiet auth sufficient pam_krb5.so use_first_pass auth required pam_deny.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_cracklib.so try_first_pass retry=3 type= password sufficient pam_unix.so md5 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 [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so session optional pam_krb5.so
如您所見,這包括
pam_krb5.so
用於 Kerberos 的模組。
sudo
PAM 配置文件包括system-auth
並如下所示:# cat /etc/pam.d/sudo #%PAM-1.0 auth include system-auth account include system-auth password include system-auth session optional pam_keyinit.so revoke session required pam_limits.so # cat /etc/pam.d/sudo-i #%PAM-1.0 auth include sudo account include sudo password include sudo session optional pam_keyinit.so force revoke session required pam_limits.so
PAM 可能非常強大,但我花了一點時間才明白它的意思。在處理 PAM 問題時,Red Hat 的文件幫助了我很多。