• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst]Netzlaufwerk per Script einbinden

Hallo zusammen,

ich möchte ein Netzlaufwerk per Script in mein Linuxsystem einbinden. Das wird nur gelegentlich benötigt. Daher gleich vorweg: Ich benötige keine Anleitung für die automatische Einbindung per /etc/fstab oder per Konsole. Beide Methoden sind mir bekannt und funktionieren einwandfrei. Da ich das Laufwerk nur gelegentlich benötige, kam mir vor einigen Tagen der Einfall, dass ich den mount-Befehl in ein Script schreiben könnte, einen Link dieses Scripts in meinen Homeordner / Startmenü lege und bei Notwendigkeit anklicke, so dass die Verbindung hergestellt wird. Wie bereits gesagt, per Aufruf über /etc/fstab funktionierts, aber da ist das ja ständig eingebunden. Ebenso funktioniert das Mounten über die Root-Konsole. Das ist mir aber zu umständlich. :-? Gibt es eine Möglichkeit, meinen Gedanken umzusetzen und wenn ja, wie müsste das aussehen. Ich hab schon einige Möglichkeiten gefunden, aber je weiter ich in die Thematik eintauche, desto mehr verwirrt mich die Anzahl der Argumente, Befehle usw. Ich glaub, da bin ich überfordert.
Dank im Voraus!
willithepimp
 

susejunky

Moderator
Teammitglied
Hallo willithepimp,

meinen NAS (mehrere SAMBA-Shares) binde ich auch mit Hilfe eines Scripst ein und kann die Verbindung auch wieder per Script trennen. Beide Scripts habe ich anhand von .desktop-Dateien in meine grafische Oberfläche (KDE) integriert. Die Scripts sind so gestaltet, dass sie von "normalen" Benutzern genutzt werden können. Je nach dem wie komfortabel/fehlertolerant das Script sein soll, kann man - außer dem eigentlichen Laufwerk-Einbinden - auch noch folgende Sachverhalte im Script abprüfen/-handeln:

  1. - Prüfen, ob alle erforderlichen Programme (insbesondere das Programm für den grafischen Dialog) installiert sind und ob eine Log-Datei geschrieben werden kann.
    - Prüfen, ob ein grafischer Desktop aktiv ist (der mit dem Dialog-Programm harmoniert)
    - Prüfen, ob der Server erreichbar ist, ggf. versuchen den Server aufzuwecken.
    - Prüfen, ob der mount-Punkt existiert und genutzt werden kann.
    - Die Benutzereingaben auf Sinnhaftigkeit prüfen.
Damit mein Script von einem "normalen" Benutzer genutzt werden kann, verwende ich "sudo" um im Script Admin-Rechte für das Einbinden (mount) des Laufwerks zu erhalten. Die Server-Anmeldeinformationen frage ich über einen Benutzerdialog (kdialog) ab. Die Server-IP und den Mount-Punkt habe ich im Script als Konstanten definiert. Aber auch hier führen auch wieder mehrere Wege ans Ziel. Grundsätzlich können erforderliche Informationen immer

  • - vom Benutzer per Dialog abgefragt oder
    - aus kwallet oder
    - aus einer Datei gelesen werden.
Je nach Geschmack, Sicherheitsanforderungen und Lust am Programmieren. Überlege Dir, was Du alles gerne realisieren möchtest. Hier eine Liste der Programme, die Du ggf. einsetzen kannst:

  • - test, z.B. um zu prüfen, ob alle erforderlichen Programme und Verzeichnisse vorhanden sind
    - ping, um zu prüfen, ob der Server erreichbar ist
    - wol, um den Server zu starten (falls der das zulässt!)
    - sleep, um zu warten, bis der Server gestartet ist oder bis der Mountbefehl erfolgreich war
    - kdialog, für den Dialog mit dem Benutzer
    - kwallet, als Kennwortspeicher
    - qdbus, um auf kwallet zuzugreifen
    - sudo, um den mount-Befehl als normaler Benutzer nutzen zu können
    - mount/umount, zum Einbinden der Laufwerke
Am besten fängst Du einfach einmal an und fragst dann hier wieder nach, wenn Du an einem Punkt nicht weiter kommst.

Viele Grüße

susejunky
 

marce

Guru
wieso nicht einfach in der fstab mit noauto und user/users? Ich glaube, genau für den Einsatzzweck hat das mal jemand von 2400 Jahren erfunden...
 
OP
willithepimp

willithepimp

Member
Danke für die beiden Antworten. Aber das ist nicht das, was ich wissen will!
Ich stelle mir vor, den mount-Befehl in ein kleines Script zu schreiben, um durch einen Klick die Verbindung herzustellen. Wie bereits oben vermerkt, sind mir die Syntax für das Mounten und auch die Benutzerrechte usw. bekannt. Es geht hier nur darum, das Prozedere einfacher zugänglich zu machen, ohne per /etc/fstab dauerhaft zu mounten. Falls meine Vorstellung überhaupt umsetzbar ist.
 

marce

Guru
Na, dann pack den Befehl für den Mount doch einfach in ein Script (im Idioten-Modus 2 Zeilen, mit ein wenig Sicherheit und Komfort drumherum ein paar Zeilen mehr, je nach Wunsch) und lege dazu einen Starter oder Icon auf dem Desktop an.

Wo liegt das konkrete Problem?

Alternativ könnte man auch automount in's Rennern werfen, aber das willst Du vermutlich auch nicht haben, wobei es Deiner Idee des "möglichst einfach für den User" am nächsten kommen würde.
 
OP
willithepimp

willithepimp

Member
Um es genau zu sagen, weil ich zu blöd bin.
Ich hab das schon probiert, aber es funktionierte nicht. Der Aufruf erzeugte nur ein Fenster in dem gefragt wird, mit welchem Programm ich das Script öffnen will. Ich scheine da einen grundlegenden Fehler zu machen.
Meine Vorgehensweise: Texteditor - mount-Befehl (wie ich ihn auch auf der Konsole verwende) reinschreiben und abspeichern als nasverbindung.sh. Genau hier gehen für mich die Fragen los. Woher "weiss" Linux, dass das Script in der Bash geöffnet werden soll? Ich habe schon einiges im Netz gefunden, dennoch sehe ich scheinbar den Wald vor lauter Bäumen nicht. :???:
 

muck19

Hacker
willithepimp schrieb:
Woher "weiss" Linux, dass das Script in der Bash geöffnet werden soll?
daran, dass in deinem skript die erste Zeile mit
Code:
#!/bin/bash
beginnt.
Danach dann deine Befehle eintragen.

Gruss
Michael
 

marce

Guru
... und dann das Script noch ausführbar machen.

Das konkrete, ideale Vorgehen für das "Klick auf Icon tut was es soll" hängt dann aber noch ein wenig davon ab, welche Desktop-Oberfläche benutzt wird.
 
OP
willithepimp

willithepimp

Member
Hallo alle zusammen!
Vielen Dank für Eure Hilfe. Wie schon gesagt, wenn man den Wald vor lauter Bäumen nicht sieht.... Natürlich muss ich mein Script auch ausführbar machen. Dann funzt es auch! :D
muck19 bestätigte meine Eingabe und marce gab den entscheidenden Tipp. Den Lesestoff von josef-wien kannte ich schon und hatte ihn bereits genutzt.
spoensche machte mich mit:
Mit autofs aka automounter kannst du dir das Script sparen und trotzdem userbezogen mounten.
auf eine Möglichkeit aufmerksam, die mir noch unbekannt ist. Ich denke, dem werde ich mal nachgehen.
Vielen Dank!
 
Oben