Netatalk (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Netatalk. Дата последней синхронизации: 17 февраля 2020. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Netatalk — бесплатная реализация протокола Apple Filing Protocol (AFP) с открытым исходным кодом. Он позволяет использовать Unix-подобные операционные системы в качестве файловых серверов для компьютеров Macintosh.

Установка

Установите пакет netatalkAUR.

Настройка

Запустите/включите службу netatalk.service.

Помимо конфигурационных файлов, добавленных во время установки (и проверенных во время обновления), netatalk может сгенерировать два файла — /etc/netatalk/afp_signature.conf или /var/state/netatalk/afp_signature.conf (содержит UUID системы) и /etc/netatalk/afp_voluuid.conf или /var/state/netatalk/afp_voluuid.conf (содержит UUID тома для Time Machine). Эти файлы могут остаться после удаления пакета и в большинстве случаев должны храниться для устранения неоднозначности служб, транслируемых по локальной сети.

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
Важно: Избегайте использования символических ссылок в afp.conf.

Гостевой доступ

Чтобы разрешить гостевой доступ только для чтения к вашим общим папкам, добавьте следующую строку в раздел [Global]:

/etc/afp.conf
[Global]
uam list = uams_guest.so

Чтобы разрешить гостевой доступ для чтения/записи, сначала разрешите доступ только для чтения, как в предыдущем примере, а затем добавьте следующие строки в определенный раздел общего ресурса:

/etc/afp.conf
[Your Share]
path = /mnt/public/share
rwlist = nobody

IP Tables

Если вы используете 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 (полный список можно найти в /System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plist на Mac).

Также может потребоваться включение и/или запуск службы avahi-daemon.service, если она ещё не запущена.