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:
xxxxxxxxxx
test@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
xxxxxxxxxx
test@testgeraet: nano ./smbcredentials
mit dem Inhalt:
xxxxxxxxxx
username=Nutzername in SAMBA
password=SAMBA-Passwort
domain=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:
xxxxxxxxxx
test@testgeraet: chmod 600 /home/nutzername/.smbcredentials
Auf dem HOMESERVER werden die Freigaben angezeigt mit:
xxxxxxxxxx
test@testgeraet: smbclient -L //IP-Serveradresse -U nutzername in SAMBA
Die Ausgabe kann so aussehen:
xPassword for [WORKGROUP\nutzername]:
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
BACKUP Disk smb share
MEDIEN Disk smb share
IPC$ IPC IPC Service (datenbackup server (Samba, Ubuntu))
SMB1 disabled -- no workgroup available
Die Datei wird geöffnet mit:
xxxxxxxxxx
test@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
xxxxxxxxxx
test@testgeraet: id nutzername
Die Ausgabe kann so aussehen:
xxxxxxxxxx
uid=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:
xxxxxxxxxx
test@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 Dateisystem
CREDENTIALS="/home/$USER/.smbcredentials"
SMB_USER="nutzername" # Samba-Benutzername
FSTAB_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; then
echo "[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 1
fi
# === Schritt 1: Passwort abfragen ===
read -sp "Samba Passwort für Benutzer ${SMB_USER}: " SMB_PASS
echo
# === Schritt 2: Mountpoint erstellen ===
echo "[INFO] Erstelle Mountpoint: $MOUNTPOINT"
mkdir -p "$MOUNTPOINT"
# === Schritt 3: Credentials-Datei anlegen ===
if [[ ! -f "$CREDENTIALS" ]]; then
echo "[INFO] Erstelle Credentials-Datei: $CREDENTIALS"
cat <<EOF > "$CREDENTIALS"
username=${SMB_USER}
password=${SMB_PASS}
EOF
chmod 600 "$CREDENTIALS"
else
echo "[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; then
echo "[INFO] Füge Eintrag in /etc/fstab hinzu."
echo "$FSTAB_LINE" | sudo tee -a /etc/fstab > /dev/null
else
echo "[INFO] fstab-Eintrag existiert bereits, überspringe."
fi
# === Schritt 5: Mounten ===
echo "[INFO] Teste Mount..."
sudo mount -a
echo "[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: