7/25/2011

LionでTiger ServerのAFPにつながらない

難しい。MacBook ProをLionにしたら、Tiger ServerのAFP(ファイルサーバー)へのログインができなくなった。Snow Leopardからは問題なく接続できるのに。AFPといえばAppleのプロトコルなのになぜ?

そんなわけでちょっと調べてみたところ、LionではAFPの認証(uam)にDHX2という手順を使うようにして、古いDHCAST128という手順をデフォルトで無効にしたのだそうだ。これによって、たとえばLinux上でnetatalkを動かしてファイルサーバーにしている場合にもLionからログインできなくなったらしい。

サーバー側がDHX2に対応すればクライアント側では何もする必要がない。netatalkでもDHX2を導入するためのパッチだかアドオンが出ているようだ。LeopardやSnow Leopardもサーバー側でDHX2を持っているらしい。Tiger側でDHX2を有効化できるならば、クライアント側はいじる必要がないのでそれが一番いい。しかし、Tigerについてはちょっと情報が得られなかった。

Appleのサポートでは、Lion Serverに関するドキュメントに記述があり、サーバー側でDHCAST128を有効にする方法とクライアント側でDHCAST128を有効にする方法が解説されている。それによれば、/Library/Preferences/com.apple.AppleShareClient.plist で定義をしてやれば良いようだ。確認してみると、Tigerには当該ファイル(ドメインというのか?)が存在していない。つまり、Tiger側では認証方式を設定する手立てがないということだ。ということは、クライアントのLion側でDHCAST128を有効化するしかない。

まず、Lionの/Library/Preferences を誰でも書き込めるようにパーミッションを変更する。

$sudo chmod o+w /Library/Preferences

次に、com.apple.AppleShareClient.plist に「無効化する認証方式」の宣言を書き込む。DHCAST128はこの宣言がないとデフォルトで「無効」になっているが、宣言をして「無効」から除外するということだ。

$sudo defaults write /Library/Preferences/com.apple.AppleShareClient  afp_disabled_uams -array "Cleartxt Passwrd" "MS2.0" "2-Way Randnum  exchange"

これで、宣言した3つの方式以外が「有効」になるはずだ。Lionをリブートして、Tiger ServerのAFPに接続ができた。

ちなみに、DHCAST128を無効にするときには、

sudo defaults write /Library/Preferences/com.apple.AppleShareClient afp_disabled_uams -array-add “DHCAST128″

として宣言に追加すればよいようだ。

0 件のコメント:

コメントを投稿