アカウントを無効にせずに、ユーザーの LDAP パスワードを無効にすることは可能ですか?

アカウントを無効にせずに、ユーザーの LDAP パスワードを無効にすることは可能ですか?

以前は LDAP に保存されたパスワードを使用していたユーザー認証に内部 LDAP ドメインを使用するクラスターがあります。現在、ログイン マシンを移動して、外部 kdc に対するパスワード認証に krb5 を使用するようにしました。可能であれば、ローカル LDAP パスワードを削除したいと考えています。従来の UNIX auth コマンドに相当するものが ldap にありますかusermod -p '!' user?

答え1

OpenLDAPの場合、userPassword属性を削除する各ユーザーアカウントから。

残念ながら、LDAP ユーザー アカウントを管理するための標準コマンドは存在しないため、ldapsearch | awk/sed/grep | ldapmodifyPerl/Python を使用してバッチ更新を実行するかスクリプト化する必要があります。

あるいは:LDAPパスワード認証を完全に無効にする代わりに、できるLDAP サーバーに Kerberos に対してバインド パスワードを検証させます。もちろん、これは実際の Kerberos 認証 (SASL GSSAPI) ほど優れているわけではありませんが、LDAP の「シンプル バインド」に依存するソフトウェアをまだ使用している場合は役立つ可能性があります。

各ユーザーのuserPassword属性を{SASL}user@REALM(Kerberos プリンシパルを含む) に変更すると、OpenLDAP は (Cyrus SASL の) 'saslauthd' デーモンを使用してパススルー パスワード検証を実行します。 として起動するように構成するsaslauthd -a krb5と、Kerberos KDC に対してパスワードが検証されます。

saslauthdに注意してください必要システムのマシンキータブ (/etc/krb5.keytab) に 'host/' プリンシパルが存在すること。

関連情報