netatalk2 で Finder からパスワード変更できない

環境は FreeBSD 6.0-RELEASE + netatalk 2.0.3 + 各種パッチ(netatalk2.0.3のcjk patch ports にさらに non-ascii-volume patch を当てたもの)。もちろん afpd のインスタンスは -setpassword になっている。クライアントは OS 9 でも OS X でも一緒。

変更できたようなフリはする。ログ1では

Nov 25 09:26:42 afpd[720][auth.c:905]: I:AFPDaemon: password change continued.
Nov 25 09:26:42 afpd[720][auth.c:896]: I:AFPDaemon: changing password for <USERNAME>
Nov 25 09:26:42 afpd[720][uams_dhx_pam.c:159]: I:UAMSDaemon: uams_dhx_pam.c :PAM
: PAM Success
Nov 25 09:26:42 afpd[720][auth.c:905]: I:AFPDaemon: password change succeeded.

って言ってるんだけど、実際には変更したつもりのパスワードで認証は通らない。つか /etc/pam.d/ に netatalk とか afpd とかないのに全然エラーが出ないけど、こういうもんなんだろうか。くそー PAM がよく分かってねぇ。

しかし手順は必ずしも分かりやすくないけど、パスワード変更の UI があったり、ゲストとしてのアクセスも明示できたり、afp の方が全体的にちゃんとしてる気がする。smb の方はどっちも明示できないから何が起きているのかイマイチ分かりにくい。認証を通過したら、そのユーザーにアクセス権限のある共有フォルダだけ見えるってのも afp の方が親切な感じ。

とりあえずパスワード変更については別なアプローチもある2ので、別な実験へと進むことにする。失敗記録を書いてツッコミ待ち戦法。

  1. netatalk はログを設定で on/off できないのが痛い。ports で入れた netatalk はログを吐かないので build し直しちゃったじゃないか。K6-2 350MHz なのに! 

  2. 現状では smbpasswd からシステムアカウントのパスワードも同時に変更しちゃえば afp の方でもパスワードは変わるわけだから、それ用のインターフェイスをどうにか用意すればいい。まぁパスワードの変更をさせないっていう判断もなくはないんだけど、それはあんまりやりたくない。 

More