AW: Re: 2 Instanzen von Apache - geht das, wenn ja - wie?

Hans-Dietrich Kirmse hd.kirmse at gmx.de
Mo Dez 7 22:55:55 CET 2009


und auch dazu noch eine Antwort bzw. Frage. (kann den Standpunkt
leider nicht teilen - oder ich werde hier sehr viel dazulernen)

Niels Dettenbach schrieb:
> ...nur mal ein kleiner, genereller Hinweis:
> 
> Wozu brauchen die Admin-Scripte am Webserver (PHP) überhaupt irgendwo
> irgendwelche Root-Rechte (z.B. sudo)? 

z.B. damit sie in den LDAP schreiben können.

> Die Gefahren sind immerhin
> enorm - und auch Schüler lernen irgendwann mal was (dazu). ;)

ich denke, wenn die Lösung einmal steht, dann haben die Schüler auch mit
noch so viel Lernen keine wirkliche Chance.

> Die geläufigen Berechtigungen und die meisten damit verbundenen
> Komfigurationen kann man - soweit ich überlegen kann - auch ohne Root
> / Sudo realisieren. 

das bezweifel ich (derzeit noch)

> Z.B. kann man seine Benutzerdaten / -rechte gut
> und gern in eine SQL-DB legen oder mit LDAP realisieren. 

hm, ganz dumme Situation. die Daten um die es hier geht (User, Gruppen,
(win-)Rechner, DHCP) sind im LDAP. Und die (Perl-)Scripte, die in den
LDAP schreiben, die habe ich erstellt. Und dazu brauche ich (zumindest
momentan noch) root-Rechte. d.h. aber auch, die PHP-Scripte des
Webinterface müssen mit sudo root-Rechte bekommen.

> Die
> Admin-Anwendung braucht dann zwar Zugriff auf die (damit kritische)
> DB oder LDAP, 

genauso ist es. man braucht ein Passwort, um im LDAP arbeiten zu können.
Dieses Passwort bei uns für "cn=admin,dc=delixs-schule,dc=de" liegt im
Entry dieses Users im LDAP. Damit die Scripte schreiben können, müssen
die sich am LDAP anmelden, mit diesem Account und brauchen dessen
Passwort. Und das muss irgendwo sehr sicher hinterlegt werden.

Das Passwort für den LDAP-Admin, ist bei uns aber nicht in der
slapd.conf hinterlegt. Irgendwo muss ich das Passwort aber herholen,
wenn ich es nicht in jedem Script hinterlegen will (was ja noch
schlimmer wäre). Also hole ich es mir einfach aus der
/etc/pam_ldap.secret, und dazu brauche ich root-Rechte!

für jede bessere Lösung (Idee) wäre ich sehr dankbar!

> aber am drunterliegenden System selbst (was davon
> getrennt arbeiten kann) keinerlei sonderliche Rechte.

naja, wenn ich klassenweise User anlege, dann brauche ich auch
root-Rechte, oder wie geht das sonst? (noch nutze ich die smbldap-tools)

> Mit einem (unter root o.ä.) laufenden Daemon kann man dann - wenn
> noch nötig - automatisiert z.B. "Home-"Verzeichnisse erzeugen oder
> wegräumen lassen. 

wie soll das aussehen? Wenn ich richtig im Bilde bin, da macht es
Skolelinux so, dass ein Cronjob (in der nacht?) die Homeverzeichnisse
anlegt. Das sollte diesem Ansatz so ungefähr entsprechen.

Aber auch da muss der Cronjob das mit root-Rechten aufrufen. Notfalls
auch über sudo. Wo da der Gewinn an Sicherheit ist, kann ich noch nicht
erkennen. Und so richtig sexy ist die Lösung auch nicht, wenn man erst
am nächsten Tag weiss, ob alles korrekt gelaufen ist.

> Der Daemon bedient sich dazu aus der Datenbank und
> / oder wird vom Admin-GUI lediglich "angestoßen" o.ä. 

und auch zu dem Anstoßen braucht man die notwendigen Rechte
(root-Rechte). Oder wie funktioniert dieses Anstoßen?


Bitte alles als Frage verstehen. Ich weiss, dass ich kaum Ahnung habe.
Für jeden konstruktiven Vorschlag bzw. Hinweis, der möglicherweise eine
Verbesserung der Lösung bewirken würde wäre ich sehr dankbar.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Falls es notwendig/sinnvoll ist, sich von der Lösung ein Bild zu machen,
hier die relevanten Links:

zur LDAP- (und Samba-)Installation:

http://www.delixs.de/dwiki/index.php/Entwicklungsumgebung/LDAP
http://www.delixs.de/dwiki/index.php/Entwicklungsumgebung/Samba
http://www.delixs.de/dwiki/index.php/Entwicklungsumgebung/LDAP_Einrichtung


zu diesen (Perl-)Sripten:

https://trac.delixs.de/trac/browser/delixs-scripts/trunk


zur Apache-Installation (nur obere Hälfte):

http://www.delixs.de/dwiki/index.php/Entwicklungsumgebung/Apache


Mit freundlichen Grüßen
Hans-Dietrich