mount smb share in linux

mount smb share in linux

Wer schon mal versucht hat, unter Ubuntu, Debian oder Fedora auf den Firmenserver oder das heimische NAS zuzugreifen, kennt den Frust. Du tippst den Befehl ein, hoffst auf das Beste, und am Ende kriegst du eine Fehlermeldung, die kryptischer nicht sein könnte. Das Thema Mount SMB Share in Linux ist eine dieser Aufgaben, die auf dem Papier simpel wirken, in der Praxis aber an Kleinigkeiten wie Berechtigungen, Protokollversionen oder vergessenen Paketen scheitern. Ich habe in den letzten Jahren hunderte Server konfiguriert und dabei gelernt: Die Standardeinstellungen sind fast nie das, was du wirklich brauchst. Meistens hakt es bei der Performance oder der Sicherheit, weil man einfach blind ein Tutorial aus dem Jahr 2012 kopiert hat. Wir schauen uns heute an, wie du Netzlaufwerke so einbindest, dass sie stabil laufen und nicht beim kleinsten Netzwerk-Schluckauf dein ganzes System einfrieren lassen.

Die Grundlagen für den Zugriff auf Windows-Freigaben

Bevor wir überhaupt über Befehle reden, müssen wir sicherstellen, dass dein Linux-System überhaupt die Sprache von Windows spricht. SMB steht für Server Message Block. Linux nutzt dafür die Implementierung namens Samba. Ohne die passenden Client-Werkzeuge wird jeder Versuch, eine Verbindung aufzubauen, kläglich scheitern. Das Paket, das du brauchst, heißt auf fast allen Debian-basierten Systemen cifs-utils. CIFS ist im Grunde die moderne Bezeichnung für SMB-Netzwerkdateisysteme. Wenn du das nicht installiert hast, kennt dein Kernel den Dateisystemtyp schlichtweg nicht.

Ein häufiger Fehler ist die Annahme, dass der Dateimanager in der grafischen Oberfläche – sei es Nautilus unter GNOME oder Dolphin unter KDE – das Gleiche tut wie ein Mount-Befehl auf der Konsole. Das stimmt nicht ganz. Die grafischen Tools nutzen oft GVfs, was eine Art virtuelles Dateisystem im Userspace ist. Das ist okay, um mal eben ein Foto vom NAS zu ziehen. Willst du aber, dass eine Anwendung wie ein Plex-Server oder ein Backup-Skript permanent auf die Daten zugreifen kann, musst du den harten Weg über den Mount-Point gehen.

Die Installation der notwendigen Werkzeuge

Auf einem System wie Debian oder Ubuntu startest du mit einem einfachen Befehl im Terminal. Du brauchst Root-Rechte, also benutze sudo. sudo apt update && sudo apt install cifs-utils Damit holst du dir alles ins Boot, was du für die Kommunikation mit Windows-Servern oder Samba-Freigaben benötigst. Falls du auf Fedora oder CentOS unterwegs bist, nutzt du stattdessen dnf install cifs-utils. Ohne diesen Schritt ist das gesamte Vorhaben zum Scheitern verurteilt. Es gibt keine Abkürzung.

So funktioniert das Mount SMB Share in Linux manuell

Manchmal willst du eine Freigabe nur kurz einbinden, um ein paar Dateien zu verschieben. Dafür ist der manuelle Mount-Befehl ideal. Er ist die schnellste Methode, um zu testen, ob deine Zugangsdaten und die Netzwerkverbindung überhaupt funktionieren. Ein typischer Befehl sieht so aus: sudo mount -t cifs //192.168.1.100/freigabe /mnt/mein_nas -o username=dein_nutzer,password=dein_passwort Hier passieren mehrere Dinge gleichzeitig. Du sagst dem System, dass es den Typ cifs verwenden soll. Dann folgt die Adresse des Servers und der Name der Freigabe. Der Teil /mnt/mein_nas ist dein lokaler Ordner, in dem die Dateien erscheinen sollen.

Aber Vorsicht. Dein Passwort im Klartext in die Bash-Historie zu schreiben, ist eine extrem schlechte Idee. Jeder, der Zugriff auf deinen Rechner hat, kann mit history dein Passwort auslesen. Benutze stattdessen lieber die Option, bei der das System dich nach dem Passwort fragt, oder verwende eine Credentials-Datei. Das ist sicherer und professioneller. Wenn du eine Fehlermeldung wie "Host is down" bekommst, obwohl der Server an ist, liegt das oft an einer veralteten SMB-Version. Moderne Server erwarten mindestens SMB 3.0. Du kannst das erzwingen, indem du vers=3.0 zu den Optionen hinzufügst.

Der Mount-Point muss existieren

Ein banaler Grund für Fehler: Der Ordner, in den du mounten willst, existiert gar nicht. Linux erstellt diesen Ordner nicht automatisch für dich. Du musst ihn vorher manuell anlegen. Ich empfehle, dafür nicht direkt /mnt zu nehmen, sondern Unterordner zu erstellen. sudo mkdir -p /mnt/netzwerk/daten Das -p sorgt dafür, dass auch alle Elternverzeichnisse erstellt werden, falls sie fehlen. Wenn du diesen Ordner erstellt hast, gehören ihm standardmäßig Root. Das ist wichtig für die späteren Berechtigungseinstellungen.

