Inhaltsverzeichnis
einen Ordner des Datengartes (unter Linux) fest im Dateisystem mounten
Mit dem Mount Befehl bis zum nächsten Neustart
Voraussetzung ist dass das Paket cifs-utils installiert ist. Das kann geschehen indem der Befehl
sudo apt-get install cifs-utils
im Terminal eingegeben wird. Sollte das schon der Fall sein kann der Befehl auch verwendet werden um das festzustellen, dann werden einfach 0 Pakete installiert.
Am Beispiel des persönliches Ordners für Marcus. Leerzeichen müssen anstatt ' ' so '\ ' geschrieben werden.
sudo mount.cifs //192.168.1.8/04\ -\ Persönlich/Marcus /home/captainplanet/marcus/ -o username=marcus//
Zuerst wird nach dem Passwort für den Benutzer des Computers gefragt wegen sudo. Anschließend wird nach dem Passwort für den Samba-Benutzer gefragt.
Eine andere Form des Befehls ist
sudo mount -t cifs -o user=gunter,domain=kommintern.de,uid=1000,gid=1000 //192.168.1.8/03-SolawiKassel /home/gunter/SolawiKassel
-t ermöglich den Typ des Dateisystems anzugeben, cifs ist hier synonym für SMB oder auch Samba genannt, das Protokoll über das der Datengarten die Netzwerklaufwerke bereitstellt.
-o ermöglich Optionen anzugeben. Diese sind hier
user=gunter Benutzername der dem Server übermittelt wird
domain=kommintern.de Domäne, wird für den Benutzernamen ausgewertet, ist für Domänenbenutzer also auf kommintern.de zu setzen, da das unsere Windows Domäne ist
uid=1000 User ID des lokalen Benutzers der Eigentümer der Dateien sein soll.
gid=1000 Gruppen ID der lokalen Gruppe die Eigentümer der Dateien sein soll
Die korrekte Gruppen ID kann festgestellt werden indem in Terminal der Befehl id eingegeben wird. Der als erstes angelegte Benutzer eines Linux Systems hat immer die UID 1000 in der Gruppe mit der GID 1000
Die Verwendung von uid und gid ist nötig damit die Dateirechte korrekt gesetzt werden, sonst werden die Dateirechte nur simuliert, das kann bei manchen Linux-Programmen zu Fehlern führen.
So zum Beispiel bei der Vereinsverwaltung JVerein.
Dann folgt die Angabe des Servers mit vorangestellen und des freigegebenen Verzeichnisses, hier als Beispiel 192.168.1.8/03-SolawiKassel
Statt der IP Adresse kann auch die der FQDN = kompletter Domänenname des Servers verwendet werden, hier also datengarten.kommintern.de/03-SolawiKassel
Manpage des Mount Befehls auch lokal abrufbar über Eingabe man mount
im Terminal, dann aber nicht so übersichtlich.
Automatisches Mounten bei Systemstart über Eintrag in der Datei /etc/fstab
Hierzu wird der Datei eine solche Zeile hinzugefügt:
//192.168.1.8/03-SolawiKassel /home/gunter/SolawiKassel cifs credentials=/home/gunter/.smbZugang,uid=1000,gid=1000,_netdev,nofail 0 0
Nach dem letzten Eintrag der Datei muss eine Leerzeile folgen!
Dazu muss vorher die zum Speichern der Zugangsdaten verwendete Datei mit
nano /home/gunter/.smbZugang angelegt werden
Diese Datei muss folgenden Inhalt haben:
username=BENUTZER password=PASSWORD domain=DOMAIN
Hier müssen die jeweils korrekten Daten statt der Worte in Großbuchstaben eingetragen werden. Leerzeichen und manche Sonderzeichen im Passwort erfordern evtl. zusätzliche Maßnahmen:
Nach dem letzten Eintrag muss eine Leerzeile folgen.
hier sind die zusätzlichen Optionen
_netdev die Info dass das Gerät nur mit Netzwerkverbindung zur Verfügung steht, damit wird vermieden dass das mounten versucht wird bevor eine Netzwerkverbindung besteht
nofail bewirkt, dass bei einem Fehler das System nicht im Startvorgang hängt.
Nach einem Neustart des Systems oder nach Eingabe der Befehlszeile
sudo mount -a
sollte die Freigabe zur Verfügung stehen. Mit diesem Befehl erhält Mensch auch eine direkte Rückmeldung ob die Auswertung des Befehls geklappt hat. Wenn keine Rückmeldung kommt ist alles ok, sonst kann die Fehlermeldung zur Suche nach der Ursache genutzt werden. Damit kann getestet werden bevor ein Neustart erfolgt. Das ist vor allem wichtig wenn auf die Option nofail verzichtet wird, denn dann hängt das System ggf. beim Starten oder geht in einen Notfallmodus mit nur Konsole
Nachteile der Einbindung in fstab
Die Lösung funktioniert nur bei Rechnern mit einem Benutzer, denn die Verzeichnisse werden bei Systemstart mit der UID für einen User und dessen Passwort für den Datengarten eingehängt.
Eine Multiuserversion soll auch möglich sein mit der Option Multiuser in der Fstab, das müsste für Rechner mit mehreren Nutzern ausprobiert werden.
Das Passwort muss zudem im Klartext im Benutzerverzeichnis gespeichert werden, statt wie beim Automatischen mounten nach dem Anklicken der Netzwerkfreigabe das Passwort aus dem Passwortspeicher des Systems zu holen.
Damit ist es für alle Sudo Benutzer oder Admins sowie nach dem Starten mit einem Livesystem lesbar sofern nicht ein verschlüsseltes Benutzerverzeichnis verwendet wird.
Gewünscht wäre eigentlich eine Lösung über einen Startereintrag in den Benutzereinstellungen die auf den Systemspeicher für die Passwörte zugreift aber trotzdem die Freigabe in immer den gleichen Ort im Home Verzeichnis des Nutzers mountet.
Eine solche Lösung kann das Mounten über Gio / Gigolo des Gnome Desktops bieten (siehe unten).
Leider ist dabei aktuell (2024) kein Mapping der UID und somit keine Unterstützung für Programme die Dateiattribute benötigen möglich.
Diese ist zum Beispiel um Skripte auszuführen weil dann das „x“ für ausführbar mit übertragen werden muss. Dies betrifft bei uns die Vereinsverwaltung JVerein, deren Starter ein Skript ist.
Sie ist auch nötig für andere Programme die Dateiattribute benötigen oder ändern wollen. Das machen manche Programme auch standardmäßig beim schreiben von Dateien.
So zum Beispiel die Programmierumgebung Tapps2 für unsere Heizungsregler von Technische Alternative
Eine weitere Möglichkeit dieses Problem zu umgehen ist die Synchronisation der Dateien vom Datengarten mit Synology Drive. Diese Lösung macht nur Sinn wenn ohnehin gewünscht ist die Daten offline auf dem eigenen Rechner zur Verfügung zu haben. Dann ist sie aber sehr bequem, weil sozusagen automatisch mitgeliefert. „Gemountet“ bzw. eigentlich synchronisiert wird dann automatisch in ~/SynologyDrive/[Freigabename].
Ob die Dateirechte dabei mit übertragen werden müsste noch getestet werden.
Mounten über das Gnome Werkzeug Gio
Über das Werkzeug Gio, vormals gvfs (Gnome Virtual File System) lässt sich ein Netzwerklaufwerk per Befehl im Terminal oder in einem Skript sowie einem Autostart eintrag mounten. Damit kann also ein Mounten beim Login realisiert werden.
Großer Vorteil dabei: Wenn die selbe Freigabe schon mal über anklicken im Dateimanager gemounted wurde und dort „Passwort für immer speichern“ angeklickt wurde sollte das ohne angabe des Passworts gehen.
Grundsätzlich geht das Mounten durch Eingabe des Befehls:
gio mount smb://datengarten.kommintern.de/03-Verwaltung
dann erfolgt ggf. die Abfrage noch fehlender Infos:
Daten über credentials Datei angeben wie bei cifs
Diese Daten können aber auch von vorne herein angegeben werden. Das geht leider nicht über Befehlzeilenoptionen sondern es ist dazu eine Eingabedatei erforderlich die die Angaben in jeweils einer Zeile enthält.
Diese Datei könnte hier im Beispiel .giomount und im Homeverzeichnis liegen. Sie muss nacheinander in jeweils einer Zeile mit Enter am Ende die gewünschten Eingaben enthalten:
panja kommintern.de passwort
Dann können diese Daten an das Werkzeug weitergegeben werden mit
gio mount smb://datengarten.kommintern.de/03-Verwaltung <.giomount
Nachteil ist wie bei cifs die Angabe des Passwortes im Klartext.
Die Lösung: gio mount ohne Passwortabfrage!
Eigentlich sollte sich gio mount das Passwort doch aus dem Gnome Keyring holen nachdem die Freigabe einmal im Dateimanager grafisch eingehängt und beim Passwort „für immer merken“ angegeben wurde. Die Passwort Zeile leer lassen geht leider nicht.
Die Lösung ist verblüffend einfach aber leider nirgends wirklich klar dokumentiert:
Der Freigabename muss im Terminal genau so eingegegen werden wie er nach dem automatischen mounten nach Anklicken der Freigabe im Dateimanager erscheint.
Also nicht etwa
gio mount smb://datengarten.kommintern.de/03-Verwaltung
Das führt dazu dass erneut das Passwort abgefragt wird. (Siehe Screenshot unten im Terminal). Statt dessen ist
gio mount smb://datengarten.local/03-Verwaltung
zu verwenden. Dann wird kein Passwort abgefragt. Der Unterschied zwischen der Anzeige der beiden Freigaben im Dateimanager ist auch zu sehen. Es ist aber nicht zu empfehlen beide Varianten, wie hier geschehen, zu kombinieren. Es kam im Test vor, dass dann auf beide Freigaben bis zu einem Neustart nicht mehr zugegriffen werden konnte.
Eintragen als Startprogramm bei Linux Mint
Damit der Befehl auch automatisch beim Login ausgeführt wird kann er einfach bei Linux Mint als Startprogramm eingegeben werden:
Im Startmenü Einstellungen→Startprogramme aufrufen. Dort die Schaltfläche + anklicken. Dann ähnliche Angaben wie im Bild machen:
Nutzung des grafischen Werkzeugs Gigolo
Der selbe Effekt kann auch verwendet werden indem statt gio mount als Autostartbefehl zu verwenden das graphische Werkzeug Gigolo installiert wird.
Die Freigabe muss dort als Lesezeichen eingetragen werden und mit „Automatisch Einhängen“ konfiguriert werden.
Dann muss Gigolo aber auch als Programm im Autostart gestartet werden, dies kann mit der Option „Verkleinert im Benachrichtigungsbereich starten“ einigermaßen ohne zu stören erfolgen. Es ist aber trotzdem eben ein unnötiges Programm mehr.
Daher ist die Version über den Mount Befehl direkt als Startprogramm mehr zu empfehlen.
Quellen
Infos zur Einbindung von Samba Freigaben über fstab
Ubuntuusers Wiki zu fstab
Arch Linux Wiki über die Optionen von fstab
Infos zum mounten mit cifs
https://wiki.ubuntuusers.de/mount.cifs/
Share benutzerspezifisch mit SystemD mounten
Mounte über gio_mount (früher gvfs)
https://wiki.ubuntuusers.de/gio_mount/