Archiv/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:

  1. ⚓︎ Installation von Programmen

  2. ⚓︎ Ein Terminal öffnen

  3. ⚓︎ Root-Rechte erlangen

  4. ⚓︎ Dienste (neu) starten

  5. ⚓︎ Einen Editor öffnen

Inhaltsverzeichnis
  1. Installation
    1. Firewall-Konfiguration
  2. Benutzung/Konfiguration
    1. Passwort-Einstellungen korrigieren
    2. Freigabeeinstellungen für afpd mit Netat...
    3. Beispiel
      1. Freigabe für Apple Time Machine
    4. Freigabeeinstellungen für afpd mit Netat...
    5. Beispiel
      1. Freigabe für Apple Time Machine
    6. Erweiterung
  3. Links

./logo.png 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]:

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.