File Browsing unterbinden

Hallo allerseits!

Gibt es eine effektive Möglichkeit, file browsing per perl über befehle wie chdir(), opendir() und readdir() zu unterbinden? Ich habe root-Zugriff auf den ganzen Server!

Grüße Luma

Hallo,

Gibt es eine effektive Möglichkeit, file browsing per perl
über befehle wie chdir(), opendir() und readdir() zu
unterbinden? Ich habe root-Zugriff auf den ganzen Server!

Nicht per Perl. Aber du kannst die Rechte der Verzeichnisse so setzen dass ihr Inhalt nicht gelesen werden kann:

chmod a-r $DIR

HTH,
Moritz

Hi,

Aber du kannst die Rechte der Verzeichnisse so
setzen dass ihr Inhalt nicht gelesen werden kann:

Dummerweise laufen alle CGIs mit den Rechten eines Nutzers: dem, unter dem der Webserver laeuft. Und nu’? Ich suche dafuer auch schon lange nach einer Loesung.

Dankbar fuer Ideen,
Gruss vom Frank.

Hallo,

Dummerweise laufen alle CGIs mit den Rechten eines Nutzers:
dem, unter dem der Webserver laeuft. Und nu’? Ich suche
dafuer auch schon lange nach einer Loesung.

Und spricht etwas dagegen genau diesem Nutzer die Leserechte (z.B. via ACLs) zu entziehen? Ich wüßte nicht warum der Webserver Leserechte in diesem Verzeichnis braucht (solange das x-Bit gesetzt ist kann er ja noch an die Dateien ran).

Nur so am Rande: wieso willst du das eigentlich?

Grüße,
Moritz

Hallo,

Hi,

Und spricht etwas dagegen genau diesem Nutzer die Leserechte
(z.B. via ACLs) zu entziehen?

Ja: er kann die CGIs der anderen Nutzer nicht mehr lesen.

Ich wüßte nicht warum der Webserver Leserechte in diesem
Verzeichnis braucht (solange das x-Bit gesetzt ist kann er ja
noch an die Dateien ran).

Wie geht x ohne r?

frank@bane [~] $ ls -l foo.pl
---x--x--- 1 frank admin 72 9. Mär 13:34 foo.pl
frank@bane [~] $ ./foo.pl
Can't open perl script "./foo.pl": Keine Berechtigung
frank@bane [~] $

Nur so am Rande: wieso willst du das eigentlich?

Normalerweise legen alle Nutzer ihre CGIs in ihren webspace. Darin befinden sich Passwoerter fuer *SQL usw. Alle CGIs muessen fuer den Webserver-Nutzer les- und ausfuehrbar sein. Ich will verhindern, dass ein Nutzer mit einem CGI die CGIs anderer Nutzer ausliest.

TIA,
Gruss vom Frank.

Hallo,

Wie geht x ohne r?

frank@bane [~] $ ls -l foo.pl
—x–x— 1 frank admin 72 9. Mär 13:34
foo.pl
frank@bane [~] $ ./foo.pl
Can’t open perl script „./foo.pl“: Keine Berechtigung
frank@bane [~] $

Ich glaube da gab es ein kleines Missverständnis. Ich meinte: die Leserechte für den Ordner entfernen, im OP ging es iirc um ‚opendir‘, ‚readdir‘ etc.

Nur so am Rande: wieso willst du das eigentlich?

Normalerweise legen alle Nutzer ihre CGIs in ihren webspace.
Darin befinden sich Passwoerter fuer *SQL usw. Alle CGIs
muessen fuer den Webserver-Nutzer les- und ausfuehrbar sein.
Ich will verhindern, dass ein Nutzer mit einem CGI die CGIs
anderer Nutzer ausliest.

Hm. Das ist doch sicher ein ziemlich häufiges Problem, oder? Spontan fällt mir nur ein den Webserver so zu konfigurieren dass mod_perl für jeden User in einem eigenen chroot läuft, aber gut hört sich das nicht an :frowning:

X-Post und F’up nach Server oder Unix und Linux.
Mist, geht hier ja nicht…

Grüße,
Moritz

Hm. Das ist doch sicher ein ziemlich häufiges Problem, oder?
Spontan fällt mir nur ein den Webserver so zu konfigurieren
dass mod_perl für jeden User in einem eigenen chroot läuft,
aber gut hört sich das nicht an :frowning:

Hört sich gut an! Ist das aber auch praktikabel?

Grüße Luma