Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Dateien können nicht erzeugt werden

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Dateien können nicht erzeugt werden

    Hallo,
    mein Webhoster setzt die Berechtigungen für die Dateien ca. alle 2 Monate auf 750. Ich bräuchte aber 770 um in wwwroot mittels php, html Dateien zu erzeugen und zu beschreiben. Da der Webhoster keine andere
    Möglichkeit hat, als die Berechtigung immer wieder auf 750 zu setzen, brauche ich eine andere Lösung. Gibt es eine Möglichkeit zum Erzeugen der Dateien in "Owner" zu wechseln und von dort aus die html Dateien für die "Group", wo ich ja durch 750 lediglich Read und Execute Rechte habe zu erzeugen?

    Ich hoffe, ich habe mich nicht zu kompliziert ausgedrückt. Ist ja das Profi Forum hier. Sollte es doch zu schräg sein sagt es mir bitte und ich versuche es noch einmal.

    Vielen Dank für Antworten.


  • #2
    Setz einfach mit jedem Aufruf der Seite die Rechte deiner Datei auf 750 um.
    Da gibt es eine PHP-Funktion für welche mir zurzeit net geläufig ist.

    // EDIT

    Die Funktion heißt chmod(string filename,int mode);

    http://www.dynamic-webpages.de/php/function.chmod.php

    Kommentar


    • #3
      Re: Dateien können nicht erzeugt werden

      Zitat von Maximus*Levius
      mein Webhoster setzt die Berechtigungen für die Dateien ca. alle 2 Monate auf 750. Ich bräuchte aber 770 um in wwwroot mittels php, html Dateien zu erzeugen und zu beschreiben.
      0770 ist falsch. Du brauchst 0775 für die Verzeichnisse und 0664 für die Dateien.

      Der Webhoster soll in der FTP-Config die Maske von 022 (ergibt 750) auf 002 (ergibt 0775) setzen.

      Kommentar


      • #4
        Danke für eure Antworten.
        @ meikel: Deinen Vorschlag finde ich ziemlich gut. Es handelt sich aber um ein Netzwerk von Seiten, bei dem das geändert werden müsste. Ich werde versuchen den Admin zu überreden alle configs zu editieren.

        @ Dragic: Auf deinen Vorschlag wird es vermutlich am Ende hinauslaufen. Kann man mit chmod nur die Berechtigung der Datei in der diese Funktion abläuft ändern oder auch die des Ordners, in dem sich die Datei befindet?

        Danke noch einmal.

        Kommentar


        • #5
          Zitat von Maximus*Levius
          Kann man mit chmod nur die Berechtigung der Datei in der diese Funktion abläuft ändern oder auch die des Ordners, in dem sich die Datei befindet?
          Beides. Linux macht da keine Unterschiede.

          Beachte dabei: Dateien (wenn es nicht gerade Shellscripts sind) dürfen nicht ausführbar sein. Also 0644 oder 0664

          Verzeichnisse müssen, damit sie "betreten" werden dürfen, "ausführbar" gemacht werden. Also 0755 oder 0775

          Beachte zusätzlich, daß Du bei chmod zwingend eine Oktalzahl angeben mußt. Kein String, keine Integervariable. Sonst fängt PHP mit Typecasting an, läßt die 0 weg und fängt an zu rechnen. Das Ergebnis könnte unter Umständen so bitter ausfallen, daß Du via Hotline den Root bitten mußt, die Datei zu ändern oder zu löschen, falls Du bei falsch gesetzten Flags nicht mehr dran kommst.

          Kommentar


          • #6
            Auf meinem localhost habe ich überhaupt keine Probleme, die Rechte zu ändern. Sobald ich das Script online ausführen möchte gibt chmod auf einmal false zurück. Werden solche Aktionen vielleicht grundsätzlich von Webhostern aus Sicherheitsgründen unterbunden?

            Kommentar


            • #7
              Zitat von Maximus*Levius
              Auf meinem localhost habe ich überhaupt keine Probleme, die Rechte zu ändern. Sobald ich das Script online ausführen möchte gibt chmod auf einmal false zurück. Werden solche Aktionen vielleicht grundsätzlich von Webhostern aus Sicherheitsgründen unterbunden?
              Generell darf nur der Eigentümer der Dateien die Rechte ändern. Der heißt entweder Apache (wwwrun) oder FTP-User (zB. Du).

              Kommentar


              • #8
                Mein Webhost-Admin meint, dass die scripte auf deren Server unter dem user nobody laufen. Aus diesem Grund habe ich mir überlegt, nobody für den Ordner mittels chown zugriff zu erteilen. Gibt es dazu irgend welche Einwände, Warnungen, Anregungen?

                Kommentar


                • #9
                  Zitat von Maximus*Levius
                  Mein Webhost-Admin meint, dass die scripte auf deren Server unter dem user nobody laufen. Aus diesem Grund habe ich mir überlegt, nobody für den Ordner mittels chown zugriff zu erteilen.
                  Hast Du Shell Zugriff? Mit PHP geht das nicht, weil chown nur vom Eigentümer der Dateien ausgeführt werden darf (wenn man kein root ist).
                  Gibt es dazu irgend welche Einwände, Warnungen, Anregungen?
                  Das könnte ich Dir sagen, wenn ich Deine PHP Config kennen würde.

                  Kommentar


                  • #10
                    Leider habe ich keinen Shell Zugriff. Wozu gibt es denn chown in PHP, wenn ich es nicht nutzen kann?

                    Kommentar


                    • #11
                      Zitat von Maximus*Levius
                      Leider habe ich keinen Shell Zugriff. Wozu gibt es denn chown in PHP, wenn ich es nicht nutzen kann?
                      PHP als Apachemodul: Du kannst mit dem chown von PHP nur die Dateien ändern, die dem Webserver gehören. Die Dateien, die Du gerade per FTP hochgeladen hast, gehören aber nicht dem Webserver.

                      PHP als CGI: hier macht chown mehr Sinn, weil da die Scripte mit den Rechten des Eigentümers (FTP-User) ausgeführt werden.

                      Kommentar

                      Lädt...
                      X