Hi Markus, Deine Zeilen sind zu lang. Kannst Du sie bitte nach max. 72 Zeichen umbrechen? Mit Konsolen-Mailern ist die Lesbarkeit sonst besch... On Fre, 22 Nov 2002 at 09:55 (+0100), Markus Langner wrote:
Habe ein kleines Problem mit der Rechteverwaltung unter Linux. Ich möchte remote über einen HTTP Server Änderungen am System vornehmen, die normalerweise root vorbehalten sind. Das ganze soll über das CGI funktionieren.
Das einfachste Bsp. setzen der Systemzeit: Shell Script geschrieben, mit a+x ausführbar gemacht. Dieses Script lasse ich über einen kleines C-Programm aufrufen (Ist nötig, da man bei Scripten das UID bzw. GID Bit zwar setzen kann, dieses aber von Linux ignoriert wird)
Kein Wunder. Ein Shell-Script ist eine Datei, die vom Interpreter (der bash) gelesen und interpretiert wird. Das Script wird nicht vom OS ausgeführt.
Der C-Wrapper ist ebenfalls ausführbar (a+xs), gehört dem user/group root und die UID bzw. GID Bits sind gesetzt. Meine Annahme, dass das Programm nun das Shell Script mit Root-Rechten ausführt und meine Systemzeit gesetzt wird, scheint aber falsch zu sein (der Server läuft als /wwwrun/nogroup) [...]
Hast Du per setuid(0) die effektive User-ID nach root gewechselt? Die Set-ID Bits des Programms geben dem Programm nur das Recht, die ID zu wechseln, das Programm muss selbst dafür sorgen. Siehe man setuid man setgid Jan