Verwendung von Passwörtern in Shell Skripten
Hallo Leute,
wie kann ich in meinem Shell Skript die Angabe von root und dessen Passwort so einstellen das es beim ausführen des Skriptes abgefragt wird?
Ich möchte nicht das es im Klartext drinsteht, so wie hier
wie kann ich in meinem Shell Skript die Angabe von root und dessen Passwort so einstellen das es beim ausführen des Skriptes abgefragt wird?
Ich möchte nicht das es im Klartext drinsteht, so wie hier
...
USER=root
PASSWORT=xxxx
...
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 204588
Url: https://administrator.de/forum/verwendung-von-passwoertern-in-shell-skripten-204588.html
Ausgedruckt am: 12.04.2025 um 06:04 Uhr
18 Kommentare
Neuester Kommentar

Hi,
ich kenn mich jetzt nur wenig aus, aber z.B. in Powershel kommt da automatisch eine Abfrage, wenn ich z.B. ein Netzlaufwerk mappen will und da ´ne Berechtigung braucht
Grüße
Exze
ich kenn mich jetzt nur wenig aus, aber z.B. in Powershel kommt da automatisch eine Abfrage, wenn ich z.B. ein Netzlaufwerk mappen will und da ´ne Berechtigung braucht
Grüße
Exze

Hallo,
Mit anderen Worten, der Befehl su mit der -c Option führt genau das folgende Kommando also root aus und fragt ggf. nach dem Passwort von root.
Je nachdem, was Du machen möchtest, wäre es hilfreich, stattdessen sudo zu nutzen.
Markus
#!/bin/sh
if [ $UID != 0 ]; then
su -c kommandoxyz # hier wird dann das root-Passwort abgefragt und muss eingegeben werden
fi
Mit anderen Worten, der Befehl su mit der -c Option führt genau das folgende Kommando also root aus und fragt ggf. nach dem Passwort von root.
Je nachdem, was Du machen möchtest, wäre es hilfreich, stattdessen sudo zu nutzen.
Markus

Hi,
der Befehl mit Read ist nicht zu empfehlen, weil dadurch ein Abbruch der Shell zustande kommt, wenn er ein falsches Kennwort eingibt, bei Markus Version wird er direkt authentifiziert und wenn die Authentifizierung fehlschlägt, wird evt. nochmal nach dem PW gefragt.
Grüße
Exze
der Befehl mit Read ist nicht zu empfehlen, weil dadurch ein Abbruch der Shell zustande kommt, wenn er ein falsches Kennwort eingibt, bei Markus Version wird er direkt authentifiziert und wenn die Authentifizierung fehlschlägt, wird evt. nochmal nach dem PW gefragt.
Grüße
Exze

Ok dann doch @bytecounter Lösung :D
Sollte zumindest funktionieren, auch wenn´s net hübsch ist.
Grüße
Exze
Sollte zumindest funktionieren, auch wenn´s net hübsch ist.
Grüße
Exze

Das Hinterlegen des root-Passworts in einem Skript ist extrem gefährlich. Es gibt under Unix/Linux viele andere Möglichkeiten, das Problem zu lösen. z.B. kannst Du die Berechtigung zum Mounten der Laufwerke anders vergeben.
Markus
Markus

Wer führt denn das Skript aus?
Markus
Markus

Aber wenn root das Skript ausführt, dann hat das Skript doch alle Berechtigungen. Wieso willst denn dann noch den Benutzer und das Passwort hinterlegen?
Markus
Markus

was meinst Du denn mit ?!?!?!?
Wenn ein Skript vom user root aufgerufen wird, dann werden alle dort aufgeführten Befehle als root ausgeführt. Kommt denn eine Fehlermeldung? wenn ja, dann poste die mal bitte hier.
Markus
Wenn ein Skript vom user root aufgerufen wird, dann werden alle dort aufgeführten Befehle als root ausgeführt. Kommt denn eine Fehlermeldung? wenn ja, dann poste die mal bitte hier.
Markus

Also hast Du eine remote-Verbindung, das Skript versucht also auf einem anderen Rechner die Partitionen zu mounten?
Das geht mit ssh.auch hier wird nach dem root-Passwort gefragt.
Markus
Das geht mit ssh.
ssh root@remotecomputer "mount /this/device /to/this/directory"
Markus

Es müsste dann so aussehen (nicht nochmal $HOSTNAME: für den Pfad, Du bist ja mit ssh schon auf dem Server). Wobei ich fast vermute, dass $HOSTNAME in Deinem Skript eine Variable ist, dann fehlt oben in dem Skript das '$' Zeichen.
Markus
ssh root@$HOSTNAME "mount /DATA2/TEST/ /mnt/cdrom/"
Markus