C: Befehl als root per su aufrufen
Dieter
- programmiertechnik
Hallo,
also mein Programm muss einen Befehl als root aufrufen.
Allerdings bin ich _nicht_ als root eingelogt.
Dieses Programm wird von einem anderen Script aufgrufen, so dass ich _nicht_ das Root-Passwort per Hand eintippen kann.
Also so:
script.php ruft Programm auf.
Programm logt sich als root ein und führt Shell-Befehl aus.
Programm beendet sich nach dem aufruf.
Also das Programm in C soll ca. so aussehen:
system("su"); //system("Sende das Root-passwort"); system("Führe Befehl aus");... return(0);
Allerdings weiß ich jetzt nicht, wie ich das Root-Passwort senden kann.
MFG
Dieter
Hi,
also mein Programm muss einen Befehl als root aufrufen.
Warum?
Nein, vollkommen ernst gemeinte Frage: warum?
Also das Programm in C soll ca. so aussehen:
system("su"); //system("Sende das Root-passwort"); system("Führe Befehl aus");
Ja, das geht, wenn auch natuerlich nicht so. Siehe die Quellen von ... na, was wohl? ;-)
Heftiges Problem: Du benoetigst das Klartextrootpasswort.
Kannst dem Programm natuerlich auch das suid-Bit setzen. Waer ich da allerdings Administrator koenntest Du die naechsten 14 Tage nicht mehr sitzen. Eher laenger.
... return(0);
And the Magic-Number is ... ;-)
Allerdings weiß ich jetzt nicht, wie ich das Root-Passwort senden kann.
Was ein Glueck!
Aber mal ernsthaft: wofuer brauchst Du es? Meist kann man es anders regeln, mitunter ist es auch besser, es ueberhaupt nicht zu regeln.
so short
Christoph Zurnieden
Hallo,
also das Programm muss ein paar Befehle ausführen, die nur der Root ausführen kann (User erstellen&bearbeiten&löschen).
Dieses Programm wird aber vom User wwwrun (script.php) aufgerufen, also müsste das Programm zuerst Root-Rechte erhalten.
Dabei wird an das Programm als Paramter das Root-Passwort vom script.php (und dies stammt aus einem Formular) übergeben, so dass ich es _nicht_ als Klartext speichern muss.
Ja, das geht, wenn auch natuerlich nicht so.
Hmm wie geht das denn? Hab im Internet nichts brauchbares dazu gefunden
MFG
Dieter
Hi,
Dabei wird an das Programm als Paramter das Root-Passwort vom script.php (und dies stammt aus einem Formular) übergeben, so dass ich es _nicht_ als Klartext speichern muss.
Das ist auch mit SSL nicht sonderlich sicher, das Klartextpasswort wird an zuvielen Stellen gespeichert. Die Kosten einer ordnungsgemaessen Implementation sind jedoch hoch, Du kannst es also so lassen, wenn die Kosten den Nutzen uebersteigen.
Ja, das geht, wenn auch natuerlich nicht so.
Hmm wie geht das denn? Hab im Internet nichts brauchbares dazu gefunden
"su" ist quelloffen, sudo waere aber die bessere Wahl.
so short
Christoph Zurnieden
Moin!
Hallo,
also das Programm muss ein paar Befehle ausführen, die nur der Root ausführen kann (User erstellen&bearbeiten&löschen).
Na Prima. Installiere Webmin, richte einen Webmin-Benutzer ein, der nur die User bearbeiten darf und verlinke zur passenden Adresse (rechner:10000)
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®