Weitere Informationen: Mount Windows Shares Permanently
Im Netzwerk erreichbare und freigegebene Ordner können mittels Benutzername und Passwort auch direkt in eine Linux-Distribution eingebunden werden. Hierfür wird das cifs-utils Paket benötigt:
$ sudo apt-get install cifs-utils
Des Weiteren wird vom bereitstellenden System (in meinem Falle FreeNAS) ein Benutzer mit Passwort benötigt, welcher auf die Zielnetzwerkressource mindestens Lesezugriff hat. Zum verwenden der Login-Daten muss zuerst eine Passwort-Datei im home-Verzeichnis des Linux-Benutzers erstellt werden:
$ nano /home/BENUTZER/.smb_pwfile
In dieser Datei können nun Benutzername, sowie Passwort dem cifs-utils Paket bereitgestellt werden. Gebraucht wird diese Datei im nächsten Schritt.
# Credentials for accessing the network share
username=FS_BENUTZERNAME
password=FS_PASSWORT
Die Rechte dieser Datei sollten so angepasst werden, dass sie nur vom aktuellen Benutzer aus gelesen und beschrieben werden kann. Hierfür kann chmod benutzt werden:
$ chmod 600 .smb_profile
Nun muss ein Ordner erstellt werden, welcher als Einbindepunkt in das Linux-System dient. In diesem Beispiel wird der Einbindepunkt (mount point) in folgendem Ordner sein, welcher direkt angelegt werden kann:
$ sudo mkdir /mnt/share
Im nächsten Schritt wird die mount-Datei des Betriebssystems mit einem neuen Eintrag versehen, welcher die Netzwerkressource beim booten des Zielbetriebssystems automatisch einbindet. Hierfür muss die folgende Datei geöffnet werden:
$ sudo nano /etc/fstab
Als nächstes wird nun der gewünschte Netzwerkpfad in einer neuen Zeile ans Ende der Datei angefügt. Hier können auch Domainnamen verwendet werden, sofern der DNS-Server im Netzwerk diese auflösen kann. Direkt danach, durch ein Leerzeichen getrennt, wird der oben erstellte Einbindepunkt (mount point) mit angegeben. Es folgt dann noch der Pfad der oben angelegten Passwort-Datei, welche zur Authentifizierung am Bereitstellungsserver benutzt wird.
# /etc/fstab: static file system information.
#
# (...)
# Network Shares
//192.168.xx.xxx/_NETZWERK_PFAD /mnt/share cifs credentials=/home/BENUTZER/.smb_pwfile
Es ist darauf zu achten, dass keine Backslashes in der Netzwerkadresse genutzt werden! Das Laufwerk lässt sich dadurch zwar mounten, ist dann aber beim Neustart nicht mehr verfügbar.
Nun sind alle Einstellungen erledigt. Durch einen Systemneustart sind die bereitgestellten Daten im Zielverzeichnis erreichbar. Alternativ kann die Konfiguration durch folgenden Befehl neu geladen werden, ohne das System neuzustarten:
$ sudo mount -a
Standartmäßig werden alle mounts im Namen des root-Benutzers getätigt. Um dies zu ändern, kann man in der fstab-Datei die Benutzer-ID des gewünschten Benutzers mit als Parameter angeben. Um an Informationen über alle Benutzer (und somit auch an die jeweiligen Benutzer-ID's) zu gelangen, kann folgender Befehl genutzt werden:
$ cat /etc/passwd
Dies führt zu folgendem Output. Der dritte, durch Doppelpunkte getrennte Wert, spiegelt die Benutzer-ID des jeweiligen Benutzers wieder.
user1:x:1000:1000:This is user1's description,,,:/home/user1:/bin/bash
Ein Beispiel für einen fstab-Eintrag mit angegebener Benutzer-ID würde dann wie folgt ausschauen. Der Rest der Konfiguration erfolgt analog zum obigen Teil.
# /etc/fstab: static file system information.
#
# (...)
# Network Shares
//192.168.xx.xxx/_NETZWERK_PFAD /mnt/share cifs uid=1000,credentials=/home/BENUTZER/.smb_pwfile
Mithilfe des Link-Befehls kann ein symbolic link auf den Netzwerkordner auf dem Desktop oder einem anderen beliebigen Ordner abgelegt werden:
$ ln -s /mnt/share ~/Desktop/share