Unix password syncが機能しない

提供:Samba-JP
ナビゲーションに移動検索に移動
KB番号 J0400
最終更新日 2001/10/01
作成者 小田切 耕司
最終更新者

対象

この文書は、以下のプロダクトに付いて説明したものです。

  • Samba 2.0.7以降(日本語版を含む)
  • Samba 2.2.x以降

現象

smb.confでunix password sync = yesとしているが、以下のメッセージが出力されて、パスワード変更・同期ができない。

 machine 127.0.0.1 rejected the password change: Error was : 
 The specified password is invalid.
 Failed to change password 

原因

unix password sync = Yesとするときは、passwd program , passwd chat パラメータが必要になります。

このパスワード同期機能を使用するには,Sambaが起動しており、localhost(127.0.0.1)からの接続を受け付ける必要があります。

Samba 2.0.7 より古いバージョンを使用していると、正しく動作しないことがあるので、Samba 2.0.7 以降を使用して下さい。

対処策

1. Samba 2.0.7 以降を使用して下さい。

2. hosts deny , hosts allow , bind interfaces only パラメータなどでlocalhost(127.0.0.1)からの接続を受け付けるようにして下さい。

3. passwd program , passwd chat パラメータを正しく設定して下さい。

例えば、Linux の場合は、smb.confの[global]セクションで以下の指定が必要になります。

 unix password sync = Yes
 passwd program = /usr/bin/passwd %u
 passwd chat = *New*password* %n\n *Re*new*password* %n\n *success*

設定が不明な場合やうまく機能しない場合は、以下のような設定して、ログからデバッグしてみて下さい。

 unix password sync = Yes
 passwd program = /usr/bin/passwd %u
 passwd chat = * %n\n * %n\n *                      # ここの*の数を適当に増減させて下さい。
 log level = 100
 passwd chat debug = Yes

この技術情報は samba-jp:10985 からの一連のスレッドの議論を元に作成されています。