403 Auf Symlink im Web-Root verboten

8

Ich bin auf einem Shared-Hosting-Paket auf einem LAMP-Stack ohne Shell-Zugriff.

Ich kann Symlinks mit PHP symlink() Funktion erstellen.

Nehmen wir an, mein Webstamm ist /home/www/user1/public

Nehmen wir an, ich habe ein echtes Verzeichnis namens /home/www/user1/public/real_dir

Und ich erstelle einen Symlink namens /home/www/user1/public/fake_dir , der auf real_dir

zeigt

Warum sollte ich eine 403 verboten erhalten, wenn ich versuche, auf www.mydomain.com/fake_dir zuzugreifen, aber nicht, wenn ich auf www.mydomain.com/real_dir zugreifen möchte?

Es sollte kein Rechteproblem sein, denn wenn ich eine Datei in PHP erstelle, kann ich darauf zugreifen.

Ich habe versucht, FollowSymlinks aus und wieder in .htaccess (es war eingeschaltet) zu schalten, aber kein Glück.

Könnte es sein, dass FollowSymlinks in einer .htaccess-Datei als nicht überschreibbar definiert ist? Oder ist bei der Arbeit mit Symlinks in Apache noch etwas zu beachten?

    
Pekka 웃 07.02.2010, 19:56
quelle

2 Antworten

4

Apache muss so konfiguriert werden, dass der Zugriff auf das Verzeichnis im Dateisystem möglich ist. Dies muss von einem Systemadministrator durch Einfügen eines & lt; Directory & gt; Anweisung in den Apache-Konfigurationsdateien (httpd.conf).

Da sich das reale Verzeichnis im Web-Root befindet, muss es zugänglich sein, aber FollowSymLinks wurde möglicherweise nicht für das Verzeichnis aktiviert - dies muss auch dem Verzeichnis & lt; Directory & gt; hinzugefügt werden. Richtlinie.

Siehe Ссылка

    
Sam 07.02.2010, 20:12
quelle
0

Dies ist möglich SELinux Sicherheitsproblem.

cat / selinux / erzwingen Wenn der Wert 1 ist, setze ihn auf 0 und starte Apache neu.

    
Kenny Kang 08.03.2011 03:49
quelle

Tags und Links