Automatisches Einbinden über die fstab

Niemand hat Lust, nach jedem Neustart händisch Befehle einzutippen. Die Lösung dafür ist die Datei /etc/fstab. Hier stehen alle Dateisysteme drin, die Linux beim Booten automatisch erkennt. Das Problem: Wenn das Netzwerk beim Starten noch nicht bereit ist, bleibt dein Rechner hängen oder der Mount schlägt fehl. Wir müssen also clever vorgehen.

In der fstab sieht eine Zeile für eine Netzwerkfreigabe meistens so aus: //192.168.1.100/freigabe /mnt/mein_nas cifs credentials=/home/user/.smbcredentials,iocharset=utf8,x-systemd.automount 0 0 Der Trick hier ist x-systemd.automount. Das bewirkt, dass die Freigabe erst in dem Moment eingebunden wird, in dem du wirklich darauf zugreifst. Das spart Zeit beim Booten und verhindert Fehler, falls der Server mal offline ist.

Sicherheit durch Credentials-Dateien

Wie versprochen: Schreib dein Passwort niemals direkt in die fstab. Die Datei /etc/fstab kann von jedem Nutzer auf dem System gelesen werden. Erstelle stattdessen eine versteckte Datei in deinem Home-Verzeichnis, zum Beispiel .smbcredentials. Der Inhalt sieht so aus: username=mein_nutzer password=mein_geheimes_passwort domain=WORKGROUP (falls nötig)

Danach musst du die Rechte dieser Datei so einschränken, dass nur du sie lesen kannst: chmod 600 ~/.smbcredentials. In der fstab verweist du dann einfach mit credentials=/pfad/zur/datei darauf. Das ist der Goldstandard für die Sicherheit bei der Arbeit mit SMB-Freigaben. Wer das ignoriert, handelt grob fahrlässig.

Rechte und Berechtigungen richtig setzen

Das ist der Punkt, an dem die meisten verzweifeln. Du hast die Freigabe gemountet, kannst sie sehen, aber du darfst keine Dateien löschen oder neue anlegen. Warum? Weil Linux und Windows unterschiedliche Vorstellungen von Berechtigungen haben. Wenn du unter Linux eine CIFS-Freigabe einbindest, gehören alle Dateien standardmäßig dem User, der den Mount-Befehl ausgeführt hat – meistens Root.

Um das zu ändern, musst du beim Mounten deine eigene User-ID (UID) und Gruppen-ID (GID) mitgeben. Du findest deine UID heraus, indem du id in das Terminal tippst. Meistens ist es die 1000. Die Optionen uid=1000,gid=1000 sorgen dafür, dass Linux dir die Dateien "überschreibt", sodass sie sich so verhalten, als gehörten sie dir. Zusätzlich helfen die Optionen file_mode=0664,dir_mode=0775, um die Schreibrechte für Dateien und Ordner korrekt zu setzen.

Performance-Tuning für langsame Verbindungen

Wenn du über WLAN oder eine VPN-Verbindung arbeitest, kann SMB quälend langsam sein. Das liegt an der Geschwätzigkeit des Protokolls. Jede kleine Aktion erfordert eine Bestätigung vom Server. Ein paar Einstellungen können hier Wunder wirken. Die Option cache=strict ist der Standard, aber manchmal hilft cache=loose, um die Geschwindigkeit zu erhöhen – allerdings auf Kosten der Datensicherheit bei plötzlichen Verbindungsabbrüchen.

Ein weiterer Faktor ist die rsize und wsize. Diese Werte bestimmen, wie groß die Datenpakete sind, die über die Leitung gehen. Moderne Systeme handeln das zwar meist selbst aus, aber bei alten Routern kann ein manuelles Setzen auf 65536 Stabilität bringen. Wer in einem Gigabit-Netzwerk unterwegs ist, sollte zudem darauf achten, dass die Version auf vers=3.1.1 steht. Das ist die aktuellste und sicherste Version des Protokolls, die auch Verschlüsselung unterstützt. Die Samba-Dokumentation bietet hierzu tiefe Einblicke in die technischen Details der verschiedenen Versionen.

Umgang mit Sonderzeichen und Umlauten

Wir leben im deutschsprachigen Raum, also haben wir Umlaute. Wenn deine Ordner "Bücher" oder "März" heißen, kann es zu Problemen kommen, wenn die Zeichenkodierung nicht stimmt. Die Option iocharset=utf8 ist heutzutage fast immer die richtige Wahl. Ohne diesen Parameter siehst du statt Ä, Ö und Ü oft nur Fragezeichen oder wirre Symbole. Das macht das Arbeiten mit den Dateien fast unmöglich, besonders wenn Skripte darauf zugreifen sollen.

Fehlerbehebung wenn nichts mehr geht

