Aktionen

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

1 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:


2 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



3 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.


4 Kommentare


Kommentar hinzufügen
znilwiki freut sich über alle Kommentare. Sofern du nicht anonym bleiben möchtest, trage deinen Namen oder deine Email-Adresse ein oder melde dich an. Du kannst das Feld auch einfach leer lassen.