Systemadministration über Webserver (Apache)

Post Reply
Message
Author
markus

Systemadministration über Webserver (Apache)

#1 Post by markus »

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)
Der C-Wrapper ist ebenfalls ausführbar, 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)

Habe gelesen das man eventuell mit sudo was machen könnte, was mir in meinem Fall aber noch nicht so richtig sinnvoll erscheint. Ebenfalls möchte ich den Apache so lassen wie er ist, da das ganze sonst ein zu großes Sicherheitsrisiko darstellt (Es gibt die Möglichkeit Apache neu zu kompelieren und dabei die suexec auszuschalten, bezeichnender weise heißt die dazu nötige Funktion DBIG_SECURITY_HOLE <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">). Auf einen anderen Server auszuweichen sollte auch schwer fallen, es gibt glaube ich nur den webmin der einen Zugriff auf Systemfunktionen zulässt (scheidet aber aus).

Habe schon überlegt die ganze Sache komplett in C zu machen. Mit Hilfe der time.h sollte so einiges möglich sein, aber auch das Setzen der Systemzeit??? Gibt es in Linux Systembefehle mit denen man so etwas direkt erledigen kann und wie müsste ich die einbinden??? Allerdings stehen noch weitere Problemchen an, die sich über Shell Scripts nun einmal viel einfacher lösen lassen (z.B setzen IP, Netmask....).

Würde mich über jegliche Hinweise oder auch Links freuen, bin aber noch Linux Anfänger daher bitte nicht allzu kryptisch <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">. nun ja jeder verabschiedet sich irgendwann von Microsoft.

Jochen

Re: Systemadministration über Webserver (Apache)

#2 Post by Jochen »

Du erfindest gerade das Rad mehrfach: Schau Dir doch einfach Webmin <a href="http://www.webmin.com/" target="_blank"><!--auto-->http://www.webmin.com/</a><!--auto--> an. Wenn Du unbedingt etwas selbst basteln möchtest, kannst Du dort zumindest sehen, wie man so einProblem löst.

Jochen

markus

Re: Systemadministration über Webserver (Apache)

#3 Post by markus »

... schon gemacht. Aber bei Webmin ist alles in Perl geschrieben und ich der Sprache nicht mächtig (gut mein Problem) <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">) Ausserdem kann ich den Webmin nicht einsetzen.

Im Übrigen handelt es sich um ein Embedded System . Wenn ich auf meinem Desktop-Test-Linux mit sudo arbeite funktioniert alles bestens. (steht aber auf dem Embedded nicht zur Verfügung)

hmm...

Andreas B.

Re: Systemadministration über Webserver (Apache)

#4 Post by Andreas B. »

Ich kenne das problem recht gut.

Erstell einen user z.B. "cgiadmin" groupmember of "root"
mit dem aendern des devfs auf user cgiadmin fuer bestimmte devices
und verzeichnisse,
als scriptsprache empfehle ich TCL im gegensatz zu bash
laesst sich damit sehr gut CGIprogrammierung umsetzen, und vor allem sehr schnell sehr einfach
gut strukturiert.

Andreas B.

Re: Systemadministration über Webserver (Apache)

#5 Post by Andreas B. »

ps.
wenn du ne partition aendern willst kannst du das mit
fdisk /dev/hdxY < input.txt >> result.txt
machen wobei
input.txt
---
d
3
w
---
enthalten kann, diese kombination loescht die dritte partition
wenn du
---
p
q
---
machst erhaellst du die Eintraege in der Partitionstabelle
mit sed / grep / ..
kannst du das sehr gut in eine HTML tabelle formatieren

Andreas B.

Re: Systemadministration über Webserver (Apache)

#6 Post by Andreas B. »

pss.

ich vergass leg im /etc/apache/httpd.conf
fest user :: cgiadmin
dann meckert Apache auch net
wenn du einen root webserver brauchst der tcl implementiert ist
dann nimm tclhttpd.

Post Reply