Blog Digitalgesellschaft Verwaltungsbetrieb Textarchiv Textarchiv Walter Kirk (✝) Impressum
Homeserver in fstab einrichten
→ Vorbemerkung
→ Notwendige Angaben
→ Programm installieren
→ Einhängepunkt erstellen
→ Textdatei erstellen
→ Rechte setzen
→ SAMBA-Freigaben ermitteln
→ Eintrag in /etc/fstab
→ Test
→ Bash-Script
→ Zusammenfassung
Um einen HOMESERVER automatisch im Dateisystem auf einem Client einzuhängen (mount), ist die /etc/fstab entsprechend zu ergänzen. Damit dies erfolgreich gelingt, sind die Schritte für einen HOMESERVER (SAMBA auf LINUX-Basis) nachfolgend beschrieben.
Folgende Angabe sind vor dem Eintrag zu ermitteln:
- Einhängepunkt (Mountpoint) beim Client - Samba-Share - Samba-Nutzername - Samba-Passwort.
Common Internet File System (CIFS) Freigaben benötigen in Linux die cifs-utils:
test@testgeraet: sudo apt install cifs-utils
Das Verzeichnis, in dem der HOMESERVER in das System integriert wird (Mountpoint), ist zu erstellen:
xxxxxxxxxxtest@testgeraet: sudo mkdir /mnt/mountpoint
Es kann jedes beliebige Verzeichnis im Dateisystem sein, also auch im $HOME-Verzeichnis eingerichtet werden.
Für die Einbindung in die fstab ist eine Textdatei .smbcredentials im Verzeichnis /home/nutzername/ zu erstellen
xxxxxxxxxxtest@testgeraet: nano ./smbcredentials
mit dem Inhalt:
xxxxxxxxxxusername=Nutzername in SAMBApassword=SAMBA-Passwortdomain=WORKGROUP (=optional)
Das Zeichen DOT vor dem Namen kennzeichnet die Datei als versteckt.
Die Textdatei ist zu schützen, sodass nur der Berechtigte darauf Zugriff hat:
xxxxxxxxxxtest@testgeraet: chmod 600 /home/nutzername/.smbcredentials
Auf dem HOMESERVER werden die Freigaben angezeigt mit:
xxxxxxxxxxtest@testgeraet: smbclient -L //IP-Serveradresse -U nutzername in SAMBA
Die Ausgabe kann so aussehen:
xPassword for [WORKGROUP\nutzername]:Sharename Type Comment--------- ---- -------print$ Disk Printer DriversBACKUP Disk smb shareMEDIEN Disk smb shareIPC$ IPC IPC Service (datenbackup server (Samba, Ubuntu))SMB1 disabled -- no workgroup available
Die Datei wird geöffnet mit:
xxxxxxxxxxtest@testgeraet: sudo nano /etc/fstab
und nur eine zusätzliche Zeile eingetragen. Ansonsten werden keine Veränderungen vorgenommen:
xxxxxxxxxx//IP-Serveradresse/Freigabeverzeichnis /home/nutzername/Mountpoint cifs credentials=/home/nutzername/.smbcredentials,uid=1000,gid=1000,rw,users,iocharset=utf8,vers=3.0,nofail,x-systemd.automount 0 0
Die Angaben IP-Serveradresse, Freigabeverzeichnis, Nutzername und Mountpoint sind den eigenen Verhältnissen anzupassen. Alle anderen Angaben sind für die Funktionalität beim Booten (kein Absturz) und beim Einhängen (Mount) notwendig.
Die id (uid, gid) lässt sich ermitteln mit
xxxxxxxxxxtest@testgeraet: id nutzername
Die Ausgabe kann so aussehen:
xxxxxxxxxxuid=1000(nutzer) gid=1000(nutzer) Gruppen=1000(nutzer),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),100(users),114(lpadmin)
Als Nutzer ist der jeweilige Nutzername angegeben.
Für den Funktionstest ohne Neustart folgendes Kommando ausführen:
xxxxxxxxxxtest@testgeraet: sudo mount -a
Wenn mehrere Client eingerichtet werden sollen, kann dies durch ein Bash-Script vereinfacht erfolgen:
xxxxxxxxxx#!/bin/bash## Mit Hilfe von KI erstellt ##set -e# === Konfiguration ===SERVER="//IP-Adresse/SAMBA-Share"MOUNTPOINT="/mnt/mountpoint" # optional: jedes beliebige leere Verzeichnis im DateisystemCREDENTIALS="/home/$USER/.smbcredentials"SMB_USER="nutzername" # Samba-BenutzernameFSTAB_OPTIONS="credentials=${CREDENTIALS},uid=$(id -u),gid=$(id -g),iocharset=utf8,vers=3.0,users,rw,x-systemd.automount,nofail"# === Schritt 0: Prüfen, ob cifs-utils installiert ist ===if ! command -v mount.cifs &>/dev/null; thenecho "[FEHLER] 'cifs-utils' ist nicht installiert."echo "Bitte installiere es mit:"echo " sudo apt install cifs-utils # Debian/Ubuntu"echo " sudo dnf install cifs-utils # Fedora"echo " sudo pacman -S cifs-utils # Arch"exit 1fi# === Schritt 1: Passwort abfragen ===read -sp "Samba Passwort für Benutzer ${SMB_USER}: " SMB_PASSecho# === Schritt 2: Mountpoint erstellen ===echo "[INFO] Erstelle Mountpoint: $MOUNTPOINT"mkdir -p "$MOUNTPOINT"# === Schritt 3: Credentials-Datei anlegen ===if [[ ! -f "$CREDENTIALS" ]]; thenecho "[INFO] Erstelle Credentials-Datei: $CREDENTIALS"cat <<EOF > "$CREDENTIALS"username=${SMB_USER}password=${SMB_PASS}EOFchmod 600 "$CREDENTIALS"elseecho "[INFO] Credentials-Datei existiert schon, aktualisiere Passwort."sed -i "s/^password=.*/password=${SMB_PASS}/" "$CREDENTIALS"fi# === Schritt 4: /etc/fstab Eintrag prüfen/ergänzen ===FSTAB_LINE="${SERVER} ${MOUNTPOINT} cifs ${FSTAB_OPTIONS} 0 0"if ! grep -q "${SERVER} ${MOUNTPOINT}" /etc/fstab; thenecho "[INFO] Füge Eintrag in /etc/fstab hinzu."echo "$FSTAB_LINE" | sudo tee -a /etc/fstab > /dev/nullelseecho "[INFO] fstab-Eintrag existiert bereits, überspringe."fi# === Schritt 5: Mounten ===echo "[INFO] Teste Mount..."sudo mount -aecho "[INFO] Fertig! Share ist eingebunden unter $MOUNTPOINT"
Mit einem (vorsichtigen) Ergänzen der Systemdatei fstab lässt sich die Arbeit mit einem HOMESERVER leichter gestalten.

Wolfgang Kirk

Veröffentlicht: 2025-09-02, 12:00 Uhr aktualisiert: