Samba auf dem Raspberry Pi

Samba ist eine Sammlung von Netzwerk-Tools, um Netzwerk-Ressourcen in einem Windows-Netzwerk bereitzustellen. Das können Freigaben von Verzeichnissen und Druckern sein, die Samba zur Verfügung stellt und die Zugriffe der Clients auf die Dienste regelt. Samba ist allerdings nicht auf Windows-Clients beschränkt. Genauso gut können Linux- und Apple-PCs die Netzwerk-Freigaben nutzen.

Übersicht: Samba auf dem Raspberry Pi

Mit Samba lassen sich fast alle Funktionen realisieren, die man von einem Windows-Netzwerk gewohnt ist.

SMB - Server Message Block

Der Namensgeber für Samba ist das Protokoll Server Message Block (SMB). SMB ist ein Protokoll zur Übertragung von Daten zwischen einem Client und einem Server. Dem Client-Server-Prinzip folgend, gehen alle Aktionen vom Client aus. Der Client sendet eine Anfrage an den Server. Der verarbeitet die Anfrage und stellt die gewünschten Daten oder Dienste zur Verfügung. Unter Samba werden die Funktionen von SMB vom Daemon (Dienst) "smbd" bereitgestellt.
Der Dienst "smbd" bietet nicht nur die Datei- und Druckdienste an, sondern stellt auch Möglichkeiten zur Authentifizierung und Autorisierung zur Verfügung, um etwa Freigaben mit Benutzername und Passwort zu schützen.

Seit 1996 existiert eine von Microsoft eingeführte Erweiterung mit dem Namen CIFS (Common Internet File System), das neben der Datei- und Druckerfreigabe weitere Dienste anbietet. Bis heute werden die Protokolle SMB und CIFS synonym verwendet.

NetBIOS

NetBIOS ist das Protokoll, das für die Namensauflösung im Windows-Netzwerk verantwortlich ist. Es wird unter Samba vom Daemon (Dienst) "nmbd" bereitgestellt.
Der Dienst "nmbd" kümmert sich um die Namensauflösung und das "Browsing", also um die Möglichkeit nach verfügbaren Freigaben im Netz zu suchen und diese anzuzeigen.

Unterschied zwischen Samba 3 und Samba 4

Samba liegt in verschiedenen Versionen vor. In der Regel wird man mit Samba 4 arbeiten. In manchen Linux-Distributionen kann aber noch Samba 3 aktuell sein. Die Unterschiede von Samba 3 und 4 liegen im Detail, die meistens nicht so sehr ins Gewicht fallen. Für einfache Verzeichnis-Freigaben sind beide Versionen in Ordnung.

Samba 3 unterstützt bereits LDAP, auf dem auch das Windows Active Directory beruht, das mit Windows 2000 eingeführt wurde. Allerdings kann Samba 3 keinen Active-Directory-Domain-Controller ersetzen. Erst mit der Version 4 ist Samba eine freie Implementierung des Verzeichnisdienstes Active Directory von Microsoft. Das bedeutet, mit Samba 4 kann man einen Active-Directory-Domain-Controller einrichten.

Die Version 2 (SMB2) des SMB-Protokolls wurde mit Windows Vista eingeführt. Seit Samba 3.5 existiert eine experimentelle Unterstützung für SMB2. Seit Samba 3.6 wird das SMB2-Protokoll voll unterstützt.
Seit Windows 7 kommt die SMB-Version 3 zum Einsatz. Diese wird seit Samba 4 unterstützt. Aber nicht alle Funktionen. Es ist davon auszugehen, dass im Laufe der Zeit, der Funktionsumfang zunehmen wird.
Eine wichtige Funktion von SMB3 ist die Verschlüsselung der Datenübertragung, was von Samba 4 unterstützt wird.
Samba 4.3 spricht SMB in der Version 3.1.1, das Microsoft mit Windows 10 eingeführt hat. Es verspricht eine höhere Sicherheit bei der Aushandlung von SMB-Dialekten und -Funktionen.

Unter Raspbian Wheezy steht nur Samba 3 zur Verfügung. Das ist in Ordnung, wenn man auf einen Active-Directory-Domain-Controller verzichten kann. Für einfache Verzeichnis-Freigaben reicht Samba 3 vollkommen aus. Da wäre ein Domain-Controller völlig überdimensioniert.
Sofern man Raspbian Jessie verwendet, sollte man auch Samba 4 verwenden. Auch dann, wenn man nur einen einfachen Datei-Server braucht. Die Grundkonfiguration von Samba 4 ist viel einfacher. Außerdem ist Samba 4 die einzige Version, die noch aktiv gewartet wird.

Samba-Konfiguration

Alle Funktionen und Eigenschaften, die Samba über das SMB-Protokoll und NetBIOS bereitstellt, werden über die zentrale Konfigurationsdatei "/etc/samba/smb.conf" eingestellt. Hier werden alle Freigaben von Verzeichnissen oder Druckern und die Steuerung der Berechtigungen festgelegt.

sudo nano /etc/samba/smb.conf

Samba-Dienste steuern

Samba besteht aus zwei Diensten. Und zwar "smbd" und "nmbd". Und genau das muss man beim Starten, Stoppen, Neustarten des der Dienste und Neuladen der Konfiguration beachten. Gegebenenfalls muss man beide Dienste separat behandeln.

sudo service smbd start
sudo service smbd stop
sudo service smbd restart
sudo service smbd reload
sudo service nmbd start
sudo service nmbd stop
sudo service nmbd restart
sudo service nmbd reload

Hinweis: Es kann ratsam sein, nur ein Neuladen der Konfiguration ("reload") vorzunehmen. Beim einem Neustart ("restart") der Dienste verlieren alle Clients die Verbindung zum Server. Das kann zu Datenverlust führen.

Samba-Troubleshooting

Die meisten Probleme gehen auf eine fehlerhafte oder unvollständige Konfiguration des Samba-Servers zurück, falsch gesetzten Datei- und Verzeichnis-Berechtigungen und einer fehlerhaften Authentifizierung mit Benutzername und Passwort.

Erweiterung: Samba-Freigaben mit "fstab" automatisch mounten/einhängen

Prinzipiell besteht eine Samba-Freigabe immer aus zwei Seiten. Die Server-Seite und die Client-Seite. Der Samba-Server wurde im Optimalfall erfolgreich konfiguriert. Jetzt geht es um die Einrichtung bzw. das automatische Einhängen (Mount) des freigegebenen Verzeichnisses in das lokale Dateisystem eines Clients oder eines anderen Servers.

Erweiterte Samba-Konfiguration

Eine einfache Datei- oder Verzeichnis-Freigabe ist mit Samba mit nur wenig Konfigurationsaufwand eingerichtet. Es gibt allerdings noch weitere optionale Konfigurationsmöglichkeiten.

Weitere verwandte Themen:

Teilen:

Produktempfehlungen