Owncloud10 open_basedir restriction in effect

  • Hallo,


    ich bin etwas ratlos und wende mich deshalb an euch. Ich habe auf meinem Webhosting-Paket "4000 SE" owncloud 10.0.10 installiert. Hab ich an die Anleitung auf der Owncloud Seite gehalten und hat soweit auch funktioniert. Nur wenn ich mich einloggen möchte, dann kommt irgendwan ein "504 Gateway-Timeout" und das owncloud.log wird mit hunderten Nachrichten von dieser Art gefüllt:


    Mir ist klar, dass der Zugriff auf File(/) verboten ist, aber wieso möchte Owncloud auf diesen Pfad zugreifen? Habe ich etwas falsch konfiguriert?

    Bin dankbar für eure Tipps und Lösungsvorschläge.


    Gruß
    Mazze

  • Fehlt dir eventuell die .htaccess?


    RS 2000 Plus SAS G8 | VPS 2000 G8 Plus | VPS Ibiza/16 Years | 3x VPS 200 G8 | EiWoMiSau

    www.jeff24.de - www.serioese-alternative.de - www.jeff-media.de

  • Auf den ersten groben Blick versucht hier owncloud auf eine Datei außerhalb der erlaubten Verzeichnisstruktur zuzugreifen. Wurde bereits etwas an dieser geändert, z.B. das Dateiverzeichnis?


    Owncloud möchte darauf zugreifen, da es das Herzstück des Cloudspeichers ist, nämlich die Ablage der Dateien.

    Denken ist wie googeln, nur viel krasser ....

    ——

    Alle Beiträge geben nur meine persönliche Meinung wieder und sind keinesfalls als Rechtsberatung zu bewerten..

  • Die open_basedir Einstellungen kannst du in den PHP-Einstellungen im WCP ändern. Ich gehe mal davon aus, dass hier momentan bei dir nur innerhalb der document root und auf die temporären Verzeichnisse zugegriffen werden darf seitens PHP. Das ist die Default-Einstellung. Du solltest also mal die andere Alternative ausprobieren, damit darf PHP auch auf alles innerhalb deines Webspace zugreifen. Nachteil: Hast du mehrere Projekte/Domains in diesem Webspace, dann kann owncloud auch auf die Dateien der anderen Projekte zugreifen, könnte diese also im worst case auch ändern oder löschen.

  • Hay,

    Die open_basedir Einstellungen kannst du in den PHP-Einstellungen im WCP ändern.

    a) open_basedir zu ändern ist in der Regel der schlechteste Weg.

    b) ich glaube kaum, dass Du mit einem Webhosting-Account auf / schreiben darfst. Aus Sicht des Apachen ist / nicht das chroot-/, sondern das echte Wurzelverzeichnis.


    CU, Peter

  • Wohl wahr, dann ist die Cloud wohl einfach falsch konfiguriert. Owncloud habe ich noch nicht verwendet, dafür aber andere Systeme, für die man die open_basedir-Einstellungen tatsächlich ändern muss, da eigentlich auf das ganze Installationsverzeichnis der Anwendung zugegriffen werden muss, das document root aber z.B. bei Symfony-Anwendungen nicht das Installationsverzeichnis ist, sondern ein Unterverzeichnis davon. open_basedir Einstellung ist im Webhosting leider nur sehr grob möglich (document root oder ganzer Webspace), document root reicht nicht, also webspace root praktisch erzwungen. Natürlich suboptimal, ist aber im Vergleich zu vielen anderen Webhostern immer noch (etwas) besser. Oder welchen anderen Weg hattest Du als besser im Auge (Punkt a) )?


    Bei owncloud scheint aber keine solche Konstellation vorzuliegen, eventuell wurde einfach der gewünschte Pfad zu den Daten falsch gesetzt, auf das Wurzelverzeichnis des Webservers wird man natürlich (hoffentlich ;) ) nicht schreiben dürfen

  • Hay,

    Fehlt dir eventuell die .htaccess?

    Diese Frage (und unter dem Spoilerbutton befindet sich die Datei) ist eigentlich noch nicht beantwortet, wobei ein Zugriff auf ein File (bzw. realpath()) ins Dateisystem geht und nicht per htaccess umgebogen wird.


    Du hast im Owncloud Verzeichnis ein config-Verzeichnis mit einer config.php. Bitte poste mal die Zeile 'datadirectory'.


    CU, Peter

  • Du hast im Owncloud Verzeichnis ein config-Verzeichnis mit einer config.php. Bitte poste mal die Zeile 'datadirectory'.


    CU, Peter

    Das war und ist ja auch mein Ansatz. Ich denke dass das Datenverzeichnis woanders liegt, aber der Pfad nicht angepasst wurde.

    Denken ist wie googeln, nur viel krasser ....

    ——

    Alle Beiträge geben nur meine persönliche Meinung wieder und sind keinesfalls als Rechtsberatung zu bewerten..

  • Hay,


    Ich denke dass das Datenverzeichnis woanders liegt


    der nächste Schritt wäre gewesen, zu fragen, ob das Verzeichnis korrekt ist und der übernächste wäre, die Zugriffsrechte des Verzeichnisses zu überprüfen :Dund der letzte Schritt wäre die Anmerkung, dass gerade diese Meldung recht häufig in (bestätigten) Bugreports auftaucht =O


    Aber eins nach dem anderen.


    CU, Peter

  • Hi zusammen,


    danke für die vielen Antworten.


    Also das datadirectory sitz so: "'datadirectory' => '/httpdocs/www-mazze-online/owncloud/data'," for die occ Kommandos, für die Nutzung über die Anwendung/Browser muss ich den Pfad dann noch anpassen in "'datadirectory' => '/var/www/vhosts/hosting117411.a2f3f.netcup.net/httpdocs/www-mazze-online/owncloud/data'"


    Da ich nur mit dem Hosting-User Dinge anlegen usw. kann passen die Rechte des Verzeichnisses in meinen Augen auch "drwxrwx" Owner ist der Webhosting User "hosting117411"


    Sieht also für mich auch alles korrekt aus. Ich bin echt sehr verwundert.


    htaccess passt auch, ist die original von owncloud.


    Weitere Ideen? Ich glaube ich probier später nochmal Owncloud 9.1.4 zu verwenden, diese hatte ich schon mal ohne Probleme am Laufen....

  • Ja aber wenn ich das jetzt richtig versteh, dann ist das DataDirectory noch nicht angepasst? Und dann ist es klar das die Fehlermeldung erscheint und nicht weiter verwunderlich. Pass es mal an und dann schau ob owncloud dann läuft. Also was die Vermutung doch richtig.

    Denken ist wie googeln, nur viel krasser ....

    ——

    Alle Beiträge geben nur meine persönliche Meinung wieder und sind keinesfalls als Rechtsberatung zu bewerten..

  • Das datadirectory ist angepasst:


    Wenn ich diese hier habe, dann kommen auf der Login-Seite ja nichmal die Login-Felder und die Meldung, dass das datadirectory falsch ist.

    Code
    1. 'datadirectory' => '/httpdocs/www-mazze-online/owncloud/data'


    Habe es dann auf

    Code
    1. 'datadirectory' => '/var/www/vhosts/hosting117411.a2f3f.netcup.net/httpdocs/www-mazze-online/owncloud/data'

    gesetzt, dann wird die Login-Seite korrekt angezeigt, aber beim Anmelden kommt es dann zu dem beschriebenen Fehler.

  • Und wo liegt das owncloud document root bzw. auf welches Verzeichnis zeigt die Domain? Lief owncloud 9.x auch schon auf dem Webspace? Also Nextcloud läuft einwandfrei nach der Installation und so verschieden sind owncloud und nextcloud bei den Verzeichnissen nicht.


    Am besten mal die Einstellungen offenlegen, den so kann man nicht richtig helfen.

    Denken ist wie googeln, nur viel krasser ....

    ——

    Alle Beiträge geben nur meine persönliche Meinung wieder und sind keinesfalls als Rechtsberatung zu bewerten..

  • Hay,


    naja, ein paar Sachen kann man noch machen...


    Ich gehe davon aus, dass

    muss ich den Pfad dann noch anpassen in

    heißt, dass Du es schon angepasst hast, sonst wäre es natürlich falsch gewesen. "Muss ich anpassen" signalisiert, es wäre noch nicht getan worden und wird irgendwann gemacht. Also wenn noch nicht, dann spätestens jetzt.


    Log Dich mal bitte per ssh ein und gebe diesen Befehl ein:

    Code
    1. cd /var/www/vhosts/hosting117411.a2f3f.netcup.net/httpdocs/www-mazze-online/owncloud/data

    funktioniert das ohne Fehlermeldung?


    Lege im ./httpdocs/mazze-online/owncloud/ Verzeichnis eine Datei an, die Du test.php nennst:


    PHP
    1. <?php
    2. // aktuelles Verzeichnis
    3. echo substr(sprintf('%o', fileperms(".")), -4) . ": " . posix_getpwuid(fileowner("."))["name"] . ": " . getcwd() . "<br>\n";
    4. chdir("data");
    5. echo substr(sprintf('%o', fileperms(".")), -4) . ": " . posix_getpwuid(fileowner("."))["name"] . ": " . getcwd() . "<br>\n";
    6. ?>

    Rufe sie auf mit https://www.deinedomain.tld/owncloud/test.php und kopiere den Output hier hinein.


    CU, Peter

  • Hallo Peter,


    per ssh ist das Verzeichnis nicht erreichbar:

    Code
    1. bash: cd: /var/www/vhosts/hosting117411.a2f3f.netcup.net/httpdocs/www-mazze-online/owncloud/data: Datei oder Verzeichnis nicht gefunden
    2. bash: cd: /var/www/vhosts/hosting117411.a2f3f.netcup.net/httpdocs/www-mazze-online/owncloud/: Datei oder Verzeichnis nicht gefunden


    Ausgabe der test.php

    Code
    1. 0755: hosting117411: /var/www/vhosts/hosting117411.a2f3f.netcup.net/httpdocs/www-mazze-online/owncloud
    2. 0755: hosting117411: /var/www/vhosts/hosting117411.a2f3f.netcup.net/httpdocs/www-mazze-online/owncloud
  • Hay,


    das erste Ergebnis ist ok. In der ssh-Shell bist Du so ge-chrootet, dass Du den Pfad nicht sehen kannst (ich habe es eben ausprobiert).


    Allerdings lässt mich das Ergebnis des Scripts rätseln. Das kann so NUR dann sein, wenn es kein data-Verzeichnis innerhalb des /owncloud-Verzeichnisses gibt (Apache-Errorlog checken während des Aufrufens tail -f /logs/www.deinedomain.tld/error_log sollte das sein, ggf. die Fehlermeldung hier posten).


    Bitte unbedingt noch zweimal nachschauen...


    Außerdem sollte das owncloud-Verzeichnis (und das /owncloud/data/-Verzeichnis) das Recht 750 haben - hat es bei mir auch (allerdings auf einem Root-Server). Doch ändern könntest Du es nicht in ssh, weil Du kein chmod hast :D. Mit einem ftp-Programm (probiert mit Filezilla im Webhosting 1000SE) lässt sich das aber per sftp ändern.


    ps: die doppelte Ausgabe so wie bei Dir kommt bei mir genauso, wenn ich das data-Verzeichnis lösche.


    CU, Peter

  • Hay,


    noch ein Nachtrag: das mit den Logfiles ist im Webhosting etwas wirr bei mir - das Verzeichnis im Lofile ohne "www.". Und bei mir wird kein Fehler geschmissen, man muss auf der Domain vorher in den PHP-Einstellungen das errorlogging einschalten:


    pasted-from-clipboard.png

    Dann wirft er bei mir, wenn data fehlt:

    Code
    1. [Mon Dec 03 23:54:51.012959 2018] [fcgid:warn] [pid 16633] [client xxxx] mod_fcgid: stderr: PHP Warning: chdir(): No such file or directory (errno 2) in
    2. /var/www/vhosts/hosting11xxxxx.axxx.netcup.net/httpdocs/domain.de/test.php on line 4

    chmod gibt's.

    Danke, verwechselt chown gibts nicht :)


    CU, Peter

  • Danke für Eure Mühe. Aber nachdem es vorhin nicht funktioniert hat, habe ich nextcloud ausprobiert und das hat ohne Probleme sofort funktioniert. Konnte recht einfach eine Migration meiner Daten machen und bin nun auf der letzten nextcloud-Version, carddav, caldav, alles funktioniert wunderbar.


    Daher ist dieser Fall für mich erledigt.