Fedora-Laptop
autofs, CIFS & Sync-Dienst
Einrichtung und Betrieb auf DEFNLT0332
Stand: April 2026
1. Überblick
[Bearbeiten | Quelltext bearbeiten]Diese Dokumentation beschreibt die vollständige Einrichtung von:
- autofs – automatisches Einbinden von CIFS/Samba-Shares
- CIFS-Mount – Verbindung zum Samba-Server 172.24.1.30
- Sync-Dienst – automatische Synchronisation nach Systemstart
2. Voraussetzungen
[Bearbeiten | Quelltext bearbeiten]Folgende Pakete müssen installiert sein:
sudo dnf install autofs cifs-utils rsync samba-client
3. Credentials-Datei
[Bearbeiten | Quelltext bearbeiten]3.1 Inhalt
[Bearbeiten | Quelltext bearbeiten]Die Credentials-Datei enthält Benutzername und Passwort für den Samba-Server. Wichtig: Die Domain wird NICHT als eigene Zeile angegeben, sondern direkt an den Benutzernamen angehängt.
# /home/hhepting/Schreibtisch/Hotline/credentials/smb-credentials-avi.txt
username=DOMAIN\benutzername
password=PASSWORT
⚠ Keine domain=-Zeile verwenden! Das führt zu 'Permission denied (13)' beim Mount.
3.2 Berechtigungen absichern
[Bearbeiten | Quelltext bearbeiten]chmod 600 /home/hhepting/Schreibtisch/Hotline/credentials/smb-credentials-avi.txt
3.3 Verbindung testen
[Bearbeiten | Quelltext bearbeiten]smbclient -L //172.24.1.30 -A /home/hhepting/Schreibtisch/Hotline/credentials/smb-credentials-avi.txt
4. autofs-Konfiguration
[Bearbeiten | Quelltext bearbeiten]4.1 /etc/auto.master
[Bearbeiten | Quelltext bearbeiten]Folgenden Eintrag in /etc/auto.master hinzufügen (oder sicherstellen dass er vorhanden ist):
/mnt/cifs /etc/auto.cifs --timeout=60 --ghost
| --timeout=60 | Unmount nach 60 Sekunden Inaktivität |
| --ghost | Mountpunkt bleibt sichtbar auch wenn nicht gemountet |
4.2 /etc/auto.cifs
[Bearbeiten | Quelltext bearbeiten]Vollständiger Inhalt der Datei /etc/auto.cifs:
projekte -fstype=cifs,credentials=/home/hhepting/Schreibtisch/Hotline/credentials/smb-credentials-avi.txt,\
uid=1000,gid=1000,iocharset=utf8,file_mode=0664,dir_mode=0775 ://172.24.1.30/projekte/
maintenance -fstype=cifs,credentials=/home/hhepting/Schreibtisch/Hotline/credentials/smb-credentials-avi.txt,\
uid=1000,gid=1000,iocharset=utf8,file_mode=0664,dir_mode=0775 ://172.24.1.30/projekte/Maintenance
| fstype=cifs | Dateisystemtyp Samba/CIFS |
| credentials=... | Pfad zur Credentials-Datei |
| uid=1000 / gid=1000 | Besitzer der gemounteten Dateien (ggf. anpassen) |
| iocharset=utf8 | Zeichenkodierung für Umlaute |
| file_mode=0664 | Standardberechtigungen für Dateien |
| dir_mode=0775 | Standardberechtigungen für Verzeichnisse |
4.3 autofs aktivieren und starten
[Bearbeiten | Quelltext bearbeiten]sudo systemctl enable autofs
sudo systemctl start autofs
4.4 Nach Konfigurationsänderungen
[Bearbeiten | Quelltext bearbeiten]⚠ Vor dem Neustart unbedingt aus dem /mnt/cifs-Verzeichnis herauswechseln, sonst bleibt der Mount 'busy'.
cd /
sudo systemctl restart autofs
5. Automatischer Sync-Dienst
[Bearbeiten | Quelltext bearbeiten]5.1 Skript /usr/local/bin/sync-cifs.sh
[Bearbeiten | Quelltext bearbeiten]Das Skript synchronisiert beim Systemstart eine Liste von CIFS-Verzeichnissen in lokale Zielverzeichnisse.
#!/bin/bash
LOGFILE="/var/log/sync-cifs.log"
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
# Liste der Sync-Jobs: "QUELLE|ZIEL"
SYNC_JOBS=(
"/mnt/cifs/projekte/Maintenance|/home/hhepting/Schreibtisch/Hotline/Maintenance"
# Weitere Einträge nach dem gleichen Schema:
# "/mnt/cifs/projekte/AndererOrdner|/home/hhepting/Schreibtisch/AndererOrdner"
)
echo "[$TIMESTAMP] Starte Synchronisation..." >> "$LOGFILE"
for JOB in "${SYNC_JOBS[@]}"; do
SRC="${JOB%%|*}"
DST="${JOB##*|}"
if [ ! -d "$SRC" ]; then
echo "[$TIMESTAMP] FEHLER: Quelle nicht erreichbar: $SRC" >> "$LOGFILE"
continue
fi
mkdir -p "$DST"
rsync -av --delete "$SRC/" "$DST/" >> "$LOGFILE" 2>&1
STATUS=$?
if [ $STATUS -eq 0 ]; then
echo "[$TIMESTAMP] OK: $SRC -> $DST" >> "$LOGFILE"
else
echo "[$TIMESTAMP] FEHLER (rsync $STATUS): $SRC -> $DST" >> "$LOGFILE"
fi
done
echo "[$TIMESTAMP] Synchronisation abgeschlossen." >> "$LOGFILE"
Skript ausführbar machen:
sudo chmod +x /usr/local/bin/sync-cifs.sh
5.2 Logfile anlegen
[Bearbeiten | Quelltext bearbeiten]sudo touch /var/log/sync-cifs.log
sudo chown hhepting:hhepting /var/log/sync-cifs.log
5.3 Systemd-Unit /etc/systemd/system/sync-cifs.service
[Bearbeiten | Quelltext bearbeiten][Unit]
Description=Synchronisiert CIFS-Shares nach lokalem Verzeichnis
After=autofs.service network-online.target
Requires=autofs.service
Wants=network-online.target
[Service]
Type=oneshot
ExecStartPre=/bin/sleep 5
ExecStart=/usr/local/bin/sync-cifs.sh
User=hhepting
StandardOutput=journal
StandardError=journal
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
ℹ ExecStartPre=/bin/sleep 5 gibt autofs etwas Zeit zum Initialisieren bevor der Sync startet.
5.4 Dienst aktivieren
[Bearbeiten | Quelltext bearbeiten]sudo systemctl daemon-reload
sudo systemctl enable sync-cifs.service
sudo systemctl start sync-cifs.service
6. Weitere Sync-Jobs hinzufügen
[Bearbeiten | Quelltext bearbeiten]Um einen weiteren Ordner zu synchronisieren, in /usr/local/bin/sync-cifs.sh die SYNC_JOBS-Liste erweitern:
SYNC_JOBS=(
"/mnt/cifs/projekte/Maintenance|/home/hhepting/Schreibtisch/Hotline/Maintenance"
"/mnt/cifs/projekte/NeuerOrdner|/home/hhepting/Schreibtisch/NeuerOrdner"
)
Danach den Dienst neu starten:
sudo systemctl restart sync-cifs.service
7. Diagnose & Fehlerbehebung
[Bearbeiten | Quelltext bearbeiten]7.1 autofs-Log
[Bearbeiten | Quelltext bearbeiten]journalctl -u autofs -n 50 --no-pager
7.2 autofs im Vordergrund (verbose)
[Bearbeiten | Quelltext bearbeiten]sudo systemctl stop autofs
sudo automount -f -v -d 2>&1 | head -60
# In zweitem Terminal:
ls /mnt/cifs/projekte/
7.3 Direkter Mount-Test
[Bearbeiten | Quelltext bearbeiten]sudo mount -t cifs //172.24.1.30/projekte /mnt/cifs/projekte \
-o credentials=/home/hhepting/Schreibtisch/Hotline/credentials/smb-credentials-avi.txt,\
uid=1000,gid=1000,iocharset=utf8
7.4 Sync-Log prüfen
[Bearbeiten | Quelltext bearbeiten]tail -f /var/log/sync-cifs.log
sudo systemctl status sync-cifs.service
7.5 Häufige Fehler
[Bearbeiten | Quelltext bearbeiten]| Permission denied (13) | Falsche Credentials oder domain= in der Credentials-Datei |
| key not found in map | Pfad zu auto.cifs falsch oder Datei nicht lesbar |
| busy beim Restart | Erst 'cd /' ausführen, dann systemctl restart autofs |
| Unable to open credentials file | Tippfehler im Pfad zur Credentials-Datei prüfen |