Hier mal ein Artikel zu einem Thema, das mich schon länger umgetrieben hat. Auch mit langjähriger UNIX-Erfahrung (Solaris, AIX) habe ich es lange nicht wirklich verstanden, da ich normalerweise nichts mit SMB-Integration zu tun hatte. Ich hoffe, dieser Artikel ist auch für andere User nützlich, die sich wundern, wieso die Shares einmal ersichtlich sind und dann wieder nicht.
Einführung: Das Linux-Dilemma mit dem NAS-Share
Wenn du Linux Mint (oder Ubuntu, Debian etc.) benutzt, kennst du das: Im Dateimanager Nemo (oder Nautilus) klickst du auf dein NAS-Share und alles funktioniert wunderbar. Du siehst deine Dateien, kannst sie kopieren und öffnen.
Sobald du aber eine andere Anwendung startest – vielleicht Blender, Inkscape oder ein spezielles Backup-Tool –, wird der NAS-Ordner plötzlich nicht erkannt. Warum sehen manche Linux-Programme dein Netzlaufwerk, und andere nicht?
Die kurze Antwort: Es liegt an der Mount-Methode. Dein Dateimanager nutzt eine „virtuelle“ Einbindung, die nicht systemweit sichtbar ist.
Der technische Grund: GVFS vs. CIFS-Mount
Unter Linux gibt es mehrere Wege, SMB-Netzlaufwerke einzubinden. Je nach Methode wird das Laufwerk unterschiedlich im System sichtbar – und nicht alle Programme erkennen alle Varianten.
1. Die „virtuelle“ Einbindung: GVFS/gio
Wenn du im Dateimanager (Nemo, Nautilus) auf „Mit Server verbinden …“ klickst, wird das Laufwerk über das Gnome Virtual File System (GVFS) eingebunden.
- Der Ort: Der Mountpunkt landet meist unter einem schwer zugänglichen Pfad, wie z. B.
~/.gvfs/oder/run/user//gvfs/. - Die Sichtbarkeit: Dies ist kein echtes Kernel-Dateisystem-Mount. Es ist nur eine „virtuelle“ Sitzung auf Benutzerebene.
- Das Problem: Nur Anwendungen, die GVFS explizit unterstützen (meist Gnome/Cinnamon-basierte Programme wie Nemo, Gedit, LibreOffice), können auf diese Pfade zugreifen. Viele ältere oder spezialisierte Programme (z. B. manche Spiele-Launcher, Datenbank-Tools oder Konsolen-Anwendungen) sehen diese virtuellen Ordner nicht oder melden „Pfad nicht gefunden“.
2. Die „echte“ Einbindung: CIFS (systemweit)
Die Lösung für dieses Problem ist das systemweite Mounten mittels CIFS (Common Internet File System). Dies ist der native Linux-Weg, um auf SMB/Windows-Freigaben zuzugreifen, sodass sie wie eine lokale Festplatte behandelt werden.
- Der Ort: Das Laufwerk wird an einen festen, systemweiten Mountpunkt eingebunden, z. B.
/mnt/meineDaten. - Die Sichtbarkeit: Da dies ein echtes Kernel-Dateisystem-Mount ist, erkennen alle Programme auf dem System diesen Ordner problemlos.
Lösung 1: Systemweiter CIFS-Mount (die Standard-Variante)
Hier zeigen wir die Konfiguration, um eine Freigabe systemweit und bootsicher einzubinden.
1. Den Mountpunkt anlegen
Zuerst definieren wir das Verzeichnis, unter dem die NAS-Freigabe später erscheinen soll (der Mountpunkt).
sudo mkdir -p /mnt/Daten
2. Zugangsdaten sicher ablegen
Um Benutzernamen und Passwort nicht direkt in die öffentlich lesbare Konfigurationsdatei (/etc/fstab) zu schreiben, legen wir eine separate, nur für den Besitzer lesbare Datei an.
Erstelle die Datei .smbcredentials in deinem Home-Verzeichnis:
nano ~/.smbcredentials
Inhalt:
username=deinuser
password=deinpasswort
# Optional, falls du in einem Domain-Netzwerk bist
# domain=deinedomain
Sichere die Datei, damit nur du sie lesen kannst (wichtig!):
chmod 600 ~/.smbcredentials
Hinweis zur Sicherheit von Zugangsdaten
Dieses Vorgehen (gesicherte
.smbcredentials-Datei) ist gängige Praxis und ausreichend sicher für private Einzelplatzkonfigurationen. In einem professionellen oder hochsicheren Umfeld sollten Passwörter niemals in Klartext auf der Festplatte gespeichert werden. Dort würde man auf dedizierte Key-Management-Lösungen oder Kerberos-Authentifizierung zurückgreifen. Eine solche Konfiguration würde jedoch den Rahmen dieses Artikels sprengen.
3. Die Konfiguration in /etc/fstab eintragen
Füge am Ende die Zeile für dein NAS hinzu:
//[NAS-IP-ODER-NAME]/[FREIGABE] /mnt/Daten cifs credentials=/home//.smbcredentials,uid=1000,gid=1000,iocharset=utf8,_netdev,nofail,x-systemd.automount 0 0
4. Wichtige fstab-Optionen erklärt
| Option | Bedeutung |
|---|---|
credentials=... |
Verweis auf die sichere Zugangsdatei. |
uid=1000,gid=1000 |
Stellt sicher, dass du die Eigentümerrechte für die gemounteten Dateien hast. |
_netdev |
Wichtig! Warte mit dem Mount, bis das Netzwerk aktiv ist. |
nofail |
Essenziell! Wenn das NAS nicht erreichbar ist, überspringt das System diesen Eintrag und bootet normal weiter. |
x-systemd.automount |
Der Mount erfolgt erst beim ersten Zugriff auf das Verzeichnis /mnt/Daten, nicht schon beim Booten. |
5. Mount testen
Lade nach der Änderung die System-Mount-Tabelle neu und versuche, die Freigaben einzubinden:
sudo systemctl daemon-reload
sudo mount -a
Lösung 2: Perfekte Home-Verzeichnis-Integration (Bind-Mount)
Die Königsklasse der Integration: Das NAS soll wie ein lokaler Ordner in deinem Home-Verzeichnis (~/Musik, ~/Videos) aussehen und sich auch so verhalten. Hierfür kombinieren wir den CIFS-Mount mit einem Bind-Mount.
1. Vorbereitungen
# Systemweite Mountpunkte für das NAS
sudo mkdir -p /mnt/nas_musik /mnt/nas_videos
# Zielordner im Home-Verzeichnis (falls sie fehlen)
mkdir -p ~/Musik ~/Videos
2. /etc/fstab konfigurieren (CIFS + Bind-Mount)
Füge am Ende der /etc/fstab diese vier Zeilen hinzu (Beispiel):
# -----------------------------
# SMB-Mounts (automatisch beim Zugriff)
# -----------------------------
//192.168.1.10/Musik /mnt/nas_musik cifs credentials=/home//.smbcredentials,uid=1000,gid=1000,iocharset=utf8,_netdev,nofail,x-systemd.automount 0 0
//192.168.1.10/Videos /mnt/nas_videos cifs credentials=/home//.smbcredentials,uid=1000,gid=1000,iocharset=utf8,_netdev,nofail,x-systemd.automount 0 0
# -----------------------------
# Bind-Mounts in das Home-Verzeichnis
# -----------------------------
/mnt/nas_musik /home//Musik none bind,_netdev,nofail,x-systemd.automount 0 0
/mnt/nas_videos /home//Videos none bind,_netdev,nofail,x-systemd.automount 0 0
Wichtig: Ersetze alle ``-Platzhalter durch deinen Benutzernamen.
3. Verhalten, wenn das NAS nicht verfügbar ist
Was passiert, wenn die NAS-Freigaben (//192.168.1.10/Musik) nicht erreichbar sind, z. B. weil der Laptop unterwegs ist oder das NAS ausgeschaltet?
- Beim Booten: Dank der Optionen
nofailund_netdevwird das System nicht blockiert. - Im Home-Verzeichnis: Da der Bind-Mount fehlschlägt, weil das eigentliche Ziel (
/mnt/nas_musik) nicht gemountet werden konnte (oder wegenx-systemd.automountnoch leer ist), siehst du in deinem Ordner~/Musikeinfach nur dessen lokale, leere Inhalte. - Wiederverbindung: Sobald das NAS verfügbar ist und du auf den Ordner zugreifst, mountet systemd die CIFS-Freigabe und legt sie per Bind-Mount über das lokale Verzeichnis. Deine lokalen Ordner bleiben unversehrt, sie sind lediglich temporär „verdeckt“.
Skript 1: Automatisierte Konfiguration erstellen
Dieses Skript automatisiert die Schritte für die Lösung 2 (Home-Verzeichnis-Integration) und fragt die notwendigen Informationen ab.
Speichere das Skript als nas_config_setup.sh:
#!/bin/bash
# =======================================================
# NAS CIFS + Bind-Mount Konfiguration (Lösung 2)
# =======================================================
# Variablen definieren
NAS_IP="192.168.1.10"
NAS_SHARE_MUSIC="Musik"
NAS_SHARE_VIDEOS="Videos"
USER_NAME=$(whoami)
CREDENTIALS_FILE="/home/$USER_NAME/.smbcredentials"
FSTAB_CONFIG="# NAS-Einbindung mit CIFS + Bind-Mount"
echo "=== NAS Konfigurations-Skript starten ==="
# 1. Credentials erstellen (falls noch nicht vorhanden)
if [ ! -f "$CREDENTIALS_FILE" ]; then
echo "--- Schritt 1: Zugangsdaten erstellen ---"
read -p "NAS Benutzername: " NAS_USER
read -s -p "NAS Passwort: " NAS_PASS
echo
echo "username=$NAS_USER" > $CREDENTIALS_FILE
echo "password=$NAS_PASS" >> $CREDENTIALS_FILE
chmod 600 $CREDENTIALS_FILE
echo "Zugangsdatei ($CREDENTIALS_FILE) wurde erstellt und geschützt."
else
echo "Zugangsdatei ($CREDENTIALS_FILE) existiert bereits."
fi
# 2. Mountpunkte und Home-Ordner erstellen
echo "--- Schritt 2: Verzeichnisse erstellen ---"
sudo mkdir -p /mnt/nas_musik /mnt/nas_videos
mkdir -p /home/$USER_NAME/Musik /home/$USER_NAME/Videos
echo "Verzeichnisse wurden erstellt/geprüft."
# 3. fstab Einträge hinzufügen (nur wenn sie nicht existieren)
if ! grep -q "$FSTAB_CONFIG" /etc/fstab; then
echo "--- Schritt 3: Konfiguration zu /etc/fstab hinzufügen ---"
# CIFS Einträge
echo "$FSTAB_CONFIG" | sudo tee -a /etc/fstab
echo "//${NAS_IP}/${NAS_SHARE_MUSIC} /mnt/nas_musik cifs credentials=${CREDENTIALS_FILE},uid=1000,gid=1000,iocharset=utf8,_netdev,nofail,x-systemd.automount 0 0" | sudo tee -a /etc/fstab
echo "//${NAS_IP}/${NAS_SHARE_VIDEOS} /mnt/nas_videos cifs credentials=${CREDENTIALS_FILE},uid=1000,gid=1000,iocharset=utf8,_netdev,nofail,x-systemd.automount 0 0" | sudo tee -a /etc/fstab
# Bind-Mount Einträge
echo "# Bind-Mounts in das Home-Verzeichnis" | sudo tee -a /etc/fstab
echo "/mnt/nas_musik /home/${USER_NAME}/Musik none bind,_netdev,nofail,x-systemd.automount 0 0" | sudo tee -a /etc/fstab
echo "/mnt/nas_videos /home/${USER_NAME}/Videos none bind,_netdev,nofail,x-systemd.automount 0 0" | sudo tee -a /etc/fstab
echo "/etc/fstab wurde aktualisiert."
else
echo "Konfigurations-Einträge sind bereits in /etc/fstab vorhanden."
fi
# 4. Mount-Änderungen aktivieren
echo "--- Schritt 4: Mount-Änderungen aktivieren ---"
sudo systemctl daemon-reload
sudo mount -a
echo "NAS Konfiguration abgeschlossen! Zugriff über ~/Musik und ~/Videos."
Ausführung:
- Mache das Skript ausführbar:
chmod +x nas_config_setup.sh - Führe es aus:
./nas_config_setup.sh
Skript 2: Konfiguration rückgängig machen (Revert-Skript)
Dieses Skript entfernt die komplette Konfiguration (fstab-Einträge, Mountpunkte, Credentials-Datei), um den Originalzustand wiederherzustellen.
Speichere das Skript als nas_config_revert.sh:
#!/bin/bash
# =======================================================
# NAS Konfiguration rückgängig machen (Revert)
# =======================================================
USER_NAME=$(whoami)
CREDENTIALS_FILE="/home/$USER_NAME/.smbcredentials"
FSTAB_CONFIG_START="# NAS-Einbindung mit CIFS + Bind-Mount"
echo "=== NAS Konfigurations-Rückgängigmachung starten ==="
# 1. Alle gemounteten NAS-Freigaben trennen
echo "--- Schritt 1: Freigaben trennen ---"
sudo umount /mnt/nas_musik 2>/dev/null
sudo umount /mnt/nas_videos 2>/dev/null
sudo umount /home/$USER_NAME/Musik 2>/dev/null
sudo umount /home/$USER_NAME/Videos 2>/dev/null
echo "Alle bekannten NAS-Mounts wurden getrennt (falls aktiv)."
# 2. fstab Einträge entfernen
echo "--- Schritt 2: Einträge aus /etc/fstab entfernen ---"
# Wir nutzen sed, um alle Zeilen ab dem definierten Marker zu löschen
# Achtung: Dies entfernt alle Zeilen ab dem Marker bis zum Ende der Datei oder bis zum nächsten Kommentarblock.
# Hier gehen wir davon aus, dass unsere 5 Zeilen am Ende stehen.
sudo sed -i "/${FSTAB_CONFIG_START}/,\$d" /etc/fstab
# systemd neu laden
sudo systemctl daemon-reload
echo "fstab-Einträge wurden entfernt."
# 3. Credentials-Datei löschen
if [ -f "$CREDENTIALS_FILE" ]; then
echo "--- Schritt 3: Zugangsdatei löschen ---"
rm $CREDENTIALS_FILE
echo "Zugangsdatei ($CREDENTIALS_FILE) wurde gelöscht."
else
echo "Zugangsdatei nicht gefunden."
fi
# 4. Mountpunkte entfernen (nur wenn sie leer sind)
echo "--- Schritt 4: Leere Mountpunkte entfernen ---"
sudo rmdir /mnt/nas_musik 2>/dev/null
sudo rmdir /mnt/nas_videos 2>/dev/null
echo "Leere Mountpunkte wurden entfernt (falls vorhanden)."
echo "Die Home-Ordner (~/Musik, ~/Videos) bleiben erhalten."
echo "NAS Konfiguration vollständig rückgängig gemacht."
Ausführung:
- Mache das Skript ausführbar:
chmod +x nas_config_revert.sh - Führe es aus:
./nas_config_revert.sh
Weiterführende Informationen
- Artikel bei Ubuntu User zu CIFS: https://wiki.ubuntuusers.de/mount.cifs/
- Wikipedia CIFS: https://de.wikipedia.org/wiki/Server_Message_Block
- Artikel zu Samba Client GNOME/GVFS bei Ubuntu User: https://wiki.ubuntuusers.de/Samba_Client_GNOME/
- Gnome Project: https://wiki.gnome.org/Projects/gvfs
- Wikipedia GVFS: https://de.wikipedia.org/wiki/Gnome_Virtual_File_System
Quellen:
* Artikel bei Ubuntu User zu CIFS: https://wiki.ubuntuusers.de/mount.cifs/
* Wikipedia CIFS: https://de.wikipedia.org/wiki/Server_Message_Block
* Artikel zu Samba-Client GNOME/GVFS bei Ubuntu User: https://wiki.ubuntuusers.de/Samba_Client_GNOME/
* Gnome Project: https://wiki.gnome.org/Projects/gvfs
* Wikipedia GVFS: https://de.wikipedia.org/wiki/Gnome_Virtual_File_System

Toller Artikel, Danke
Super Artikel, sehr ausführlich und gut erklärt. Vielen Dank dafür.
-sb
Vielen Dank für diesen sehr guten Artikel, ich habe schon sehr lange nach Lösungen gesucht, bin aber Nutzer von Dolphin und KDE. Ich lege in Dolphin meine Verknüpfungen unter Orte ab und sie werden von anderen Anwendungen (und von mir auch) nicht gefunden. Ich habe schon sehr viel über Samba und seine Mount's im Internet gelesen, aber nie eine Lösung gefunden. Danke. Gruß Rigo
Interessant - danke für den ausführlichen Artikel! Ich bin jetzt nur mit Mint und Zorin unterwegs. Dort lege mounte ich auf dem üblichen Weg (smb://) meine Samba-Laufwerke direkt im jeweiligen Dateimanager. Bisher werden die dann auch immer in den Datei-Öffnen-Speicher-Dialogen angezeigt (Screenshot: Zorim 18 - Gimp).
Aber für den Fall, dass das mal nicht glatt funktioniert, speichere ich mir Deine Anleitung in Readeck ab :-)
Hallo GNU/Linux.ch Team,
erst mal schön erklärt.So ähnlich habe ich vor Längerem mal meine SMB-Freigaben auf dem Laptop gemounted.
Nachteil dabei ist, fährst Du nun den Lappi runter dauert das pro Freigabe 1,5 Minuten, da das W-Lan schon vor dem Auswerfen der Shares abgeschaltet wird.
Habt ihr eine Idee, wie das Problem zu lösen ist?
Tschö Chris
Gib Deine Netzwerkverbindung systemweit frei, ich weiss die genaue Bezeichnung grad nicht. Es ist ein Häckchen in den Netzwerksettings in KDE. Damit wird das Netzwerk nicht beim Abmelden getrennt, sondern steht bis zum Shutdown auch für das Trennen der SMB-Shares zur Verfügung. Vg Joerg
Danke! Danach hatte ich schon lange gesucht. Allerdings produziert das Script bei mir (Kubuntu, TuxedoOS) den Eintrag in fstab mit /home/ROOT/ statt home/USERNAME/ was eine Fehlermeldung produziert, da /root nicht gefunden wird. Wie passe ich das im Script so an, dass korrekt /home/username eingetragen wird? Kann jemand helfen?
Die einfachste Möglichkeit wäre wahrscheinlich, unter "# Variablen definieren" der Variable USER_NAME direkt den gewünschten Nutzernamen zuzuweisen, anstatt $(whoami).
Was hat es für einen Vorteil, erst nach /mnt/myShare zu mounten und diesen dann wieder nach /home/myUser/myShare umzubiegen?
Ich mounte meine shares direkt in mein Homeverzeichnis - hat das irgendwelche Nachteile?
+1 :-)
als followup... für NFS shares nutze ich hier auf FreeBSD automount bzw auf Linux dazu korrespondierend Autofs in ähnlicher Form.
Das Problem besteht auch für andere Orte, nicht nur für die SMB Freigaben. Z. B. im Nemo "Netzwerke" oder "Rechner". Da hab ich auch noch nicht gefunden, wie ich die unkompliziert in meinen genutzten Dateimanager einbinden kann. Wird wohl ebenfalls über das GVFS sein. Dennoch ein toller Artikel von Reiner und die Erklärungen zu den Optionen für die fstab finde ich sehr gut. Sehr wichtig die nofail Angabe usw. Top👍🏻
Es gibt ein Tool für das Einhängen von Samba-Freigaben https://apps.kde.org/de/smb4k/
Danke für den Artikel! Speziell auf die Idee mit dem Bind-Mount bin ich für diesen Anwendungsfall noch nicht gekommen :) Als kleine (aber manchmal wichtige) Ergänzung zur Sicherheit des
CREDENTIALS_FILE: Das sollte erst leer erstellt (touch "$CREDENTIALS_FILE"), dann abgesichert (chmod), dann befüllt werden (sonst unsichere Zeit mit Race Condition). Zweite wichtige Kleinigkeit: Dateinamen-Variablen (oder einfach alle Variablen) immer in Quotes, sonst kann es mal richtig schiefgehen! Z. B.fn="keine wichtige-datei"; rm $fn(auch in dieser Hinsicht wären natürlich Dateinamen ohne Leerzeichen hilfreich, aber das ist heutzutage wohl leider nicht mehr flächendeckend zu erreichen).Hey! Danke für den Artikel. Manche der fstab Optionen kannte ich noch nicht. Mich persönlich hält nur ein Faktum von dieser Konfig ab: Ein (versehentlicher) Klick auf den Ordner in einem fremden Netzwerk bläst die Credentials in das (Hotel)WLAN. Kann man das irgendwie verhindern, ohne mit krassen scripten arbeiten zu müssen?
LEIDER doch nicht so dolle. Whoami habe ich überall durch den tatsächlichen Benutzer ersetzt, dann stimmen auch die Einträge in fstab. Aber: wenn das NAS aus irgendeinem Grund plötzlich nicht mehr online ist, bekommt bei KDE Dolphin eine Krise, startet nur sehr langsam und ist kaum zu gebrauchen. Ein Neustart ohne NAS funktioniert ohne Probleme, Dolphin reagiert weiterhin verzögert, ist dann aber noch brauchbar. Schade. Vermutlich kehre ich deshalb zu smb4k zurück.
Danke für den ausführlichen Artikel.
Ich habe bisher die Verzeichnisse analog (1) in /mnt/name gemountet und dann Softlinks für die Nutzer im Homeverzeichnis erstellt, für einfache Probleme (manuelle Datei-Ablage) hat das immer gut funktioniert. Für komplexere Aufgaben ist sicherlich (2) besser geeignet.
funktioniert das auch mit Webdav (davs2 module)?
Bis vor zwei Jahren habe ich das mal mit fstab auf einem Laptop versucht. Das hat nie sauber funktioniert. Problem war vor allem das wieder-verbinden beim Ausfall des Netzwerkes. Ausserdem haben einige Programme sofort ein Problem, wenn sie feststellen, dass die gerade offene Datei nicht gefunden wird. Im Zusammenhang mit Standby hatte ich so schlimme Probleme, dass ein Mount ohne Neustart nicht mehr wiederhergestellt werden konnte oder mir gar gelegentlich das ganze System eingefroren ist. Nach vielen erfolglosen versuchen, auch mit autofs und anderen Lösungen. Habe ich das aufgegeben und auf Nextcloud gewechselt.
Die bind mounts sollten nicht automatisch ausgeführt werden, sonder nur, wenn der /mnt/* mount auch existiert: