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 SMB-Versionen

Sie Version 1 (SMB1) des SMB-Protokolls gilt als unsicher und veraltet. Man sollte sie nicht mehr einsetzen. Weil SMB1 in der Regel nicht mehr unterstützt wird, aber trotzdem ab und zu gebraucht wird, kann es zu Problemen bei Zugriffen geben. Sowohl auf Samba-Server-Seite, als auch bei den Clients.

Die Version 2 (SMB2) des SMB-Protokolls wurde mit Windows Vista eingeführt. 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.
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.

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-Freigabe einrichten

Das Ziel ist, den Raspberry Pi als File-Server zu betreiben, auf den man per Windows-Explorer zugreifen kann.

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.

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.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Netzwerktechnik-Fibel

Alles was Sie über Netzwerke wissen müssen.

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!

Elektronik-Set Raspberry Pi Edition
Elektronik-Set Raspberry Pi Edition

Elektronik erleben mit dem Raspberry Pi mit Python und GPIO Zero

  • Leichter Einstieg ins Hardware-nahe Programmieren mit Python und GPIO Zero
  • Experimentieren und Programmieren ohne Vorkenntnisse
  • Sofort Loslegen mit All-in-one-Set

Elektronik-Set jetzt bestellen

Netzwerktechnik-Fibel

Alles was Sie über Netzwerke wissen müssen.

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!