open_basedir

  • Hallo!


    Nachdem open_basedir schön viel Ärger gemacht hatte, wollte ich fragen, wie konfiguiere ich open_basedir, sodass es auf /tmp zugreifen kann?

  • Nun das mit dem Open_basedir ist immer so eine Sache. Es sagt im prinzip nur das ein Script nur auf Dateien in diesem Ordner zugreifen kann. Am besten legst du das open_basedir in das Verzeichniss des Kunden...


    Beachte aber das ein schlecht gesetztes open_basedir den Server gefährden kann.
    z.B:

    Code
    open_basedir = /srv/www/htdocs/web1


    Erlaubt den Zugriff auf alle Dateien in diesem Ordner, genauso aber auf Dateien in den Ordnern /srv/www/htdocs/web123 und /srv/www/htdocs/web19423/unterordner usw.

    Code
    open_basedir = /srv/www/htdocs/web1/


    Erlaubt den Zugriff nur auf Dateien innerhalb von diesem Ordner, allerdings wird es gleichzeitig unmöglich eine Dateiliste des Ordners "web12" zu erhalten oder dessen Eigenschaften auszulesen, da in diesem Fall der Ordner selber (/srv/www/htdocs/web12) geöffnet werden muss und (durch den endenden "/" im open_basedir Parameter) dies nicht erlaubt ist. (open_basedir Wert ist nicht im zu öffnenden Dateipfad enthalten).


    Am besten legst du für jeden einzelnen Kunden in der hhtpd.conf ein eigenes open_basedir fest
    So wird open_basedir in der httpd.conf verwendet:

    Code
    <VirtualHost *:80>
     ServerName www.seite.de
     DocumentRoot /var/www/www.seite.de/html
     php_admin_value open_basedir /var/www/www.seite.de/
     </VirtualHost>


    auch der zugriff auf mehrere Ordner ist möglich, einfach mit einem ":" trennen

    Code
    php_admin_value open_basedir /var/www/www.seite.de/:/tmp


    Hoffe etwas geholfen zu haben


    In diesem Sinne

  • Per SYSCP kann ich open_basedir an und aus machen. Aber es sind Verzeichnisse vorgegebn, die in der php.ini nicht stehen. Kann ich dann trotzdem die php.ini einfach so editieren? (Also den Eintrag)

  • Zitat

    Kann ich dann trotzdem die php.ini einfach so editieren? (Also den Eintrag)


    Können kannst du alles (außer arbeiten am Kernel), nur ob das sinnvoll ist weiß ich nicht. Ich kenne den Aufbau von diesem Dingens nicht und im schlimsten fall wird nichts mehr gehen. Schau mal in der ANleitung von SysCp da wird bestimmt was zu finden sein, ich gehe immer den Manuellen weg :)


    In diesem Sinne