是否可以在不停用使用者帳戶的情況下停用使用者的 LDAP 密碼?

是否可以在不停用使用者帳戶的情況下停用使用者的 LDAP 密碼?

我們有一個集群,它使用內部 LDAP 網域進行使用者身份驗證,該用戶身份驗證先前使用儲存在 LDAP 中的密碼。現在,我們已將登入電腦移至使用 krb5 針對外部 kdc 進行密碼驗證。如果可以的話,我們希望刪除本機 LDAP 密碼。 ldap 中是否有與傳統 unix auth 指令等效的指令usermod -p '!' user

答案1

對於 OpenLDAP,刪除userPassword屬性來自每個用戶帳戶。

不幸的是,沒有用於管理 LDAP 使用者帳戶的標準命令,因此您需要ldapsearch | awk/sed/grep | ldapmodify使用 Perl/Python 或編寫批次更新腳本。

或者:您不必完全停用 LDAP 密碼項目驗證,讓 LDAP 伺服器根據 Kerberos 驗證綁定密碼。當然,這不如實際的 Kerberos 驗證 (SASL GSSAPI),但如果您仍然擁有依賴 LDAP「簡單綁定」的軟體,它可能會很有用。

將每個使用者的userPassword屬性變更為{SASL}user@REALM(包含其 Kerberos 主體)將使 OpenLDAP 使用「saslauthd」守護程式(來自 Cyrus SASL)執行直通密碼驗證。將其配置為啟動saslauthd -a krb5,它將根據您的 Kerberos KDC 驗證密碼。

請注意,saslauthd需要系統在其機器金鑰表 (/etc/krb5.keytab) 中有一個「host/」主體。

相關內容