Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.
Automount mit systemd

Mountpoints via systemd-Service einbinden

Unter Linux gibt es mehrere Möglichkeiten, SMB/CIFS-Freigaben automatisch einzubinden. Im Folgenden wird eine schlanke Lösung über einen eigenen systemd-Service beschrieben.

1. Voraussetzungen

  • Pakete: cifs-utils (für mount.cifs)
  • Eintrag in /etc/fstab für die gewünschte Freigabe
  • Optional: Anmeldedaten in einer separaten Credentials-Datei
  • Root-Rechte für Installation/Konfiguration

 

2. Beispiel für /etc/fstab

Voraussetzung für den erfolgreichen Mount ist ein passender fstab-Eintrag:

# /etc/fstab: static file system information. # # SMB Mounts //{IP-ADRESSE-SMB-SERVER}/{PFAD} /mnt/{LOKALES_VERZEICHNIS} cifs noperm,_netdev,users,credentials=/home/{USER}/.smbuser,uid=1000,gid=1000,file_mode=0777,dir_mode=0777,iocharset=utf8 0 0

Wichtig: Passen Sie alle Platzhalter an Ihr System an (IP-ADRESSE-SMB-SERVER, PFAD, LOKALES_VERZEICHNIS, USER, UID/GID usw.).

 

3. Credentials-Datei (empfohlen)

Bewahren Sie Benutzername/Passwort getrennt von der fstab auf:

# Pfad: /home/{USER}/.smbuser username=MEINBENUTZER password=MEINPASSWORT domain=MEINEDOMAIN

Rechte setzen:

chmod 600 /home/{USER}/.smbuser

Alternativ können Sie vers=3.0 (oder kompatible Version) im Optionsfeld der fstab angeben, falls Ihr Server eine bestimmte SMB-Version erfordert.

 

4. systemd-Service anlegen

Erstellen Sie eine Service-Datei, die beim Booten auf das Netzwerk wartet und dann den Mount ausführt:

sudo nano /etc/systemd/system/mountsmb.service
[Unit] Description=Mount specific SMB mountpoints from fstab After=network-online.target Wants=network-online.target

[Service]
Type=oneshot

Optional: Erreichbarkeit des SMB-Servers testen (IP anpassen)

ExecStartPre=/bin/ping -c 3 {IP-ADRESSE-SMB-SERVER}

Variante A: Einzelnes Zielverzeichnis mounten

ExecStart=/usr/bin/mount /mnt/{LOKALES_VERZEICHNIS}

Variante B: alle in fstab definierten Mounts einhängen (ohne noauto)
ExecStart=/usr/bin/mount -a -t cifs

ExecStop=/usr/bin/umount -l /mnt/{LOKALES_VERZEICHNIS}
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Service laden und aktivieren:

sudo systemctl daemon-reload
sudo systemctl enable mountsmb.service

Optional: Service sofort starten und prüfen

sudo systemctl start mountsmb.service
sudo systemctl status mountsmb.service

Bei einem Neustart wartet der Service auf die Netzwerkverfügbarkeit und mountet die SMB-Freigabe(n). Für mehrere Freigaben fügen Sie mehrere ExecStart-Zeilen ein oder nutzen Sie die Variante mit mount -a.

 

5. Verzeichnisstruktur anlegen

Stellen Sie sicher, dass das lokale Zielverzeichnis existiert:

sudo mkdir -p /mnt/{LOKALES_VERZEICHNIS}

6. Tests & Fehlerdiagnose

  • Manueller Test des Mounts:
    sudo mount /mnt/{LOKALES_VERZEICHNIS} ls -la /mnt/{LOKALES_VERZEICHNIS}
  • Logs prüfen:
    journalctl -u mountsmb.service -b
  • Typische Optionen:

    # SMB-Version erzwingen (Beispiel) ... ,vers=3.0,sec=ntlmssp,serverino ... # Berechtigungen anpassen ... ,uid=1000,gid=1000,file_mode=0644,dir_mode=0755 ...

  • Fehlerbilder:
    • Permission denied: Credentials/ACLs/Optionen prüfen.
    • Host is unreachable: Netzwerk/Firewall/Namenauflösung prüfen.
    • Operation not supported: SMB-Version/Optionen an Server anpassen.

 

7. Alternative: Automount mit systemd

Statt eines separaten Services können Sie über x-systemd.automount im fstab einen bedarfsgesteuerten Automount aktivieren. Das ermöglicht Mounten beim ersten Zugriff und automatisches Unmounten nach Inaktivität.

//{IP-ADRESSE-SMB-SERVER}/{PFAD} /mnt/{LOKALES_VERZEICHNIS} cifs x-systemd.automount,_netdev,users,credentials=/home/{USER}/.smbuser,uid=1000,gid=1000,file_mode=0644,dir_mode=0755,iocharset=utf8 0 0  

Aktivieren:

sudo systemctl daemon-reload
sudo systemctl restart remote-fs.target

Hinweise

  • Passen Sie alle Platzhalter an Ihre Umgebung an.
  • Achten Sie auf sichere Dateirechte der Credentials-Datei (chmod 600).
  • Nutzen Sie sinnvolle Dateirechte (file_mode, dir_mode) statt globaler 0777.
  • Für produktive Umgebungen empfiehlt sich die Automount-Variante oder eigene .mount/.automount-Units.
Wir benutzen Cookies

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.