跳转至内容

Netatalk

来自 ArchWiki

Netatalk is a free, open-source implementation of the Apple Filing Protocol (AFP). It allows Unix-like operating systems to serve as file servers for Macintosh computers.

安装

安装 netatalkAUR 包。

配置

启动/启用 netatalk.service

除了安装的(并在升级过程中检查的)配置文件之外,netatalk 可能会生成两个文件:/etc/netatalk/afp_signature.conf/var/lib/netatalk/afp_signature.conf(包含系统 UUID),以及 /etc/netatalk/afp_voluuid.conf/var/lib/netatalk/afp_voluuid.conf(包含 TimeMachine 的卷 UUID)。这些文件在卸载包后可能会保留,在大多数情况下应保留它们,以区分在本地网络上广播的服务。

Netatalk 3.x 使用单个配置文件 /etc/afp.conf。请参阅 afp.conf(5) 和以下示例(确保进程对 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
警告 避免在 afp.conf 中使用符号链接。

访客访问

为了允许访客对您的共享文件夹进行只读访问,请将以下行添加到 [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)。

如果 avahi-daemon.service 尚未运行,您可能需要 启动启用它。