Netatalk
Netatalk は Apple Filing Protocol (AFP) のフリーなオープンソース実装です。Macintosh コンピュータのためのファイルサーバーとして Unix ライクなオペレーティングシステムで動作します。
インストール
Netatalk は netatalkAUR パッケージでインストールできます。
設定
systemd を使って netatalk.service
を起動・有効化してください。
インストール時に作成される設定ファイル (アップグレード時にチェックされます) とは別に、netatalk は2つのファイルを生成します。システム UUID を記録する /etc/netatalk/afp_signature.conf
または /var/state/netatalk/afp_signature.conf
と、TimeMachine のボリューム UUID を記録する /etc/netatalk/afp_voluuid.conf
または /var/state/netatalk/afp_voluuid.conf
です。これらのファイルはパッケージを削除しても消されることなく、ローカルネットワーク上のサービスを識別するために残しておいてください。
Netatalk 3.x は単一の設定ファイル /etc/afp.conf
を使用します。詳しくは man afp.conf
や以下の例を見て下さい (プロセスが afpd.log
に書き込みを行えることを確認してください):
/etc/afp.conf
[Global] mimic model = TimeCapsule6,106 log level = default:warn log file = /var/log/afpd.log hosts allow = 192.168.1.0/16 [Homes] basedir regex = /home [TimeMachine] path = /mnt/timemachine valid users = tmuser time machine = yes [Shared Media] path = /srv/share/media valid users = joe sam
ゲストアクセス
ゲストが共有フォルダに読み取りだけできるようするには、以下の行を [Global]
セクションに追加してください:
/etc/afp.conf
[Global] uam list = uams_guest.so
ゲストが読み書きできるようにするには、上記のように読み取りを可能にしてから以下の行を共有のセクションに追加してください:
/etc/afp.conf
[Your Share] path = /mnt/public/share rwlist = nobody
iptables
ファイアウォールとして iptables パッケージを使っている場合、以下を追加してください (必要に応じて -I
は -A
に置き換えてください):
Bonjour/Zeroconf
iptables -I INPUT -p udp --dport mdns -d 224.0.0.251 -j ACCEPT iptables -I OUTPUT -p udp --dport mdns -d 224.0.0.251 -j ACCEPT
AFP
iptables -I INPUT -p tcp --dport afpovertcp -j ACCEPT
SLP
iptables -I INPUT -p tcp --dport slp -j ACCEPT iptables -I OUTPUT -p tcp --dport slp -j ACCEPT iptables -I INPUT -p udp --dport slp -j ACCEPT iptables -I OUTPUT -p udp --dport slp -j ACCEPT
AppleTalk
iptables -I INPUT -p tcp -m multiport --dport at-rtmp,at-nbp,at-echo,at-zis -j ACCEPT iptables -I OUTPUT -p tcp -m multiport --dport at-rtmp,at-nbp,at-echo,at-zis -j ACCEPT
Bonjour/Zeroconf の有効化
Bonjour/Zeroconf は現在 netatalk の必須要件となっておりデフォルトでコンパイルされています。設定は必要ありません。netatalk は dbus リンクを使ってサービスを登録します。-mimicmodel
を適切な文字列に設定してください (完全なリストは Mac の /System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plist
を参照)。
まだ実行していない場合は、systemd を使って avahi-daemon.service
を起動・有効化してください。