sandra: chmod 777 fehler

Hi,

wenn ich mkdir() einen Ordner erstelle und dem mit chmod() 0777 Rechte gebe, werden die auch richtig in meinem FTP-Client angezeigt. Wenn ich die mit dem Client ändern will sagt er allerdings "Operation not permittet". Habs auch schon mit anderen probiert, geht aber nicht.

Außerdem scheint der chmod auch nicht wirklich übernommen worden sein, weil ein write-Zugriff über php auch abgelehnt wird.

Freue mich über Hilfe
LG

  1. Hello,

    wenn ich mkdir() einen Ordner erstelle und dem mit chmod() 0777 Rechte gebe, werden die auch richtig in meinem FTP-Client angezeigt. Wenn ich die mit dem Client ändern will sagt er allerdings "Operation not permittet". Habs auch schon mit anderen probiert, geht aber nicht.

    Außerdem scheint der chmod auch nicht wirklich übernommen worden sein, weil ein write-Zugriff über php auch abgelehnt wird.

    Du müsstest Dir erstmal über die Eigentümer- und Gruppeneigenschaften der Files klar werden.
    Und dann musst Du überlegen, unter welchem User die Prozesse laufen.

    also

    • FTP unter dem FTP-User
    • PHP als Modul i.d.R. unter einem festgelegten User für alle Shared Hosting Teilnehmer
    • PHP als CGI unter dem Owner der Scripte
    • ...

    Welche Gruppen sind für die Scripte und Verzeichnisse, in denen sie liegen, eingetragen?
    Läuft PHP bei Dir als SAPI-Modul oder als CGI /Fast-CGI?

    Erst dann kann man Dir wirklich helfen.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Welche Gruppen sind für die Scripte und Verzeichnisse, in denen sie liegen, eingetragen?
      Läuft PHP bei Dir als SAPI-Modul oder als CGI /Fast-CGI?

      Erst dann kann man Dir wirklich helfen.

      Hi,
      also davon hab ich mal überhaupt keine Ahnung. Die Dateien leigen auf keinem Shared-Server. Also ich kann da alles einstellen (lassen) was ich will. D.h. es würde mir reichen, wenn ich wüsste, was ich meinem Admin sagen soll :-) Ich möchte einfach nur nen Ordner per php erstellen können, in welchen man von der HP aus schreiben kann. Wenn du mir sagen kannst, was ich meinem Admin schreiben soll, dann reicht das vollkommen. Der versteht bestimmt was du meinst ;-)

      1. also was ich halt nicht verstehe:

        der Überordner hat die Rechte 777. Kann ich nicht einfach irgendwo einstellen, dass darin erstellte Ordner (auch über php erstellt) automatisch die selben Rechte haben wie der Überordner? Dann bräuchte ich chmod gar nicht mehr angeben...

        1. der Überordner hat die Rechte 777. Kann ich nicht einfach irgendwo einstellen, dass darin erstellte Ordner (auch über php erstellt) automatisch die selben Rechte haben wie der Überordner?

          Setgid und Setuid könnten eine Möglichkeit sind - die sorgen ggf. dafür, dass neu erstelle Files die Gruppe oder den Owner des übergeordneten Ordners annehmen. Funktioniert aber nicht in jedem Unix/Linux.

          1. Hello,

            der Überordner hat die Rechte 777. Kann ich nicht einfach irgendwo einstellen, dass darin erstellte Ordner (auch über php erstellt) automatisch die selben Rechte haben wie der Überordner?

            Setgid und Setuid könnten eine Möglichkeit sind - die sorgen ggf. dafür, dass neu erstelle Files die Gruppe oder den Owner des übergeordneten Ordners annehmen. Funktioniert aber nicht in jedem Unix/Linux.

            SetUID gibt es mWn nur für ausführbare Files und es bedeutet, dass das Programm dann unter der Kennung des Owners des Files ausgeführt wird und nicht unter der kennung des Aufrufers. Das hat dann gravierende Rechteänderungen zur Folge. Ein Ottonormaluser kann z.B. mit Hilfe eines so gekennzeichneten Scriptes die darin enthaltenen ROOT-Aktionen ausführen, wenn das Script Root gehört.

            SetGID gitb es auch für Verzeichnisse, was Du wahrscheinlich meintest. Das führt dann dazu, dass das im Verzeichnis neu angelegte File dieselbe Gruppe erhält, wie das Verzeichnis.

            Liebe Grüße aus dem schönen Oberharz

            Tom vom Berg

            --
             ☻_
            /▌
            / \ Nur selber lernen macht schlau
            http://bergpost.annerschbarrich.de
            1. SetUID gibt es mWn nur für ausführbare Files und es bedeutet, dass das Programm dann unter der Kennung des Owners des Files ausgeführt wird und nicht unter der kennung des Aufrufers.

              Unter FreeBSD trifft das zu ja, aber eben auch die von dir genannte Funktionalität von setgid:

              http://www.freebsd.org/cgi/man.cgi?query=chmod&apropos=0&sektion=0&manpath=FreeBSD+6.1-RELEASE&format=html

              Directories with this bit set will force all files and sub directories created in them to be owned by the directory owner and not by the uid of the creating process, if the underlying file system supports this feature [...]

              Darum erwähnte ich ja, dass das nicht in jedem Linux/Unix funktioniert.