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

[solved] passwort an sudo per Script übergeben

Status
Für weitere Antworten geschlossen.

kroe

Member
Hi,

gibt es eine Möglichkeit, dass ich dem sudo-Befehl das root-Passwort per Script übergebe, also dass ich dieses nicht per Hand eingeben muss, sondern aus einer Datei auslesen lasse?

Gruß
kroe
 
A

Anonymous

Gast
wüßte nicht wie, was genau willst du denn machen, evtl läßt sichs per sticky-bit lösen... wär die einfachste variante

loci
 
Hi,

du meinst nicht das rootpasswort übergeben, sondern das Userpasswort.
Also wenn ich das richtig verstanden habe, du willst einem user berechtigungen geben, ein Befehl als root auszuführen, aber dieser User soll nicht ständig sein passwort eingeben ? Dann must einfach "NOPASSWD:" benutzen z.B.:
Code:
REMOTE SERVER = NOPASSWD: RCAPACHE
Wenn du noch fragen hast, meld dich einfach ;) Sonst "man sudo"

gruß

g_d_f
 

admine

Ultimate Guru
Ergänzend zu @geist_der_foren
macht es auch ein Eintrag in der /etc/sudoers
z.B.:
Code:
derUser ALL=NOPASSWD:/sbin/shutdown -h now
 
A

Anonymous

Gast
ja ich mein das sbit aka stickybit
weiß ned ob das über scripte ned funzt, aber die oben genannten versionen gehen auch
 
OP
kroe

kroe

Member
Loci schrieb:
ja ich mein das sbit aka stickybit
weiß ned ob das über scripte ned funzt, aber die oben genannten versionen gehen auch

Ersteinmal danke fürs Mitdenken - nebenbei: sbit ist nicht gleich stickybit (=t-bit).

Problem bei mir ist, dass Shell-Scripte nicht mit dem sbit funktionieren :-(

Gruß
kroe
 
OP
kroe

kroe

Member
geist_der_foren schrieb:
Hi,

... du willst einem user berechtigungen geben, ein Befehl als root auszuführen, aber dieser User soll nicht ständig sein passwort eingeben ?

fast genau das was ich möchte ;-)
Ich möchte dass die Gruppe teachers (oder meinetwegen auch alle user) ein shellscript (script.sh) ausführen können, in dem Befehle wie lprm -, rccups, rm stehen, die normalerweise nur von root ausgeführt werden dürfen.
Damit ich nicht das root-Passwort an die user weitergeben muss, möchte ich, dass das Script auch ohne Eingabe des root-Passwort funktioniert - ich komme allerdings mit deiner Erklärung noch nicht ganz zurecht :-( d.h. es läuft noch nicht so. Auch mit dem Eintrag in die /etc/sudoers klappt es noch nicht (wahrscheinlich, weil es ein Script ist und kein binary).

Vielleicht hat noch jemand einen Tipp

Gruß
Dieter
 
Hi,

du must das Rootpasswort nicht weiter geben !
Wenn du jemand im Sudo berechtigst, dann darf er befehle als root ausführen aber muss "sein" passwort eingeben.
Also ich verstehe nicht wo das prob liegt ?!
Wenn du ein skript hast, dass andere User mit root-Rechten ausführen sollen, dann trage das einfach im SUDO ein ...
Sudo schaut dann nicht, was im Skript steht, sondern Führt das Skript als root aus. Am besten, sollte dann das Skript nur von root änderbar sein, sonst könnte es zu einer Sicherheitlücke kommen !
Kannst mal deine SUDO konfiguration Posten, damit ich mal rüber schauen kann.
 
OP
kroe

kroe

Member
geist_der_foren schrieb:
du must das Rootpasswort nicht weiter geben !...
Also ich verstehe nicht wo das prob liegt ?!

Oooops - jetzt habe ich meinen Gedankenfehler doch noch gefunden:
Ich habe sudoers editiert
Code:
%users ALL=NOPASSWD:/usr/bin/script.sh
, aber den sudo-Befehl im aufzurufendem Script (script.sh) hineingeschrieben und nicht wie es richtig wäre das Script damit aufgerufen:
Code:
sudo /usr/bin/script.sh
- Jetzt geht es :)

Danke allen fürs Mithelfen
kroe
 
Oh ja ... sowas kenne ich einfach nur zu gut, wie oft ist mir das schon passiert :lol:
Aber wie gesagt, pass auf dass das Skript nur für Root ausführbar ist, sonst kannst du echt probs bekommen ;)

mfg

g_d_f
 

wiseguy

Newbie
Hallo,

ich habe das gleiche Problem wie kroe:
fast genau das was ich möchte
Ich möchte dass die Gruppe teachers (oder meinetwegen auch alle user) ein shellscript (script.sh) ausführen können, in dem Befehle wie lprm -, rccups, rm stehen, die normalerweise nur von root ausgeführt werden dürfen.
Damit ich nicht das root-Passwort an die user weitergeben muss, möchte ich, dass das Script auch ohne Eingabe des root-Passwort funktioniert

Allerdings will ich genau das nicht:
aber den sudo-Befehl im aufzurufendem Script (script.sh) hineingeschrieben und nicht wie es richtig wäre das Script damit aufgerufen:
Code:
sudo /usr/bin/script.sh
Ich brauche ein Script, welches die Aufrufe "sudo /script.sh" komplett übernimmt und dennoch nicht nach einem Passwort fragt. Das script wird ja von einem user aufgerufen und DESSEN berechtigung soll bezugnehmend auf sudo berücksichtigt werden.

Der Eintrag in meiner /etc/sudoers lautet:
Code:
%scriptgroup servername=NOPASSWD: /bin/script.sh
Mir geht es also darum, dass /bin/script.sh als root ausgeführt wird (es gehört dem user root und hat die Rechte 700)

Wenn ich jetzt
Code:
sudo /bin/script.sh
aufrufe klappts ja auch (wie kroe schon sagte).

Nun will ich aber nur
Code:
/bin/script-starter.sh
ausführen. Und /bin/script-starter.sh enthält folgendes:
Code:
#!/bin/sh
/usr/bin/sudo /bin/script.sh

Weiß jemand, wie ich das entsprechend einrichten kann?
 

whois

Ultimate Guru
Hallo

Mach bitte einen eigenen Thread auf. :irre: :zensur:

Code:
Verfasst: 2004-Apr-19, 10:26 am

Du hast doch bestimmt andere Systemvorausetzungen welche du uns noch mitteilen willst oder?
 
Status
Für weitere Antworten geschlossen.
Oben