Du hast alles richtig gemacht, aber es funktioniert trotzdem nicht? Der erste Blick sollte immer in die Kernel-Logs führen. Mit dem Befehl dmesg | tail siehst du die letzten Systemmeldungen. Wenn dort etwas von "VFS: cifs_mount failed w/return code = -13" steht, bedeutet das meistens: Permission Denied. Dein Passwort oder dein Nutzername ist falsch. Code -115 deutet auf ein Netzwerkproblem hin – der Server ist nicht erreichbar oder eine Firewall blockiert Port 445.

Prüfe mit smbclient -L //server-ip, ob du die Freigaben überhaupt auflisten kannst. Wenn das klappt, liegt das Problem bei den Mount-Optionen, nicht bei der Verbindung an sich. Manchmal hilft es auch, die IP-Adresse statt des Hostnamens zu verwenden, um DNS-Probleme auszuschließen. Besonders in Heimnetzwerken mit FritzBoxen oder anderen Consumer-Routern ist die Namensauflösung oft instabil.

Alternativen zum klassischen Mount

Manchmal ist ein Mount über den Kernel gar nicht die beste Lösung. Wenn du nur sporadisch Daten brauchst, schau dir Tools wie gio mount an. Das ist das Kommandozeilen-Pendant zu dem, was dein grafischer Dateimanager tut. Es erfordert keine Root-Rechte und ist viel verzeihlicher, wenn die Verbindung abbricht. Für professionelle Setups mit vielen Servern ist auch autofs eine Überlegung wert. Es mountet Freigaben automatisch bei Bedarf und hängt sie nach einer Zeit der Inaktivität wieder aus. Das hält dein System sauber und spart Ressourcen.

Wer viel mit Servern in der Cloud arbeitet, sollte zudem prüfen, ob SMB überhaupt das richtige Werkzeug ist. Für reine Linux-Umgebungen ist NFS oft performanter. Aber sobald ein Windows-Rechner oder ein Standard-NAS im Spiel ist, führt kein Weg an SMB vorbei. Es ist die Brücke zwischen den Welten, auch wenn sie manchmal etwas wackelig ist.

Die Rolle von Systemd-Units

Ein moderner Ansatz, der die klassische fstab langsam ablöst, sind Systemd-Mount-Units. Anstatt eine kryptische Zeile in eine Textdatei zu schreiben, erstellst du eine Konfigurationsdatei unter /etc/systemd/system/. Der Name der Datei muss dabei dem Pfad entsprechen. Wenn du nach /mnt/daten mounten willst, muss die Datei mnt-daten.mount heißen.

Der Vorteil: Systemd kann Abhängigkeiten besser verwalten. Du kannst explizit sagen: "Warte mit dem Mounten, bis das Netzwerk wirklich online ist." Das ist viel robuster als die alten Methoden. Hier ist ein Beispiel für den Inhalt einer solchen Unit: [Mount] What=//192.168.1.100/freigabe Where=/mnt/daten Type=cifs Options=credentials=/root/.smbcredentials,iocharset=utf8 [Install] WantedBy=multi-user.target

Praktische Schritte für dein Setup

Damit du jetzt direkt loslegen kannst, hier die ideale Vorgehensweise für ein stabiles System.

  1. Installiere die cifs-utils über deine Paketverwaltung. Das ist die Grundvoraussetzung.
  2. Erstelle einen lokalen Ordner als Mount-Ziel, zum Beispiel unter /media/nas_freigabe.
  3. Teste den Zugriff einmal manuell, um sicherzugehen, dass die IP, der Name der Freigabe und deine Zugangsdaten stimmen. Nutze dafür die Option vers=3.0, um Kompatibilitätsprobleme zu vermeiden.
  4. Lege eine Datei für deine Zugangsdaten an, schütze sie mit chmod 600 und lege sie an einem sicheren Ort ab (nicht auf der Freigabe selbst!).
  5. Trage die Freigabe in die /etc/fstab ein, aber nutze unbedingt die Option x-systemd.automount. Das verhindert Frust beim Systemstart.
  6. Vergiss nicht, deine eigene uid und gid anzugeben, damit du auch wirklich Schreibrechte hast.

Wenn du diese Schritte befolgst, wird die Arbeit mit Netzwerkfreigaben unter Linux deutlich entspannter. Es ist kein Hexenwerk, erfordert aber Sorgfalt bei den Details. Die meisten Probleme entstehen durch Nachlässigkeit bei den Berechtigungen oder durch die Verwendung veralteter Protokollversionen. Weitere Informationen zu aktuellen Sicherheitsstandards findest du beim Bundesamt für Sicherheit in der Informationstechnik, die regelmäßig Empfehlungen zur Absicherung von Netzwerkprotokollen veröffentlichen. Ein gut konfiguriertes System ist nicht nur schneller, sondern schützt auch deine Daten vor unbefugtem Zugriff im Netzwerk.

TS

Thomas Schäfer

Thomas Schäfer verfolgt politische und soziale Debatten mit kritischem Blick und journalistischer Verantwortung.