|
|
|
|
mit Hardlink Apache austricksen |
Zmaster
Junior Member
Dabei seit: 15.02.2003
Beiträge: 133
|
|
mit Hardlink Apache austricksen |
|
Hallo,
ich habe auf meinem Linux Server Apache laufen.
Apache hat Zugriff auf das Verzeichnis /tmp. Ich möchte aber bestimmte Dateien im Ordner /svr gespeichert behalten, damit nach dem Neustart die Dateien nicht futsch sind. Da dachte ich mir, dass ich einen Link auf das Verzeichnis setze. Beim Hardlink hat er rumgemeckert und beim Softlink scheint es der Apache gemerkt zu haben, denn dann meckert er wieder rum.
code: |
1:
|
open_basedir restriction in effect |
|
Gibt es eine Möglichkeit einen solchen Link zu setzen ohne dass Apache was merkt oder kann mir einer sagen, wo ich im Apache einstellen kann, dass er meinen Ordner mit in seiner Sammlung von erlaubten Ordnern aufnimmt.
Danke an dieser Stelle!
zmaster17de
|
|
02.11.2005 18:38 |
|
|
gandalf
der mit ohne
Dabei seit: 06.01.2002
Beiträge: 2.099
Herkunft: Mittelerde
|
|
Beim Apache2 kann man Symlinks aktivieren. die Option müsste FollowSymlinks oder so ähnlich heissen. Der Apache1 unterstützt das meines Wissens nach nicht.
Das erlauben von Symlinks kann aber sicherheitstechnische Probleme aufwerfen und ist nicht unbedingt empfehlenswert.
Gruss
gandalf
__________________
Kein Mensch ist unnütz, er kann immer noch als schlechtes Vorbild dienen
|
|
02.11.2005 18:48 |
|
|
Zmaster
Junior Member
Dabei seit: 15.02.2003
Beiträge: 133
Themenstarter
|
|
In welcher Datei ich das finde, kannst du mir nicht zufällig sagen, oder?
|
|
02.11.2005 19:20 |
|
|
gandalf
der mit ohne
Dabei seit: 06.01.2002
Beiträge: 2.099
Herkunft: Mittelerde
|
|
Beim Apache1 sollte die Einstellung in der httpd.conf sein.
Beim Apache2 ist das in der Datei apache2.conf.
Beide Dateinen befinden sich in /etc/apache oder /etc/apache2.
Gruss
gandalf
__________________
Kein Mensch ist unnütz, er kann immer noch als schlechtes Vorbild dienen
|
|
02.11.2005 19:39 |
|
|
Zmaster
Junior Member
Dabei seit: 15.02.2003
Beiträge: 133
Themenstarter
|
|
Also apache2.conf gibt es leider nicht.
Sehr verdächtig meiner Meinung nach, ist die Datei httpd.conf. Doch leider habe ich da weder was von basedir noch von FollowSymlinks gefunden.
|
|
02.11.2005 20:05 |
|
|
LX
El Comandante en Jefe
Dabei seit: 25.11.2001
Beiträge: 5.372
Herkunft: Berliner Bronx
|
|
Die Frage ist eher, was aus dem, was der Apache in /tmp ablegt, so interessant für dich ist, dass du's aufheben willst? Normalerweise landet dort hauptsächlich temporär der Kram, der beispielsweise über ein Uploadformular hochgeladen wird. Das sollte aber anschließend in ein Verzeichnis des Webservers verschoben werden.
Ansonsten könntest du dir auch ein Shellscript schreiben, welches beim Runterfahren ausgeführt wird und den Inhalt aus /tmp irgendwo sichert.
__________________ JS-Games.de - Misled Scripting Skills Gone Mad | Meine Filmkritiken | Urban Photography
Kommt mal in den IRC-Channel: irc.eu.freenode.net | Port 6667 | #blackboard
"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett
|
|
02.11.2005 21:15 |
|
|
gandalf
der mit ohne
Dabei seit: 06.01.2002
Beiträge: 2.099
Herkunft: Mittelerde
|
|
Wie der geneigte Leser oben schon gelesen hat, funktioniert das meines Wissens nach nur beim Apache2. Bei dem habe ich das selbst schon zum laufen gebracht, mit dem Apache1 nicht.
Ein Blick auf die Projekt-Page von Apache könnte Dir vielleicht auch noch helfen.
http://www.apache.org/
Gruss
gandalf
__________________
Kein Mensch ist unnütz, er kann immer noch als schlechtes Vorbild dienen
|
|
02.11.2005 21:18 |
|
|
Zmaster
Junior Member
Dabei seit: 15.02.2003
Beiträge: 133
Themenstarter
|
|
Um mich gegenüber LX kurz zu rechtfertigen:
Auf dem Server läuft ein Java Programm, was Dateien (Bilder genauer gesagt) speichert. Diese Dateien, wie soll es anders sein, sollen von der Website abrufbar sein.
Und du hast vollkommen recht: ich will diese Dateien nicht in das /tmp Verzeichnis speichern. Darum der Link. Der kann mit einem einfachen Skript nach dem Neustart wieder erstellt werden.
Leider habe ich bis jetzt keine Verbesserungen finden können. In meiner Config-Datei steht jetzt folgendes:
<Directory /var/www/>
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
Vielleicht kann ich den Pfad /svr/ irgendwie in den directory-tag mit aufnehmen. Wie könnte das aussehen?
@HazardEvil: Wie sieht der komplette Abschnitt (von directory bis files) aus?
[Edit]
Ok, habe jetzt erste Erfolge gehabt.
Der Grund lag daran, dass Apache beim Kompilieren eine weitere Datei mit einbezogen hat. Diese befand sich in: /var/www/vhosts/mydomain/config/httpd.include. Darin konnte ich mein /svr/ Verzeichnis mit rein machen. Das jetzt geht also schonmal.
Jetzt musste ich aber feststellen, dass mein Apache als Root läuft. Bin als Root angemeldet, möchte aber Apache als wwwrun laufen lassen. Ich dachte das macht er automatisch?
[/Edit]
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Zmaster: 04.11.2005 13:49.
|
|
03.11.2005 14:21 |
|
|
Misel
Hüter des Kitkat
Dabei seit: 02.11.2002
Beiträge: 1.203
Herkunft: live://home.berlin.d
e
|
|
worauf LX hinauswollte ist aber, dass Du mit Deinem PHP-Script (oder was auch immer Du nutzt, um die Daten weiterzuverarbeiten) die Daten direkt aus dem tmp-Verzeichnis dahinkopieren sollst, von wo der Webserver auch Zugriff hat und sie nicht beim leeren der tmp-files gelöscht werden.
Dabei solltest Du gleich prüfen, ob du wirklich Bilder bekommen hast und Dir niemand irgendein Script unterjubelt, um Deinen Server zu hijacken.
__________________ LAUFT! Ich spiele KILLERSPIELE!
|
|
04.11.2005 16:04 |
|
|
|
|
|
|