su das Kennwort übergeben

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
sud
Beiträge: 28
Registriert: 09.11.2008 08:45:43

su das Kennwort übergeben

Beitrag von sud » 16.09.2009 16:25:20

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

uname
Beiträge: 12425
Registriert: 03.06.2008 09:33:02

Re: su das Kennwort übergeben

Beitrag von uname » 16.09.2009 16:34:26

Vielleicht so. Statt "mount" habe ich mal "whoami" genutzt.

bla.sh

Code: Alles auswählen

su -c whoami
Aufruf als normaler Benutzer

Code: Alles auswählen

./bla.sh 
Passwort: 
root
(Passworteingabe gehört zu dem su-Befehl im Script)
(root ist das Ergebnis von "whoami" als "root")

sud
Beiträge: 28
Registriert: 09.11.2008 08:45:43

Re: su das Kennwort übergeben

Beitrag von sud » 16.09.2009 16:45:45

uname hat geschrieben:Vielleicht so. Statt "mount" habe ich mal "whoami" genutzt.

bla.sh

Code: Alles auswählen

su -c whoami
Aufruf als normaler Benutzer

Code: Alles auswählen

./bla.sh 
Passwort: 
root
(Passworteingabe gehört zu dem su-Befehl im Script)
(root ist das Ergebnis von "whoami" als "root")
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....

Benutzeravatar
Meillo
Moderator
Beiträge: 9254
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: su das Kennwort übergeben

Beitrag von Meillo » 16.09.2009 22:41:57

sud hat geschrieben:[...] da ich einige Skripte verschachteln werde [...]
... irgendwie fängt bei mir da langsam das Unwohlsein an.

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.
[...] 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....
Dazu fällt mir halt `gtksudo' ein.
Use ed once in a while!

Daneel
Beiträge: 66
Registriert: 01.10.2008 12:23:27

Re: su das Kennwort übergeben

Beitrag von Daneel » 17.09.2009 07:40:35

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

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"

uname
Beiträge: 12425
Registriert: 03.06.2008 09:33:02

Re: su das Kennwort übergeben

Beitrag von uname » 17.09.2009 08:57:15

Kannte ich noch gar nicht. Ist wohl Standard. Gehört zum Paket:

http://packages.debian.org/de/lenny/menu

sud
Beiträge: 28
Registriert: 09.11.2008 08:45:43

Re: su das Kennwort übergeben

Beitrag von sud » 17.09.2009 16:08:04

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

Benutzeravatar
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

Beitrag von feltel » 17.09.2009 16:22:19

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.

Antworten