Authentication
如何使用 PAM/Kerberos 身份驗證在 Linux 中記憶體身份驗證(用於 CVS)?
我們有幾個 Linux 伺服器,它們使用 PAM 和 Kerberos 5 在我們的 Windows Active Directory 伺服器上驗證 Linux 使用者密碼。我們使用的 Linux 發行版是 CentOS 6。
在一個系統上,我們有幾個版本控制系統,比如 CVS 和 Subversion,它們都通過 PAM 對使用者進行身份驗證,這樣使用者就可以使用他們的普通 Unix 和 Subversion。Windows AD 帳戶。
自從我們開始使用 Kerberos 進行密碼驗證以來,我們發現客戶端電腦上的 CVS 在建立連接時通常要慢得多。CVS 對每個請求(例如 cvs diff、日誌、更新…)的使用者進行身份驗證。
是否可以記憶體 kerberos 使用的憑據,例如每次使用者執行 cvs 操作時都不需要詢問 Windows AD 伺服器?
我們的 PAM 配置 /etc/pam.d/system-auth 如下所示:
auth required pam_env.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_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 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
一個名為“ sssd ”的程序可以為離線(和記憶體)登錄記憶體(Kerberos)憑據。我不確定 sssd 在正常執行時(即它不離線時)是否會使用記憶體的 Kerberos 憑據,您必須嘗試一下。
有關 sssd 的更多資訊,請點擊此處。
通過 PAM 進行的任何身份驗證都將始終存在此問題。避免它的唯一方法是對服務本身進行 kerberize,而不是使用 pam 堆棧來實現身份驗證。
一種方法是使用 ssh 訪問 cvs 儲存庫並使用 kerberos 對 ssh 進行身份驗證。(Google ssh GSSAPI)。
如果您不想允許 ssh 訪問託管 cvs 儲存庫的伺服器,則有 CVS 伺服器的 kerberized 版本。例如,請參閱