chmod und mkdir Problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • psykadelik
    antwortet
    Original geschrieben von vigger
    Hallo zusammen...

    Also ich hab' das Problem jetzt gelöst.
    Besser gesagt umgangen.

    Ursache:
    Im SaveMode kann ein Skript nicht auf ein Verzeichnis zugreifen, welches von wwwrun erstellt wurde, da dieses Verzeichnis als Owner den wwwrun-Prozess hat...
    Siehe http://bugs.php.net/bug.php?id=24604

    Lösung:
    Eine FTP-Verbingung aufbauen vom Server zum Server, klingt bescheuert, tut aber) und mit ftp_mkdir() ein verzeichnis anlegen...

    Dieses hat dann den Richtigen Owner und man kann auch sinnvoll damit arbeiten.
    Beispiel:
    Siehe http://de3.php.net/manual/de/function.mkdir.php

    MfG Vigger


    harrrrr ....

    sorry das diese antwort jetzt mal gepusht wird, aber sie ist perfekt und löst genau mein problem mit dem safemode :-)

    danke vigger =)

    Einen Kommentar schreiben:


  • vigger
    antwortet
    Hallo zusammen...

    Also ich hab' das Problem jetzt gelöst.
    Besser gesagt umgangen.

    Ursache:
    Im SaveMode kann ein Skript nicht auf ein Verzeichnis zugreifen, welches von wwwrun erstellt wurde, da dieses Verzeichnis als Owner den wwwrun-Prozess hat...
    Siehe http://bugs.php.net/bug.php?id=24604

    Lösung:
    Eine FTP-Verbingung aufbauen vom Server zum Server, klingt bescheuert, tut aber) und mit ftp_mkdir() ein verzeichnis anlegen...

    Dieses hat dann den Richtigen Owner und man kann auch sinnvoll damit arbeiten.
    Beispiel:
    Siehe http://de3.php.net/manual/de/function.mkdir.php

    MfG Vigger

    Einen Kommentar schreiben:


  • schmalle
    antwortet
    Original geschrieben von xc_racer
    wie muss ich das mit einem verzeichnis machen mit / am ende oder ohne
    ausprobieren ist dir ein begriff?

    Einen Kommentar schreiben:


  • xc_racer
    antwortet
    ich dachte der befehl wäre nur für dateien. wie muss ich das mit einem verzeichnis machen mit / am ende oder ohne

    Einen Kommentar schreiben:


  • wahsaga
    antwortet
    Original geschrieben von xc_racer
    wie kann ich den owner der ordner auf 1030 setzten?
    http://www.php.net/manual/de/function.chown.php

    Einen Kommentar schreiben:


  • xc_racer
    antwortet
    ich hab das selbe problem wie "vigger" alle meine daten haben einen owner von 1030 nur meine mit mkdir erstellten ordner haben 65000 - schlag mich tot. wie kann ich den owner der ordner auf 1030 setzten?

    THX

    Einen Kommentar schreiben:


  • vigger
    antwortet
    Hallo zusammen!

    cih habe ein ähnliches Problem bei meinem Webhoster:
    Ich will ein Verzeichnis erstellen lassen, in dem dann anschließend weitere Verzeichnisse und Dateien abgelegt werden sollen.

    Wie bereits oben beschrieben ist als owner Apache und als Group nogroup eingetragen.

    Jetzt hab' ich das mit der Umask versucht, und laut FTP-Proggie hat das erstellte Verzeichnis auch die Rehchte 777.

    Nur wenn nich danach in das Verzeichnis wechseln will, oder darin ein weiteres Verzeichnis anlegen wiull, dann kommt folgende Meldung:

    OffTopic:
    Warning: mkdir() [function.mkdir]: SAFE MODE Restriction in effect. The script whose uid is 18153 is not allowed to access /home/www/htdocs/*****/_vigger/temp/testdir owned by uid 30 in /home/www/htdocs/*****/_vigger/temp/test.php on line 6


    kann mir einer einen Tipp geben, wie ich das hinbekomme?

    Wäre echt genial, da ich mittlerweile aufgegeben habe!

    MfG Vigger

    PS: der Code des Test-Skripts sieht momentan so aus:
    PHP-Code:
    <?PHP
      umask
    (0);
      
    mkdir("testdir"0777);
      echo 
    "1<br />";
      
    umask(0);
      
    mkdir("testdir/test2"0777);
      echo 
    "2<br />";
    ?>

    Einen Kommentar schreiben:


  • TobiaZ
    antwortet
    von IE kann ich ein Lied singen!

    Da versucht man ein Problem zu lösen, was allein der IE noch hat, und alle anderen nicht mehr. sogar mit strg+f5 macht ders nicht besser!

    Einen Kommentar schreiben:


  • BrainBug
    antwortet
    gern geschehen.

    Einen Kommentar schreiben:


  • Kropff
    antwortet
    ich habs, ich habs!
    hab zwischenzeitlich alles richtig gemacht, (umask(0)), nur der verkackte internet explorer hat doch tatsächlich eine fehlerhafte version gecachet.

    danke an BrainBug für die hilfe

    peter

    Einen Kommentar schreiben:


  • BrainBug
    antwortet
    wenn alle darauf vollen Zugriff haben sollen, warum machst du dann nicht

    $xmlfolder = mkdir ($rootdir.'/xml/'.date("y_m_d"),0777);

    ? dann können alle read|write|exec, vorausgesetzt, dass umask() steht auf 0. sonst sind wieder Rechte weg.

    Einen Kommentar schreiben:


  • Kropff
    antwortet
    warum braucht ein Ordner mehr Rechte? Oder welche hat er aktuell? Und welche soll er haben? Aber eigentlich doch egal, wenn du immer mit dem PHP-User darauf zugreifst, oder?
    ach das ist eine Intranet-Lösung, um für eine Datenbank XML-Dokumente mit base64-kodierten JPEGs zu erstellen, ich hatte das früher als cronjob laufen lassen, aber jetzt machen die das bei uns über den browser, greifen auf die daten aber über neztwerk mit dem normalen explorer zu und haben nicht die notwendigen rechte.

    ich muss also die rechte so setzen, dass alle vollzugriff haben, wie gesagt bei den dateien hats geklappt beim ordner nicht.


    gruss
    peter

    Einen Kommentar schreiben:


  • BrainBug
    antwortet
    0113 entspricht read|write für den Besitzer und die Gruppe und nur read für alle anderen. Da es sich ja um eine Maske handelt, sind die Werte die Einschränkung von 777. 0113 entspricht also 664 als chmod()

    warum braucht ein Ordner mehr Rechte? Oder welche hat er aktuell? Und welche soll er haben? Aber eigentlich doch egal, wenn du immer mit dem PHP-User darauf zugreifst, oder?

    Einen Kommentar schreiben:


  • Kropff
    antwortet
    @BrainBug

    das mit umask klappt bei den files wunderbar, nur der bei dem verfluchten ordner hat nur der benutzer volle rechte, hab da auch mal
    ein umask drübergejagt, aber das bringt garnichts.

    apropo wieso (0113)

    gruss
    peter

    Einen Kommentar schreiben:


  • BrainBug
    antwortet
    bevor du den File erstellst kannst du die Zugriffsmaske mit

    umask(0113);

    festlegen. Vielleicht klappt's dann?

    Einen Kommentar schreiben:

Lädt...
X