LANDISK HDL4-Gのnetatalkについて調べてみました[追記あり]
LANDISK Home HDL4-Gでtelnetが使えるようになったので、色々調べられるようになりました。
インストールされているnetatalkのバージョン、その他が気になったので、調べてみました。netatalkについて、ほとんど知識が無いので、それも調べつつ記事を書いています。
を参考にしています。著者のHATさん、ありがとうございます。
まずは、バージョンです。
# /usr/sbin/afpd -V afpd 2.0.2 - Apple Filing Protocol (AFP) daemon of Netatalk This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Please see the file COPYING for further information and details. afpd has been compiled with support for these features: AFP3.1 support: Yes Transport layers: TCP/IP DDP CNID backends: cdb dbd last SLP support: Yes TCP wrappers support: Yes Quota support: Yes Admin group support: Yes Valid shell checks: Yes cracklib support: No Dropbox kludge: No Force volume uid/gid: No afpd.conf: /etc/netatalk/afpd.conf AppleVolumes.system: /etc/netatalk/AppleVolumes.system AppleVolumes.default: /etc/netatalk/AppleVolumes.default UAM search path: /usr/lib/netatalk/
えぇーっ、netatalk 2.0.2!? 古い、古過ぎる。
設定がどうなっているかも調べてみました。
/etc/netatalk/afpd.conf(実際は1行です)
- -transall -uamlist uams_guest.so,uams_clrtxt.so,uams_dhx.so -maccodepage MAC_JAPANESE -unixcodepage UTF8
-transallは、tcp/ddp対応にするみたいです。
-uamlistは、User Authentication Modules(ユーザ認証)の設定みたいです。
- uams_guest.so … ゲストログイン可能
- uams_clrtxt.so … クリアパスワードでログイン可能
- uams_dhx.so … Diffie-Hellman eXchange(DHX)認証可能
DHXがわからなかったので、調べてみました。
-maccodepage MAC_JAPANESEは、Mac OS 9側の文字コードだそうです。Mac OS X側は、UTF8-MACに固定だそうです。
-unixcodepage UTF8は、サーバー側の文字コードです。
/etc/netatalk/AppleVolumes.default
:DEFAULT: options:usedots cnidscheme:dbd maccharset:MAC_JAPANESE volcharset:UTF8
usedotsは、ドットで始まるファイル名の扱いです。ドットのままにします。
cnidscheme:dbdは、何でしょう? 検索してみました。著者のhogepageさん、ありがとうございます。
CNID(Catalog Node ID)関係の設定で、cnid_metad経由でのアクセスだそうです。
maccharset:MAC_JAPANESEは、Mac OS 9側の文字コードだそうです。Mac OS X側は、UTF8-MACに固定だそうです。
volcharset:UTF8は、UNIX側の文字コードの設定です。
共有ディスクの設定は、AppleVolumes.default.shareに書かれていました。
ついでに、SLP、opensslやBerkeleyDBについても調べてみました。今回の件には直接関係ないのかもしれないですが、将来の布石と言う事で…。
まずは、SLPを探しました。
# /usr/sbin/slpd -v slpd version: 1.0.11 compile options: debugging: disabled predicates: enabled slpv1 compatability: enabled slpv2 security: disabled
次は、opensslです。
# /usr/bin/openssl version OpenSSL 0.9.7e 25 Oct 2004
/usr/lib/libgnutls-openssl.so.11.1.16
/usr/lib/libgnutls-openssl.so.11
などが入っていました。
最後は、Berkeley DBです。
/usr/bin/berkeley_db4.2_svc
を見つけました。Berkeley DB 4.2って事かな?
(追記 2010-06-23 23:43)
DHX/CNIDについては、Netatalk
and Sambaにしっかり書かれていました
設定ファイルは、他にもありました。
/etc/default/netatalkと/etc/init.d/netatalkです。二つを総合すると、次の設定になっています。(一部のみ)
ATALKD_RUN=no PAPD_RUN=yes CNID_METAD_RUN=yes AFPD_RUN=yes TIMELORD_RUN=no A2BOOT_RUN=no
また、AppleVolumes.default.shareに書かれた共有ディスクの設定は、afpdに-fオプションを付けて設定していました。
ディスカッション
そんな古いnetatalkが未だにあるとは…
ある意味、貴重ですな。
かなりバグがあるでしょうな。多すぎてどんなバグだったか、忘れちゃいましたが。
HATさんへ、再びコメントありがとうございます。
HATさんの2.0.3のページも見ましたが、ものすごい量のバグですね。
LANDISK Homeのnetatalkをどうしようか、思案中です。