Rechteproblm bei PHP Upload

  • Hi Leute,

    Ich schreibe nicht zum ersten mal einen Bild- bzw. Datei-Upload aber diesmal habe ich scheinbar ein Problem mit gewissen Verzeichnis-Rechten.

    Mein Script soll ein Bild in ein Verzeichnis kopieren, welches von den Dateirechten her schreiben definitiv für alle erlaubt. (rwx-rwx-rwx)

    Ich bekomme auch keine Fehlermeldung (permission denied oder so), das Verzeichnis bleibt einfach leer.

    Besitzer/Gruppe vom Script welches den Upload vornimmt, unterscheiden sich allerdings von denen des Zielverzeichnisses.

    Gleiche ich Besitzer/Gruppe vom Verzeichnis denen des Scripts an, funktioniert der Upload einwandfrei.
    Müssten Schreibrechte für alle nicht ausreichen?

    Kann mir das wer erklären?

  • Mit welchem Programm uploadest du?
    Ich empfehle Filezilla, ist kostenlos und super.

    Zudem empfehle ich nicht die Rechte auf "777" zu setzen, das ist unsicher.
    Es geht auch mit "755", aber naja egal.

    Ich versteh dich auch nicht voll, ganz ehrlich.
    Aber beantworte mal meine obige Frage.

  • Richtig! Ich weiß schon ungefähr was ich mache... ;)

    Das Problem ist ja, dass es scheinbar noch relevant ist ob das Upload-Script dem gleichen User bzw. der gleichen Gruppe gehört wie das Zielverzeichnis oder nicht. Denn mit uneingeschränktem Zugriff auf das letzteres (wie gesagt, a+rwx) ist es scheinbar nicht getan.

  • Sorry, ich nehme meine Fragen zurück, hab nicht gut genug gelesen, tschuldigt.

    Dann weiss ich gerade nicht, warum das nicht funktionieren soll.

  • Wirklich weiter hilft mir das nicht, muss ich zugeben.

    Mich wundert auch warum ich dieses Problem bisher nie hatte.
    Denn scheinbar kann ein Script eines Users nicht in ein Verzeichnis eines anderen Users schreiben, egal welche Rechte gesetzt sind.

  • Wirklich weiter hilft mir das nicht, muss ich zugeben.

    Mich wundert auch warum ich dieses Problem bisher nie hatte.
    Denn scheinbar kann ein Script eines Users nicht in ein Verzeichnis eines anderen Users schreiben, egal welche Rechte gesetzt sind.

    Hört sich nach safe mode an ;)

    schau mal deine php config (bzw. phpinfo) an

  • Besten Dank! PHP Safe Mode ist nun aus und der Upload funktioniert.

    Allerdings besteht immer noch ein Problem beim Verzeichnisse anlegen per PHP.

    PHP
    $dir = time();
    
    
    mkdir("../img/userimg/" . $dir);
    chmod("../img/userimg/" . $dir, 0777);
    mkdir("../img/userimg/" . $dir . "/thumb");
    chmod("../img/userimg/" . $dir . "/thumb", 0777);

    Das erste Verzeichnis wird angelegt, das zweite nicht. Zur Sicherheit setze ich die Rechte nochmal seperat, wobei 0777 standart ist, laut PHP Doku. In meinem Fall war dem leider nicht so.

    Die Rechte des ersten Verzeichnisses passen dann auch, trotzdem fehlt das zweite. Wo sind hier denn noch Differenzen zwischen den beiden?

    PS.: Kann auch gerne ins PHP Forum verschoben werden. War mir nicht sicher....

    Einmal editiert, zuletzt von FaFoo (16. November 2009 um 22:42)