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.

  • Samba richtig starten oder stoppen
  • Benutzer-Authentifizierung fehlgeschlagen
  • Keine Datei- und Verzeichnis-Berechtigungen
  • Ergänzung für Windows-10-Clients

Die folgenden Lösungsmöglichkeiten sind nicht als Schritt-für-Schritt-Anleitung zu verstehen, sondern setzen Kenntnisse über die grundsätzliche Samba-Konfiguration voraus.

Troubleshooting: Samba richtig starten oder stoppen

Folgende Befehle scheinen nicht wirklich zu funktionieren.

sudo service samba start
sudo service samba stop
sudo service samba restart
sudo service samba status

Manchmal kommt sogar folgender Fehler: "Failed to start samba.service: Unit samba.service is masked." Was heißt das? Das bedeutet, dass es den Service/Dienst mit der Bezeichnung "samba" eigentlich nicht gibt.

Dazu muss man wissen, Samba besteht aus zwei Diensten. Und zwar "smbd" und "nmbd". Und genau das muss man beim Starten, Stoppen und Restarten beachten. Gegebenenfalls muss man beide Dienste separat behandeln.

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

Troubleshooting: Keine Freigaben auf dem entfernten PC sichtbar

Grundsätzlich gilt, wenn man Änderungen an der Konfigurationsdatei "/etc/samba/smb.conf" vorgenommen hat, dann sollte man diese auch mit "testparm" prüfen.

testparm -v

Die Option "-v" bewirkt, dass auch die Default-Einstellungen angezeigt werden.

Sofern kein Fehler zurückgeliefert wurde, müssen die Samba-Dienste neu gestartet oder die Konfigurationsdatei neu einlesen werden.

sudo service smbd restart
sudo service nmbd restart

Hinweis: Bei einem Neustart der Samba-Dienste werden eventuelle Verbindungen zu den Verzeichnis-Freigaben beendet. Bei einem "reload" würden die Verbindungen bestehen bleiben und nur die Konfiguration neu gelesen werden.

Sofern der Test der Konfigurationsdatei mit "testparm" erfolgreich war und man den Restart des Samba-Servers bzw. den Reload der Konfiguration nicht vergessen hat, sollte es eigentlich keine Probleme mit den Samba-Freigaben geben.

Vorausgesetzt man hat auf beiden Seiten eine funktionierende Netzwerk-Verbindung, sollte man klären, ob die Samba-Dienste auch wirklich laufen.

sudo service smbd status
sudo service nmbd status

Oder:

ps ax | grep .*mbd

In der Liste sollten "nmbd" und "smbd" enthalten sein.

Außerdem können wir noch mit "netstat" prüfen, ob die Samba-Ports (137/udp, 138/udp, 139/tcp und 445/tcp) an die Dienste gebunden sind.

sudo netstat -tulpn | grep mbd

Wenn die Samba-Dienste laufen und auf die richtigen Ports lauschen, dann ist schon mal bei der Installation nichts schief gegangen. Ansonsten muss man versuchen, die Dienste "smbd" und "nmbd" zum Laufen zu bekommen.

Wenn die Samba-Dienste laufen, aber die Freigaben weiterhin nicht sichtbar sind, dann hilft es bei der Fehlersuche ungemein, wenn auf dem Server auch der Samba-Client installiert ist.

sudo apt-get install smbclient

Mit der Angabe des Host- bzw. Computernamens kann man prüfen, ob der Samba-Server erreichbar ist. Dabei wird aber nur der Hostname zur IP-Adresse aufgelöst.

nmblookup raspberrypi

Selbiges funktioniert auch mit der Angabe der Arbeitsgruppe bzw. des Parameters "workgroup" aus den globalen Einstellungen der Konfigurationsdatei. "raspberrypi" ist in diesem Fall der Hostname des Raspberry Pi.

nmblookup workgroup

Richtig interessant ist es zu sehen, welche Freigaben der Samba-Server zur Verfügung stellt. "raspberrypi" ist in diesem Fall der Hostname des Raspberry Pi. Man kann auch die IP-Adresse verwenden.

smbclient -N -L raspberrypi

Hier sollten die Freigaben aufgelistet sein. Wenn nicht, dann sollte man mit "testparm" die Konfiguration prüfen. Oder den vergessenen Restart des Samba-Servers durchführen, damit die Konfiguration übernommen werden kann.

Jetzt gehen wir noch einen Schritt weiter und prüfen, ob eine Benutzeranmeldung möglich ist. Der Benutzer ist in diesem Fall "pi".

smbclient -U pi -L raspberrypi

Die Kommandozeile wird vermutlich nach einem Passwort fragen. Das ist das Passwort, dass der Benutzer "pi" in der Samba-Benutzerverwaltung bekommen hat. Nicht der lokale Benutzer und auch nicht der lokale Benutzer auf dem Samba-System, sondern wirklich der Samba-Benutzer.

Troubleshooting: Benutzer-Authentifizierung fehlgeschlagen

Damit ein Zugriff auf die Samba-Freigaben möglich ist, muss jeder Samba-Benutzer ein lokales Benutzer-Konto auf dem Samba-Server und zusätzlich ein Samba-Konto haben.
Die Benutzerinformationen werden über das Benutzer-Konto verwaltet und die Zugriffsberechtigung über das Samba-Konto.

Deshalb muss ein separates Passwort mit "smbpasswd" eingerichtet werden.

Alle Samba-Benutzer anzeigen:

pdbedit -L -w

Dort sollte der entsprechende Benutzer, der auf eine Samba-Freigabe zugreifen möchte angelegt sein.

Existiert der Samba-Benutzer, dann sollte man sich in der vergleichsweise unübersichtlichen Ausgabe von

pdbedit -L -v

ansehen, ob das Feld "Password last set" leer ist. Ist das der Fall, setzen Sie über "smbpasswd" ein Passwort.

sudo smbpasswd -a pi

Nach der Eingabe des Passworts muss man es zur Kontrolle ein zweites mal eingeben. Danach sollte man auf die Freigabe zugreifen können.

Hinweis: Es gibt Hinweise darauf, dass die unter Raspbian Jessie verwendete Samba-Version nicht in jedem Fall mit Windows 7 funktioniert. Hier gibt es immer wieder Probleme mit der Anmeldung.

Vorübergehend kann man auch mit der Anweisung "guest = ok" in der Sektion "[global]" in der zentralen Konfigurationsdatei "/etc/samba/smb.conf" erreichen, dass bei der Verbindungsaufnahme kein Passwort verlangt wird.

Troubleshooting: Keine Datei- und Verzeichnis-Berechtigungen

Die meisten Probleme haben selten mit der Konfiguration des Samba-Servers zu tun haben, sondern mit den gesetzten Datei- und Verzeichnis-Berechtigungen. Das korrekte Setzen der Datei- und Verzeichnis-Berechtigungen ist extrem wichtig.
Zu beachten ist, dass die Dateirechte im Samba-System selbst auch den entsprechenden Zugriff zulassen müssen. Die Samba-Rechte (Konfiguration) können die System-Rechte nicht aushebeln.

Beachten Sie hierzu die Beispiele der Samba-Freigaben für Verzeichnisse.

Troubleshooting: Ergänzung für Windows-10-Clients

Bei Windows 10 ist das Protokoll SMB mit der Version 1 als nicht sicher eingestuft und deshalb deaktiviert. Deshalb muss man bei Bedarf folgende Zeilen im Abschnitt [GLOBAL] ergänzen.

[GLOBAL]
...
client min protocol = SMB2
client max protocol = SMB3
server min protocol = NT1

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!