Ubuntu 14.04 Trusty Tahr
Ubuntu 12.04 Precise Pangolin
Netatalk ist eine Implementation des Apple Filing Protocol (AFP) für Unix-Systeme. Das Protokoll ermöglicht den Dateizugriff über ein Netzwerk für (Apple-)Rechner mit den Betriebssystemen Mac OS, Mac OS X oder inzwischen macOS. Zusätzlich lassen sich mit Netatalk auch Drucker für (Apple-)Rechner freigeben.
Die Authentifizierung erfolgt mit Hilfe der Bibliothek uams_dhx2.so.
Das folgende Paket aus den offiziellen Paketquellen muss installiert werden [1]:
netatalk (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install netatalk
sudo aptitude install netatalk
Falls auf der Ubuntu-Installation auch eine Firewall wie ufw installiert wurde, sollten die Ports 548
und 427
geöffnet werden, damit afpd aus dem Netzwerk erreicht werden kann. Das ist im Falle von ufw mit den folgenden Befehlen möglich [2][3]:
sudo ufw allow 548 sudo ufw allow 427 sudo ufw disable && sudo ufw enable
Anschließend muss der Dienst netatalk neu gestartet werden [4].
Ist VMWare installiert oder die von Netatalk zu benutzende Netzwerkkarte nicht eth0
, muss die Karte in /etc/netatalk/atalkd.conf aufgeführt werden. Die Parameter für die Karte werden von Netatalk selbst gesetzt.
Um sicherzustellen, dass die Passwörter sicher zum Server übertragen werden, sollte in der /etc/netatalk/afpd.conf die folgende Zeile einkommentiert werden (also ohne # am Anfang) [5]:
- -tcp -noddp -uamlist uams_dhx2.so -nosavepassword
Damit wird für alle Standardverbindungen (erster -) der TCP-Modus festgelegt und nur das Modul uams_dhx2.so zur Authentifizierung erlaubt.
Falls man SSH-Tunnel anbieten und erlauben möchte (für AFP-Verbindungen über unsichere Netzwerke sinnvoll), sollte man zusätzlich die zwei folgenden Zeilen mit in die Konfigurationsdatei /etc/netatalk/afpd.conf schreiben (wobei der Hostname als FQDN angepasst werden muss):
-advertise_ssh -fqdn DER.HOSTNAME.DE
In der Datei /etc/netatalk/AppleVolumes.default sind als Standard nur die Homeverzeichnisse der Linux-User eingetragen. Andere Verzeichnisse auf dem Server lassen sich durch das Editieren dieser Datei freigeben.
Kommentarzeilen werden in der Datei wie üblich mit einer führenden #
gekennzeichnet. Die Konfigurationszeilen sind folgendermaßen aufgebaut:
PFAD FREIGABE-NAME OPTIONEN
Der Pfadname muss entweder ein vollständiger oder ein per Shell-Shorthand gekürzter Pfadname auf dem Server sein. In diesen Pfad können auch Variablennamen eingebaut werden, die in der Manpage von AppleVolumes.default beschrieben werden.
Der Freigabe-Name erscheint nach dem "Mit Server verbinden"-Dialog von Mac OS X als Laufwerk-Name des Servers. Wenn der Freigabe-Name Leerzeichen enthält, muss er in Anführungszeichen stehen. Der Freigabe-Name darf nicht länger als 27 Zeichen sein und darf keinen Doppelpunkt (:
) enthalten. Jede Freigabe muss in einer eigenen Zeile stehen.
Es gibt eine Vielzahl von Optionen, die sich für jede Freigabe separat setzen lassen. Die wichtigsten Optionen werden hier beschrieben.
netatalk-Optionen | |
Option | Funktion |
allow:[Benutzer/Gruppen] | Mit dieser Option werden Unix-Benutzer und -Gruppen zur Nutzung der Freigabe zugelassen. Benutzer- und Gruppennamen sind per Komma voneinander getrennt. Gruppennamen werden mit einem @ eingeleitet. Beispiel: allow:benutzer1,benutzer2,@gruppe |
deny:[Benutzer/Gruppen] | Mit dieser Option werden Unix-Benutzer und -Gruppen von der Nutzung der Freigabe ausgeschlossen. Format wie unter allow. |
preexec:[Befehl] | Mit dieser Option kann ein Befehl angegeben werden, der ausgeführt wird, wenn die Freigabe gemountet wird. |
postexec:[Befehl] | Mit dieser Option kann ein Befehl angegeben werden, der ausgeführt wird, wenn die Freigabe geschlossen wird. |
root_preexec:[Befehl] | Mit dieser Option kann ein Befehl angegeben werden, der als root ausgeführt wird, wenn die Freigabe gemountet wird. |
root_postexec:[Befehl] | Mit dieser Option kann ein Befehl angegeben werden, der als root ausgeführt wird, wenn die Freigabe geschlossen wird. |
veto:[Veto-Name] | Mit dieser Option werden Dateien und Verzeichnisse nicht angezeigt, deren (Teil-)Pfad mit dem Veto-Namen übereinstimmt. Mehrere Veto-Namen können mit / aneinander gehängt werden. Beispiel: Wenn der Dateipfad /abc/def/dateiname lautet wird mit der Option veto:/abc/ die Datei nicht angezeigt. |
Sehr praktisch für Benutzer eines Apple unter Mac OS X ist die Möglichkeit, mit netatalk (und dem darin enthaltenen afpd) ein "TimeMachine Volume" im Netzwerk anzubieten, auf dem mit dem Apple-Programm "Time Machine" eine automatische Datensicherung stattfinden kann. Dazu muss wie oben beschrieben eine zusätzliche Freigabe mit der Option "tm" erstellt werden.
So kann der Datei /etc/netatalk/AppleVolumes.default z.B. die folgende Zeile hinzugefügt werden:
/pfad/zum/sicherungsordner TimeMachine options:tm,usedots,upriv
Anschließend afpd
neu starten, um die geänderte Konfiguration zu übernehmen. Dann kann das Volume in Mac OS X nach dem Verbinden zum afpd-Server als Backup-Volume genutzt werden.
Richtig komfortabel wird die Netzwerk-Freigabe für Mac OS X im Zusammenspiel von Netatalk mit Bonjour (Zeroconf) – eine Technik, die die automatische Erkennung von Computern, Geräten und verschiedenen Netzwerkdiensten in IP-Netzen bereitstellt.
Dafür wird Folgendes in die Datei /etc/avahi/services/afpd.service eingetragen:
1 2 3 4 5 6 7 8 9 | <?xml version="1.0" standalone='no'?><!--*-nxml-*--> <!DOCTYPE service-group SYSTEM "avahi-service.dtd"> <service-group> <name replace-wildcards="yes">%h</name> <service> <type>_afpovertcp._tcp</type> <port>548</port> </service> </service-group> |
Anschließend muss der Dienst avahi-daemon
neu gestartet werden und der Server erscheint automatisch auf den Mac OS X-Rechnern unter Netzwerk.
Diese Revision wurde am 26. Dezember 2016 18:52 von aasche erstellt.