Dateifreigabe mit Samba auf Linux

AR Tutorial Image

Plattformübergreifende Datei- und Ordnerfreigabe zwischen Linux und Windows Betriebssystemen. Mit dem Hilfsprogramm Samba können Netzwerkfreigaben erstellt und eingebunden werden.

Vorbereitung

Starten Sie Ihr Linux Betriebssystem und stellen Sie sicher, dass ihr System auf dem neuesten Stand ist (root-Berechtigung und Internetverbindung notwendig). Öffnen Sie den Terminal und führen Sie folgende Befehle aus.

sudo apt update
sudo apt upgrade

Die verfügbaren Pakete sollten nun aktualisiert worden sein. Bei Problemen beim Laden von Updates bzw. neuen Paketen, kontrollieren sie die Konfiguration der Spiegelserver. Im Folgenden Tutorial wird als Standardeditor der vim-Editor verwendet, Sie können jedoch auch andere Editoren benutzen. Verwenden Sie dazu in den Befehlen statt „vim“ Ihren gewohnten Editor (z.B. nano). Für das Freigeben von Dateien und Ordner über das Netzwerk werden folgende Pakete zusätzlich benötigt:

Paketname
Beschreibung
samba Netzwerkfreigabe Dienst
openntpd Zeitsynchronisation (empfohlen)

Das Paket für die Zeitsynchronisation ist für die Funktion nicht zwingend notwendig, wird jedoch empfohlen, um Probleme im privaten Netz bzw. in der Domäne zu vermeiden. Installieren Sie die entsprechenden Pakete.

sudo apt install samba openntpd

Konfiguration

Zeitsynchronisation – OpenNTPD (empfohlen)

Synchronisieren Sie die Zeit Ihres Linux-Systems mit der zentralen Zeit Ihres Netzwerkes (Domäne). Tragen Sie dazu die verwendeten Zeitserver Ihrer Netzwerkumgebung in die Konfigurationsdatei ein.

Öffnen Sie die Konfigurationsdatei mit einem Editor unter folgendem Verzeichnis:

sudo vim /etc/openntpd/ntpd.conf

Zeitserver eingetragen

Tragen Sie, wie dargestellt, die Ihrem System entsprechenden Zeitserver in die Serverliste ein. In diesem Beispiel werden zwei Server der Uni Wien eingetragen. Speichern Sie die Datei und starten sie den OpenNTPD Service neu.

service openntpd restart

Netzwerkfreigabe – Samba

Mit Samba können lokale Ordner für das Netzwerk verfügbar gemacht werden. Speziell bei Verwendung unterschiedlicher Betriebssysteme (Linux/Windows) fordert die Vergabe von Zugriffsrechten besondere Konzentration. Sollten Sie sich in einer Domänenumgebung befinden, ist es mit Samba möglich Active-Directory-Nutzer hinzuzufügen. Vorerst betrachten wir jedoch die Rechtevergabe von lokalen Benutzern.

Öffnen Sie die Konfigurationsdatei von Samba mit einem Editor:

sudo vim /etc/samba/smb.conf

Fügen Sie unter der Zeile workgroup = WORKGROUP folgende Zeile ein:

security = user

Samba Konfiguration Zugangsberechtigung

Am Ende der Datei können Sie Ihre Freigaben definieren. In eckigen Klammern wird der Name der Freigabe festgelegt, unter welchem der Ordner später im Netzwerk gefunden werden kann. Als Pfad muss jenes Verzeichnis angegeben werden, in welchem sich der freizugebende Ordner befindet. Sollten Sie noch keinen Ordner erstellt haben, können Sie dies auch nachträglich tun.

Dateifreigabe

Die Groß – und Kleinschreibung ist bei den angegebenen Werten zu beachten. Es können auch noch weitere Spezifikationen bei Bedarf angegeben werden, wie z.B. Schreibrechte für spezielle Nutzer.

Nun muss ein bestehender lokaler Nutzer als Samba-Benutzer angelegt werden. Mit diesem Nutzer kann im Weiteren auf die Freigabe zugegriffen werden. Zu beachten ist, dass der angegebene Nutzer auch die entsprechenden Zugriffsrechte auf die freizugebenden lokalen Ordner bzw. Dateien besitzt. Diese Rechte können jederzeit verändert und angepasst werden. In diesem Beispiel wird die Freigabe für den Nutzer „andreas“ konfiguriert.

smbpasswd -a andreas

Der Samba-Nutzer wird nun angelegt und nach der Passworteingabe kann Samba neu gestartet werden.

systemctl restart smbd

Bevor die Freigabe in einem anderen System eingebunden werden kann, empfiehlt es sich die Zugriffsrechte des Ordners zu überprüfen. Wechseln Sie dazu in das Verzeichnis, in welchem der Freigegebene Ordner liegt.

cd /home/andreas

Sollte der freizugebende Ordner noch nicht existent sein, können ihn nun erstellen:

mkdir Daten

Lassen Sie sich die vergebenen Zugriffsrechte des Ordners anzeigen:

ls -l

Ordnerberechtigung root

Ist der vorher definierte Samba-Nutzer nicht als Besitzer dieses Ordners eingetragen, so hat dieser Nutzer keine Zugriffsrechte auf dieses Verzeichnis. Ändern Sie den Besitzer des Ordners.

chown andreas:root Daten

Ordnerberechtigung geändert

Der freigegebene Ordner kann nun im Netzwerk mit dem angelegten Samba-Nutzer verwendet werden. Um unter Windows die Freigabe hinzuzufügen, kann der Ordner als Netzwerklaufwerk eingebunden werden.

Netzlaufwerk einbinden

Netzlaufwerk einbinden

Gehen Sie auf Windows mit dem Explorer auf „Dieser PC“ und wählen Sie in der Menüleiste „Netzlaufwerk verbinden“ aus. Vergeben Sie den gewünschten Laufwerksbuchstaben und tragen Sie den Pfad der Freigabe ein. Der Pfad setzt sich aus der IP bzw. aus dem Namen Ihres Servers und dem Namen der Freigabe zusammen. Setzten Sie zusätzlich den Haken bei „Verbinden mit anderen Anmeldeinformationen“.

In der Regel erfolgt die Eingabe der Zugangsdaten zweimal hintereinander. Melden Sie sich stets mit .\Benutzername an, um eine Anmeldung mit einem Domänen-Benutzer zu verhindern. Sollte automatisch eine Domäne bei der Anmeldung verwendet werden, so wählen Sie „Weitere Optionen“ und „Anderes Konto verwenden“.

Netzlaufwerk Authentifizierung

Das Laufwerk ist nun eingebunden und kann verwendet werden. Sollte es zu Fehlern beim Zugriff auf Dateien kommen, überprüfen Sie die Zugriffsrechte der lokalen Ordner und Dateien. Auch die korrekte Schreibweise des Freigabenamens in Samba ist eine potenzielle Fehlerquelle, mit besonderem Fokus auf die Groß- und Kleinschreibung.