rehallo,
/home/hacker/ ist unter chroot drin
das heißt, es gibt ein Verzeichnis /home/hacker", das root gehört und worauf auch nur root Zugriff hat?
Wenn ich ein perl script in seiner Shell starte, das / ausliesst, dann geht das nicht
sofern du dich als root anmeldest, muß das gehen, oder dir den entsprechenden Scriptfehler anzeigen.
weil sein persoenliches / ja in seinem Homedirectory liegt.
?
Ein "persönliches /" gibt es nicht. "/" ist das Wurzelverzeichnis des Rechners. Je nachdem, ob du als root oder als Benutzer unter wegs bist und wie die Gruppenzugehörigkeiten eingestellt wurden, hast du darauf Vollzugriff, Lesezugriff oder gar keinen Zugriff.
Nun kommt aber Apache und ruft 'dir.pl' auf
Apache ruft gar nix auf. Du sagst ihm möglicherweise, daß er das Script "dir.pl" an den Perl- Interpreter weiterreichen und dessen Ergebnisse dir präsentieren soll
und mit Apache kann man dann / auslesen weil es ja nicht der
user 'hacker' ist der chrooted ist.
dann müßtest du möglicherweise in der httpd.conf die Gruppe neu justieren oder deiner Benutzerverwaltung sagen, daß in der Gruppe, die den Apache aufrufen darf, kein Benutzer stehen soll, der weiterreichende Rechte hat
Das script soll aber unter dem chroot unter der UID von 'Hacker' laufen.
Dann ändere die Rechte entsprechend
Ein Ansatz waere, dass man in der httpd.conf ein Script reinbringt,
welches jedes Mal wenn der Suffix *.pl und *.cgi kommt,
ein Script startet
halte ich für zu kompliziert und irgendwie "um drei Ecken herum" gedacht.
Ausschlaggebend ist (wenn ich dich richtig verstanden habe), daß deine Benutzer- und Gruppenverwaltung die geforderten Rechte korrekt verteilt. Aber ich werde den Verdacht nicht los, daß du _eigentlich_ irgendwas andres gemeint hast. Kannst du versuchen, deine Frage präziser zu formulieren?
Ach, und nochwas: ein "Script", das dir.pl heißt, den Inhalt von "/" ausliest und das Ausleseergebnis an einen Apache-Benutzer zurückgibt, ist ebenso verdächtig wie eine Webseite, die über ein ActiveX-Control "format C:" realisieren möchte.
Grüße
Christoph S.