Raspberry Pi Windows Freigabe beim Booten automatisch mounten
Aus znilwiki
Changelog:
- 03.11.2017: Erste Version, basierend auf meinem Artikel für Ubuntu 14.04 vom 08.12.2014
Problem
Für Backup-Zwecke musste ich auf einem Raspberry Pi automatisch beim hochfahren eine Windows Freigabe mounten.
In der Bash kann ich eine Freigabe wie folgt mounten:
mkdir /mnt/Backup mount -t cifs //192.168.10.111/Backup /mnt/Backup -o user=administrator,domain=znil,pass=passw0rd
In diesem Beispiel wird sich mit der Windows-Freigabe Backup auf dem Server 192.168.10.111 verbunden.
Als Benutzer dient der Domänenbenutzer ZNIL\Administrator
mit dem Passwort passw0rd
.
Hinweis: ggf. müsst Ihr vorher noch
sudo apt-get install cifs-utils
ausführen damit er das kann! (Waren bei mir im aktuellen Raspbian Stretch Image schon installiert)
Falls er Probleme beim Mounten hat kann das an der Cifs-Version liegen - Inzwischen ist auf vielen Windows Servern die Version 1 abgeschaltet und es geht nur noch mit Version 2 oder 3.
Windows verwendet die folgenden Versionen:
SMB 1.0 ..: Windows 2000 SMB 2.0 ..: Windows Server 2008 und Windows Vista SP1 SMB 2.1 ..: Windows Server 2008 R2 und Windows 7 SMB 3.0 ..: Windows Server 2012 und Windows 8 SMB 3.0.2 : Windows Server 2012 R2 und Windows 8.1 (NICHT nutzbar!) SMB 3.1.1 : Windows Server 2016 und Windows 10 (NICHT nutzbar!)
Der obige Befehl mit SMB Version 2.1 (für eine Freigabe auf einem Windows Server 2008 R2):
mount -t cifs //192.168.10.111/Backup /mnt/Backup -o user=administrator,domain=znil,pass=passw0rd,vers=2.1
Ihr solltet die höchstmögliche Nummer/Version wählen - beachtet das nur die Fett gedruckten Versionen (cifs-utils Version 4.5) zulässig sind, 3.0.2 und 3.1.1 funktionieren (noch) nicht.
Die unterstützen Versionen findet Ihr auch in der Hilfe:
man mount.cifs
So, nun das ganze automatisch beim Start des Servers:
Eintrag in die /etc/fstab
Wir bearbeiten die /etc/fstab
nano /etc/fstab
und füge an das Ende die folgende Zeile:
//192.168.10.111/Backup /mnt/Backup cifs username=administrator,domain=znil,password=passw0rd,vers=2.1,sec=ntlm 0 0
Nach einem Reboot sollte der Mount ebenfalls zur Verfügung stehen. Bitte beachtet die Ergänzung der SMB-Version
Es geht auch sofort per
mount -a
Die /etc/fstab kann nun aber jeder Benutzer sehen - und damit den Benutzername und das Passwort. Wenn Ihr den Raspberry alleine verwendet - kein Problem.
Aber wer will kann die Anmeldedaten in eine eigene Datei auslagern die nur der root lesen kann:
touch /root/.smbcredentials nano /root/.smbcredentials
mit folgenden Inhalt:
username=administrator domain=znil password=passw0rd
Danach ein
chmod 600 /root/.smbcredentials chown root:root /root/.smbcredentials
Die Zeile in der /etc/fstab muss wie folgt aussehen:
//192.168.10.111/Backup /mnt/Backup cifs credentials=/root/.smbcredentials,sec=ntlm 0 0
Gefunden unter: https://wiki.ubuntu.com/MountWindowsSharesPermanently und um Domäne ergänzt
Netz und doppelter Boden
Es kann passieren das beim dem Booten das Mounten nicht klappt. In der Regel liegt es daran das er das Mounten schon versucht obwohl das Netzwerk noch nicht so weit war. Bei den neuen Stretch bsierten Image kam es mir gleich länger vor bis das System über das Netzwerk erreichbar war.
Die Lösung? Nehmt die /etc/fstab
Lösung und erstellt den folgenden cronjob:
sudo crontab -e
und dann folgende Zeile anhängen:
@reboot sleep 120 && mount -a
Damit wartet er 120 Sekunden und führt dann noch einmal das mounten aus. Wenn schon alles da ist passiert auch nichts, wenn was fehlt versucht er es nachzuholen.
Die Zeit könnt Ihr natürlich anpassen.
Oder mehrere Einträge mit verschiedenen Zeiten machen.