passwd を使用した Samba/LDAP パスワードの変更

passwd を使用した Samba/LDAP パスワードの変更

CentOS Directory Server(389 DS)をインストールし、Sambaにそれをバックエンドとして使用させました。パスワード同期が有効になっている場合はsmb.conf一方向にのみ同期されることを除いて、これは完全に機能します。を使用している間は、ldap / sambaパスワードを同期できますが、同期することはsmbpasswd -aできませんpasswd。この問題を解決するために、PAMシステム認証設定にパスワード変更時にsmbパスワードファイルを更新する行を追加しました。再び動作しますが、次のエラーが発生します。

Changing password for user testuser1.
Enter login(LDAP) password:
New UNIX password:
Retype new UNIX password:
LDAP password information update failed: Invalid credentials

passwd: Authentication failure

このエラーは、LDAP パスワードと Samba パスワードの両方が正常に変更されたため、無効です。なぜエラーが発生するのかを知っている人はいますか?

PAMに追加した行は太字で表示されます。

password requisite pam_cracklib.so try_first_pass retry=3
password optional pam_smbpass.so use_authtok use_first_pass
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok

私のsmb.confファイルには次の内容があります。

[global]
workgroup = MyGroup
security = user
passdb backend = ldapsam:ldaps://192.168.124.89/
ldap admin dn = cn=Directory Manager
ldap suffix = dc=example,dc=com
ldap user suffix = ou=People
ldap group suffix = ou=Groups
ldap passwd sync = yes
ldap delete dn = no
wins support = yes

前述したように、すべてが期待どおりに機能しています。私はユーザーが迷惑なエラーメッセージを見たときに慌てずに消えることを望みます。

答え1

(はい、7年後、この問題がすぐに解決されることを願っています。これは現在および将来の参照用です。)smbpasswdはLDAP passwd syncを処理できます。次のように答えてください。

-w / -Wスイッチ(samba.org Webサイトのマンページから):

-wパスワードこのパラメータは、SambaがLDAPをサポートするようにコンパイルされている場合にのみ使用できます。 -w スイッチは、ldap admin dn で使用されるパスワードを指定するために使用されます。パスワードは Secrets.tdb に保存され、管理者の DN とは別のものです。つまり、ldap admin dnの値が変更された場合は、パスワードも手動で更新する必要があります。

-W注:このオプションは、標準入力を使用してパスワードを入力する必要があることを除いて、「-w」と同じです。

このパラメータは、SambaがLDAPをサポートするようにコンパイルされている場合にのみ使用できます。 -W スイッチは、ldap admin dn で使用されるパスワードを指定するために使用されます。パスワードは Secrets.tdb に保存され、管理者の DN とは関係ありません。つまり、ldap admin dnの値が変更された場合は、パスワードも手動で更新する必要があります。

関連情報