Ordnerberechtigung

  • Hallo,


    ich habe einen virtual server auf dem ich ein php programm laufen habe, wo sich leute registrieren und danach einloggen können.
    bei jeder registrierung soll ein ordner erstellt werden, wo danach fotos hinaufgeladen werden können.
    ich erstelle den order mit

    PHP
    mkdir("ordnername", 0777);


    Allerdings wird der Ordner nur mit der Berechtigung 0755 erstellt mit dem Besitzer 33 33.
    Erstelle ich einen Ordner mit File Zilla hat dieser dann auch die berechtigung 0775, jedoch kann man die berechtigung auf 0777 stellen, was aber beim ordner vom php-programm nicht funktioniert.
    file zilla meldet da: 550 CHMOD 777 ordner: Operation not permitted


    kann man unter php irgendwie die rechte so vergeben, dass dies funktioniert?
    danke schon jetzt für hilfe :)

  • Läuft PHP per suphp? Falls ja, so kann man in der /etc/suphp/suphp.conf die passende umask einstellen.


    Code
    ;Umask to set, specify in octal notation
    umask=0022


    Wenn FZ meldet Operation not permitted, wird es daran liegen das die Daten wohl www-data gehören oder dem PHP ausführenden Benutzer.

  • Danke für die schnelle Antwort :)


    php läuft nicht über suphp..



    ja glaube ich auch. kann man hier die berechtigungen ändern, dass dieser www oder php nutzer solche ordner erstellen darf?


    mfg

  • Habe ich mit chmod() probiert, die berechtigungen werden zwar auf 777 geändert, jedoch der besitzer nicht. laut google gibt es eine funktion den besitzer zu ändern. habe ich auch probiert -> kein erfolg. deswegen kann ich keine Fotos in diesem ordner laden...

  • Wieso willst du denn den Besitzer ändern? Mittels der Rechte 777 hat doch sowieso bereits jeder Schreibzugriff?



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • anscheinend nicht... :/
    also wenn ich jetzt per php einen ordner erstelle, hat er die berechtigung: 0777 (durch chmod geändert) und den besitzer 33
    wenn ich einen ordner per fileziella erstelle, kann ich die berechtigung auf 0777 setzen, und der besitzer ist 10000
    jetzt will ich ein foto über php hochladen. auf dem ordner mit dem besitzer 33 und berechtigung 0777 wird nichts hochgeladen
    im ordner, der mit fileziella erstellt wurde, funktioniert es einwandfrei.

  • Ist bei dir eventuell der Safe Mode von PHP aktiviert? Und versuche es einmal nur mit 777, 0777 kann teilweise zu unerwarteten Problemen bei PHP's chmod() Funktion führen.



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • safe mode habe ich jetzt deaktiviert. aber wird dadurch eh nichts unsicherer?
    muss ich open base dir auch deaktivieren?


    habe statt 0777 jetzt 777 geschrieben und jetzt zeigt er unter file ziella die berechtigung e(01411) an.


    mfg markus

  • habe statt 0777 jetzt 777 geschrieben und jetzt zeigt er unter file ziella die berechtigung e(01411) an.


    Als String oder als Int? Das macht bei den oktalen Werten einen Unterschied und führt eben zu diesen Problemen.



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)