Hallo zusammen,
ich möchte ein Mini-Shell-Script erstellen, dass einige Ordner eines entfernten Rechners in mein Dateisystem einhängt. Bisher habe ich das mit nur einem Verzeichnis und folgendem Kommando gemacht:
sudo mount -t cifs -o username=monika //<IP>/verwaltung-syn /home/mkeil/verwaltung-syn
Hierfür habe ich sowohl das root-Passwort als auch das Passwort für das entfernte Verzeichnis eingegeben.
Jetzt möchte ich weitere Verzeichnisse "in einem Rutsch" mounten und nicht für jedes Verzeichnis das Passwort für das entfernte Verzeichnis eingeben müssen. Das Passwort direkt ins Shell-Script zu schreiben wäre eine Möglichkeit, aber ich scheue mich etwas davor, das im Klartext im Shell-Script stehen zu lassen. Eine andere Möglichkeit ist die "credentials"-Datei, aber auch hier steht meines Wissens das Passwort im Klartext da.
Gibt es eine elegante, aber zugleich einfache Lösung für das Problem? Oder mache ich mir mehr Gedanken um die Sicherheit der Passwörter als nötig?
Vielen Dank schon jetzt und viele Grüße Monika Keil (monika.keil@tu-dresden.de)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Dipl.-Ing.(FH) Monika Keil
Sekretariat Dr.-Ing. Stefan Löhnert Technische Universität Dresden, Fakultät Bauingenieurwesen, Institut für Mechanik und Flächentragwerke
Assistant to Dr.-Ing. Stefan Löhnert TU Dresden, Faculty of Civil Engineering, Institute of Mechanics and Shell Structures
Büroadresse: August-Bebel-Straße 30 01219 Dresden Ebene 3, Zimmer 03-018
Postadresse: Technische Universität Dresden Fakultät Bauingenieurwesen 01062 Dresden
Tel.: +49 351 463-43247 Fax : +49 351 463-43235 E-Mail: monika.keil@tu-dresden.de ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Zunächst würde ich vorschlagen, all deine `mount …`-Befehle ohne `sudo` in dein Script zu schreiben, und dann das Script mit `sudo ./myscript.sh` aufzurufen, aber das ist eher Geschmackssache.
Das Passwort für deinen CIFS-User könntest du als Variable übergeben, zum Beispiel so:
mount -t cifs -o "username=monika,password=$1" //<IP>/verwaltung-syn /home/mkeil/verwaltung-syn
und dann das Script mit `sudo ./myscript.sh HIERDASPASSWORT` starten. Das hat aber den Nachteil, dass du das PW im Klartext in die Kommandozeile schreibst und es danach auch in der Bash History im Klartext rumliegt.
Du kannst auch dein Script das Passwort abfragen lassen:
#!/usr/bin/env bash echo -n CIFS Password: read -s cifsPW echo #just a newline mount -t cifs -o "username=monika,password=$cifsPW" //<IP>/verwaltung-syn /home/mkeil/verwaltung-syn
Nun sollte das Script bei Aufruf mit `sudo ./myscript.sh` erst dein lokales und dann das CIFS-Passwort abfragen.
Im Optimalfall hast du aber einen Passwort-Manager, den du mit Hilfe einer Kommandozeilen-API verwenden kannst, zum Beispiel pass[1], denn dann kannst du das Script so schreiben:
cifsPW=$(pass verwaltung-syn/monika) mount -t cifs -o "username=monika,password=$cifsPW" //<IP>/verwaltung-syn /home/mkeil/verwaltung-syn
Gruß Marc
[1]: https://www.passwordstore.org/
Am 2019-01-31 16:14, schrieb Monika Keil:
Hallo zusammen,
ich möchte ein Mini-Shell-Script erstellen, dass einige Ordner eines entfernten Rechners in mein Dateisystem einhängt. Bisher habe ich das mit nur einem Verzeichnis und folgendem Kommando gemacht:
sudo mount -t cifs -o username=monika //<IP>/verwaltung-syn /home/mkeil/verwaltung-syn
Hierfür habe ich sowohl das root-Passwort als auch das Passwort für das entfernte Verzeichnis eingegeben.
Jetzt möchte ich weitere Verzeichnisse "in einem Rutsch" mounten und nicht für jedes Verzeichnis das Passwort für das entfernte Verzeichnis eingeben müssen. Das Passwort direkt ins Shell-Script zu schreiben wäre eine Möglichkeit, aber ich scheue mich etwas davor, das im Klartext im Shell-Script stehen zu lassen. Eine andere Möglichkeit ist die "credentials"-Datei, aber auch hier steht meines Wissens das Passwort im Klartext da.
Gibt es eine elegante, aber zugleich einfache Lösung für das Problem? Oder mache ich mir mehr Gedanken um die Sicherheit der Passwörter als nötig?
Vielen Dank schon jetzt und viele Grüße Monika Keil (monika.keil@tu-dresden.de)
Dipl.-Ing.(FH) Monika Keil Sekretariat Dr.-Ing. Stefan Löhnert Technische Universität Dresden, Fakultät Bauingenieurwesen, Institut für Mechanik und Flächentragwerke Assistant to Dr.-Ing. Stefan Löhnert TU Dresden, Faculty of Civil Engineering, Institute of Mechanics and Shell Structures Büroadresse: August-Bebel-Straße 30 01219 Dresden Ebene 3, Zimmer 03-018 Postadresse: Technische Universität Dresden Fakultät Bauingenieurwesen 01062 Dresden Tel.: +49 351 463-43247 Fax : +49 351 463-43235 E-Mail: monika.keil@tu-dresden.de
Hallo,
wie siehts mit ssh(fs) (per Key) und /etc/fstab aus? Also per ssh-fs das entfernte Dateisystem einbinden und dich mit einem ssh-Key authentifizieren sollte schonmal die Passwortproblematik für den Datentransfer lösen. wenn du den Mountwunsch nun noch in der entsprechenden Configdatei (vielleicht /etc/fstab) einträgst kannst du dir auch das sudo sparen. Falls du nur Daten kopieren/ syncen möchtest reicht dir vielleicht auch schon scp oder rsync.
Viel Erfolg wünscht Norman
On 1/31/19 5:17 PM, mail@marcloechner.de wrote:
Zunächst würde ich vorschlagen, all deine `mount …`-Befehle ohne `sudo` in dein Script zu schreiben, und dann das Script mit `sudo ./myscript.sh` aufzurufen, aber das ist eher Geschmackssache.
Das Passwort für deinen CIFS-User könntest du als Variable übergeben, zum Beispiel so:
mount -t cifs -o "username=monika,password=$1" //<IP>/verwaltung-syn /home/mkeil/verwaltung-syn
und dann das Script mit `sudo ./myscript.sh HIERDASPASSWORT` starten. Das hat aber den Nachteil, dass du das PW im Klartext in die Kommandozeile schreibst und es danach auch in der Bash History im Klartext rumliegt.
Du kannst auch dein Script das Passwort abfragen lassen:
#!/usr/bin/env bash echo -n CIFS Password: read -s cifsPW echo #just a newline mount -t cifs -o "username=monika,password=$cifsPW" //<IP>/verwaltung-syn /home/mkeil/verwaltung-syn
Nun sollte das Script bei Aufruf mit `sudo ./myscript.sh` erst dein lokales und dann das CIFS-Passwort abfragen.
Im Optimalfall hast du aber einen Passwort-Manager, den du mit Hilfe einer Kommandozeilen-API verwenden kannst, zum Beispiel pass[1], denn dann kannst du das Script so schreiben:
cifsPW=$(pass verwaltung-syn/monika) mount -t cifs -o "username=monika,password=$cifsPW" //<IP>/verwaltung-syn /home/mkeil/verwaltung-syn
Gruß Marc
Am 2019-01-31 16:14, schrieb Monika Keil:
Hallo zusammen,
ich möchte ein Mini-Shell-Script erstellen, dass einige Ordner eines entfernten Rechners in mein Dateisystem einhängt. Bisher habe ich das mit nur einem Verzeichnis und folgendem Kommando gemacht:
sudo mount -t cifs -o username=monika //<IP>/verwaltung-syn /home/mkeil/verwaltung-syn
Hierfür habe ich sowohl das root-Passwort als auch das Passwort für das entfernte Verzeichnis eingegeben.
Jetzt möchte ich weitere Verzeichnisse "in einem Rutsch" mounten und nicht für jedes Verzeichnis das Passwort für das entfernte Verzeichnis eingeben müssen. Das Passwort direkt ins Shell-Script zu schreiben wäre eine Möglichkeit, aber ich scheue mich etwas davor, das im Klartext im Shell-Script stehen zu lassen. Eine andere Möglichkeit ist die "credentials"-Datei, aber auch hier steht meines Wissens das Passwort im Klartext da.
Gibt es eine elegante, aber zugleich einfache Lösung für das Problem? Oder mache ich mir mehr Gedanken um die Sicherheit der Passwörter als nötig?
Vielen Dank schon jetzt und viele Grüße Monika Keil (monika.keil@tu-dresden.de)
Dipl.-Ing.(FH) Monika Keil Sekretariat Dr.-Ing. Stefan Löhnert Technische Universität Dresden, Fakultät Bauingenieurwesen, Institut für Mechanik und Flächentragwerke Assistant to Dr.-Ing. Stefan Löhnert TU Dresden, Faculty of Civil Engineering, Institute of Mechanics and Shell Structures Büroadresse: August-Bebel-Straße 30 01219 Dresden Ebene 3, Zimmer 03-018 Postadresse: Technische Universität Dresden Fakultät Bauingenieurwesen 01062 Dresden Tel.: +49 351 463-43247 Fax : +49 351 463-43235 E-Mail: monika.keil@tu-dresden.de
lug-dd@mailman.schlittermann.de