Netatalk (Русский)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Состояние перевода: На этой странице представлен перевод статьи 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, если она ещё не запущена.