netatalk
Archivierte Anleitung
Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
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.
Installation¶
Das folgende Paket aus den offiziellen Paketquellen muss installiert werden [1]:
netatalk (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install netatalk
Oder mit apturl installieren, Link: apt://netatalk
Firewall-Konfiguration¶
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].
Benutzung/Konfiguration¶
Experten-Info:
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.
Passwort-Einstellungen korrigieren¶
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
Freigabeeinstellungen für afpd mit Netatalk Version 2.X¶
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. |
Beispiel¶
Freigabe für Apple Time Machine¶
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.
Freigabeeinstellungen für afpd mit Netatalk Version 3.X¶
In der Datei /etc/netatalk/afp.conf sind als Standard keine Verzeichnisse freigegeben. Verzeichnisse auf dem Server lassen sich durch das Editieren dieser Datei freigeben.
Kommentarzeilen werden in der Datei mit einer führenden ;
oder #
gekennzeichnet. Die Konfigurationszeilen sind folgendermaßen aufgebaut:
[FREIGABE-NAME] path = PFAD 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 afp.conf 🇬🇧 beschrieben werden.
Der Freigabe-Name erscheint nach dem "Mit Server verbinden"-Dialog von Mac OS X als Laufwerk-Name des Servers. Jede Freigabe muss in einer neuen Zeile beginnen.
Beispiel¶
Freigabe für Apple Time Machine¶
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 "time machine = yes" erstellt werden.
So kann der Datei /etc/netatalk/afp.conf z.B. die folgenden Zeilen hinzugefügt werden:
[My Time Machine Volume] path = /path/to/backup time machine = yes
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.
Erweiterung¶
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.
Links¶