Aktionen

Linux - Ubuntu 14.04. Windows Freigabe mounten - beim Booten automatisch mounten

Aus znilwiki

  • 08.12.2014: Erste Version
  • 03.11.2017: Ergänzt um SMB Version

Problem

Für Backup-Zwecke musste ich auf einem LINUX-Server 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: gf. müsst Ihr vorher noch

sudo apt-get install cifs-utils

ausführen damit er das kann!

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 - Windows 2000
SMB 2 - Windows Server 2008 and Windows Vista SP1
SMB 2.1 - Windows Server 2008 R2 and Windows 7
SMB 3.0 - Windows Server 2012 and Windows 8

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


So, nun das ganze automatisch beim Start des Servers:


Variante 1: per Script

Script erstellen

unter

/etc/init.d

habe ich ein neues Script mit dem Namen

mountbackup

erstellt:

nano /etc/init.d/mountbackup

Inhalt:

#! /bin/sh
### BEGIN INIT INFO
# Required-Start: $network
# Provides:       mountbackup
# Required-Stop:
# Default-Start:  2 3 4 5
# Default-Stop:   0 1 6
# Description:    Mountet / unmountet den Backup-Ordner
### END INIT INFO
#
# Author:       Bernhard Linz <Bernhard.Linz@datagroup.de>
#


case "$1" in
  start)
        echo "Mounte Backup Ordner"
        mkdir /mnt/Backup 2> /dev/null
        # mount -t cifs //SERVER/FREIGABE/ORDNER /mnt/Backup/ -o user=BENUTZERNAME,domain=DOMAIN,pass=PASSWORD
        # mit SMB Version:
        mount -t cifs //SERVER/FREIGABE/ORDNER /mnt/Backup/ -o user=BENUTZERNAME,domain=DOMAIN,pass=PASSWORD,vers=2.1
    ;;
  stop)
        echo "Unmounte Backup Ordner"
        umount /mnt/Backup
    ;;
  force-reload|restart)
    $0 stop
    $0 start
    ;;
  *)
    echo "Usage: /etc/init.d/mountbackup {start|stop|restart}"
    exit 1
    ;;
esac

exit 0

Für SERVER, FREIGABE, ORDNER, BENUTZERNAME, PASSWORT und DOMAIN müsst ihr natürlich eure Werte angeben.
Falls das Ziel nicht in eienr Domäne ist, entfernt domain= ganz oder gebt den NetBIOS-Namen des Ziels an. Wie man sehen kann erstelle ich zuvor einen Ordner "Backup" unterhalb von /mnt und nutze diesen als Ziel.
Im Kopf ist angegeben das er auf das Netzwerk warten soll bevor er startet.
Das Passwort für die Freigabe sollte sollte keine Sonderzeichen nutzen die man auch in der Bash nutzt.

Mit

chmod +x /etc/init.d/mountbackup

machen wir die noch Ausführbar.


Automatischen Start einrichten

Das Script heist ja (inklusive Pfad)

/etc/init.d/mountbackup

mit

update-rc.d mountbackup defaults 10

wird es in den Bootvorgang mit aufgenommen.



Variante 2: per 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.
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.


Kommentare

Loading comments...