su das Kennwort übergeben
su das Kennwort übergeben
Hallo,
ich habe die Situation, daß ein Bash-Skript vom Anwender als normaler Nutzer gestartet wird, aber bei der Ausführung zum Mounten von virtuellen Dateisystemen Root-Rechte braucht. Nun ist mir sehrwohl bewußt, daß ich für diesen Zweck sudo nutzen sollte, doch mein Skript soll auf ganz unterschiedlichen Linux-Rechner, auf denen sudo eventuell nicht installiert oder nicht geeignet konfiguiriert ist, gestartet werden können.
Daher wäre eigentlich eine gute Idee su zu nutzen und einfach das vom Nutzer zur Laufzeit eingegeben root-Kennwort zu übergeben. Das ist mir jedoch bisher eindeutig noch nicht gelungen und soweit ich das Internet dazu bisher durchforstet habe, gibt es auch keine Möglichkeit. Es muß aber doch irgendwie auf einem minimlen Linux-System möglich sein root durch Aufruf eines Programme zu werden, dem man das Kennwort als Parameter übergibt. Habt ihr irgendeine Idee (suid-bit geht leider auch nicht...)?
Gruß
sud
ich habe die Situation, daß ein Bash-Skript vom Anwender als normaler Nutzer gestartet wird, aber bei der Ausführung zum Mounten von virtuellen Dateisystemen Root-Rechte braucht. Nun ist mir sehrwohl bewußt, daß ich für diesen Zweck sudo nutzen sollte, doch mein Skript soll auf ganz unterschiedlichen Linux-Rechner, auf denen sudo eventuell nicht installiert oder nicht geeignet konfiguiriert ist, gestartet werden können.
Daher wäre eigentlich eine gute Idee su zu nutzen und einfach das vom Nutzer zur Laufzeit eingegeben root-Kennwort zu übergeben. Das ist mir jedoch bisher eindeutig noch nicht gelungen und soweit ich das Internet dazu bisher durchforstet habe, gibt es auch keine Möglichkeit. Es muß aber doch irgendwie auf einem minimlen Linux-System möglich sein root durch Aufruf eines Programme zu werden, dem man das Kennwort als Parameter übergibt. Habt ihr irgendeine Idee (suid-bit geht leider auch nicht...)?
Gruß
sud
Re: su das Kennwort übergeben
Vielleicht so. Statt "mount" habe ich mal "whoami" genutzt.
bla.sh
Aufruf als normaler Benutzer
(Passworteingabe gehört zu dem su-Befehl im Script)
(root ist das Ergebnis von "whoami" als "root")
bla.sh
Code: Alles auswählen
su -c whoami
Code: Alles auswählen
./bla.sh
Passwort:
root
(root ist das Ergebnis von "whoami" als "root")
Re: su das Kennwort übergeben
Das ist wahrschienlich dann doch die gangbarste Lösung, obwohl sie für mich nicht geschickt ist, da ich einige Skripte verschachteln werde und zudem mein Skript eventuell von einer graphischen Oberfläche aus gestartet wird, bei der der Nutzer gar keine Konsole sieht, um irgendetwas einzugeben. Daher wäre es für mich deutlich besser, ich könnte das in einer seperaten Anwendung entgegengenomme Paßwort als Parameter übergeben....uname hat geschrieben:Vielleicht so. Statt "mount" habe ich mal "whoami" genutzt.
bla.shAufruf als normaler BenutzerCode: Alles auswählen
su -c whoami
(Passworteingabe gehört zu dem su-Befehl im Script)Code: Alles auswählen
./bla.sh Passwort: root
(root ist das Ergebnis von "whoami" als "root")
Re: su das Kennwort übergeben
... irgendwie fängt bei mir da langsam das Unwohlsein an.sud hat geschrieben:[...] da ich einige Skripte verschachteln werde [...]
Nicht dass da Sicherheitslücken sein werden ... aber die Wahrscheinlichkeit dazu steigt.
Vielleicht solltest du doch ein geeignet konfiguriertes `sudo' als Abhängigkeit verlangen. (Ich jedenfalls würde mein root-Passwort nicht rausgeben.) Oder du gehst in Richtung User-mount, dann behält der Admin auch weiterhin die Kontrolle.
Dazu fällt mir halt `gtksudo' ein.[...] und zudem mein Skript eventuell von einer graphischen Oberfläche aus gestartet wird, bei der der Nutzer gar keine Konsole sieht, um irgendetwas einzugeben. Daher wäre es für mich deutlich besser, ich könnte das in einer seperaten Anwendung entgegengenomme Paßwort als Parameter übergeben....
Use ed once in a while!
Re: su das Kennwort übergeben
Auch wenn, wie mein Vorredner bereits zum Ausdruck gebracht hat, die Herausgabe des root-Passwortes an einen Benutzer nicht zu empfehlen ist, fällt mir hier spontan su-to-root ein.
Beispiel
Beispiel
Code: Alles auswählen
su-to-root -c aptitude
su-to-root -X -c synaptic
su-to-root -c "mount -t ext3 /dev/hda3 /media/hda3"
Re: su das Kennwort übergeben
Kannte ich noch gar nicht. Ist wohl Standard. Gehört zum Paket:
http://packages.debian.org/de/lenny/menu
http://packages.debian.org/de/lenny/menu
Re: su das Kennwort übergeben
Hallo,
zunächst mal danke für die Ideen. su-to-root ist jedoch definitiv nicht das, was ich suche, da ich auch hier nicht die Möglichkeit habe, das Paßwort als Parameter zu übergeben...
gksu hat leider den Nachteil, daß es zwingend eine grafische Oberfläche voraussetzt...
Natürlich weiß ich auch, daß nicht jeder Nutzer einer fremden Anwendung sein root-Paßwort anvertraut. In meinem Fall ist dies jedoch normalerweise so, da meine Nutzer mich dann doch für so vertrauenswürdig halten....
Hm, naja, vielleicht gibt es ja doch noch andere Möglichkeiten...
Gruß
sud
zunächst mal danke für die Ideen. su-to-root ist jedoch definitiv nicht das, was ich suche, da ich auch hier nicht die Möglichkeit habe, das Paßwort als Parameter zu übergeben...
gksu hat leider den Nachteil, daß es zwingend eine grafische Oberfläche voraussetzt...
Natürlich weiß ich auch, daß nicht jeder Nutzer einer fremden Anwendung sein root-Paßwort anvertraut. In meinem Fall ist dies jedoch normalerweise so, da meine Nutzer mich dann doch für so vertrauenswürdig halten....
Hm, naja, vielleicht gibt es ja doch noch andere Möglichkeiten...
Gruß
sud
- feltel
- Webmaster
- Beiträge: 10458
- Registriert: 20.12.2001 13:08:23
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Leipzig, Germany
-
Kontaktdaten:
Re: su das Kennwort übergeben
expect würde mir noch einfallen, aber ich schließe mich der Mehrheit der Antwortenden hier an und rate dringend davon ab, das root-Passwort irgendwie zu skripten bzw. preiszugeben.
debianforum.de unterstützen? Hier! | debianforum.de Verhaltensregeln | Bitte keine Supportanfragen per PM