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

script als root aus einem script heraus passwortlos starten

wiseguy

Newbie
Hallo,

im Grunde steht die ganze Frage hier schon einmal, aber an dieser Stelle durfte ich nicht weiter anknüpfen, weshalb ich nun hier meine Frage erneut stelle:

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.

Nun will ich aber nur
Code:
/bin/script-starter.sh
ausführen.

/bin/script-starter.sh enthält folgendes:
Code:
#!/bin/sh
/usr/bin/sudo /bin/script.sh

Weiß jemand, wie ich das entsprechend einrichten kann?

Das System unter dem ich das laufen lasse ist SLES 11 (bin mir nicht sicher, ob 11 oder 10, glaube aber 11). Grundsätzlich interessiert mich die Lösung aber auch für ein Debian Lenny System.

Mir kam gerade noch der Gedanke, dass es evtl. daran liegt, das script-starter.sh ein Script und kein binary ist. Und das der Aufruf funktionieren würde, wenn es sich um ein richtiges Programm handeln würde. Wie schreib ich dann ein kleines C Programm, welches genau diesen Aufruf tätigt?

Mein Ziel ist also mit nur einem Programm, welches für alle in einem Standard Pfad liegt, einen Programmaufruf zu starten, über den spezielle Scripte als root ausgeführt werden, ohne dass der jeweilige Nutzer Kenntnis über sein oder gar das Root Passwort hat. (Der Benutzer soll nämlich später per Zertifikat identifiziert werden - ohne Passwort)
 

abgdf

Guru
Das geht so nicht, denke ich. Stattdessen mußt Du über visudo definieren, wer was darf "man sudoers". Mehrere User kannst Du dabei ggf. in einer Gruppe zusammenfassen.

Gruß
 
OP
W

wiseguy

Newbie
Hallo,

okay, habs jetzt ein bisschen anders gelöst: Eine wrapper-binary, die anhand einer eigenen config prüft und die mit sticky-Bit versehen ist und damit als root läuft funktioniert.
 
A

Anonymous

Gast
wiseguy schrieb:
und die mit sticky-Bit versehen ist und damit als root läuft
nur das mit dem sticky bit solltest du noch mal üben. ;) http://www.linupedia.org/opensuse/Zugriffsrechte#Sticky_Bit
du hast scheinbar SUID gesetzt http://www.linupedia.org/opensuse/Zugriffsrechte#Set_UserID_Bit_.28SUID.29


robi
 
Oben