まずは現在の設定を確認。
# yes | testparm -v | grep pass Load smb config files from /etc/samba/smb.conf Processing section "[homes]" Processing section "[printers]" Processing section "[print$]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions encrypt passwords = Yes null passwords = No password server = * smb passwd file = /etc/samba/smbpasswd passdb backend = tdbsam pam password change = Yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . passwd chat debug = No passwd chat timeout = 2 check password script = unix password sync = Yes kpasswd port = 0 machine password timeout = 604800 ldap passwd sync = no passdb expand explicit = No
samba のパスワードデータベースは/var/lib/samba/passdb.tdb。更新されていることがわかる。
$ ls -la /var/lib/samba/passdb.tdb -rw------- 2 root root 61440 Feb 19 2011 passdb.tdb # samba --version Version 4.1.17-Debian # pdbedit -a -u ******************* new password: retype new password: Unix username: ******************* NT username: Account Flags: [U ] User SID: ******************************************** Primary Group SID: ******************************************** Full Name: *******************,,, Home Directory: \\******\******************* HomeDir Drive: Logon Script: Profile Path: \\******\*******************\profile Domain: ****** Account desc: Workstations: Munged dial: Logon time: 0 Logoff time: never Kickoff time: never Password last set: ***************************** Password can change: ***************************** Password must change: never Last bad password : 0 Bad password count : 0 Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF # ls -la /var/lib/samba/passdb.tdb -rw------- 2 root root 61440 Sep 3 19:14 /var/lib/samba/passdb.tdb
# pdbedit -L -v -u ****************** Unix username: ******************* NT username: Account Flags: [U ] User SID: ******************************************** Primary Group SID: ******************************************** Full Name: *******************,,, Home Directory: \\******\******************* HomeDir Drive: Logon Script: Profile Path: \\******\*******************\profile Domain: ****** Account desc: Workstations: Munged dial: Logon time: 0 Logoff time: never Kickoff time: never Password last set: ***************************** Password can change: ***************************** Password must change: never Last bad password : 0 Bad password count : 0 Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
windows から接続テスト。ダメだな。
>net use Q: \\************\******** /USER:******** \\************\******** のパスワードまたはユーザー名が無効です。 '********' のパスワードを入力してください。'************' に接続します: システム エラー 59 が発生しました。 予期しないネットワーク エラーが発生しました。 >net use Q: \\************\******** /USER:******** \\************\******** のパスワードまたはユーザー名が無効です。 '********' のパスワードを入力してください。'************' に接続します: コマンドは正常に終了しました。 >net use 新しい接続は記憶されません。 ステータス ローカル名 リモート名 ネットワーク名 ------------------------------------------------------------------------------- OK Q: \\************\******** Microsoft Windows Network コマンドは正常に終了しました。 >net use Q: /DELETE Q: が削除されました。 >net use 新しい接続は記憶されません。 一覧にエントリが存在しません。
/etc/samba/smb.conf の [global] セクションに log level = 3 を追記してログイン失敗時のログを確認。
$ tail /var/log/samba/log.XXX.XXX.XXX.XXX
debian の bts に情報があった。どうやら問題の根源は winbind パッケージにあるようで、winbind を削除すればこの挙動はなくなるらしい。