SMB-Freigaben in Linux systemweit mounten: Warum dein NAS-Ordner im Programm fehlt und wie du ihn fixierst

  Thomas Cigolla   Lesezeit: 8 Minuten  🗪 3 Kommentare Auf Mastodon ansehen

Ich erkläre, wie man NAS-Ordner mounten kann, wenn sie in bestimmten Programmen fehlen.

smb-freigaben in linux systemweit mounten: warum dein nas-ordner im programm fehlt und wie du ihn fixierst

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?

  1. Beim Booten: Dank der Optionen nofail und _netdev wird das System nicht blockiert.
  2. Im Home-Verzeichnis: Da der Bind-Mount fehlschlägt, weil das eigentliche Ziel (/mnt/nas_musik) nicht gemountet werden konnte (oder wegen x-systemd.automount noch leer ist), siehst du in deinem Ordner ~/Musik einfach nur dessen lokale, leere Inhalte.
  3. 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:

  1. Mache das Skript ausführbar: chmod +x nas_config_setup.sh
  2. 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:

  1. Mache das Skript ausführbar: chmod +x nas_config_revert.sh
  2. Führe es aus: ./nas_config_revert.sh

Weiterführende Informationen

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

Tags

GVFS, CIFS, SMB

Reiner.K
Geschrieben von Reiner.K am 7. November 2025 um 09:37

Toller Artikel, Danke

Stefan
Geschrieben von Stefan am 7. November 2025 um 10:24

Super Artikel, sehr ausführlich und gut erklärt. Vielen Dank dafür.

  • den '' ("//") Platzhalter könnte man vielleicht irgendwie klarer erkennbar machen. Z.B. auch wie im Script als "$USER"
  • der "x-systemd.automount" Parameter kann je nach System so seine Eigenheiten haben
  • es gäbe da auch noch die Variante mit einer systemd.automount Unit. Ist allerdings auch nicht so mein Geschmack.

-sb

Rigobert Müller
Geschrieben von Rigobert Müller am 7. November 2025 um 11:34

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