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

  • Gast-Avatar
    Ein Gast erstellte das Thema [Erledigt] Dateien können nicht erzeugt werden.

    [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.

  • Gast-Avatar
    Ein Gast antwortete
    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.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Leider habe ich keinen Shell Zugriff. Wozu gibt es denn chown in PHP, wenn ich es nicht nutzen kann?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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).

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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

    Einen Kommentar schreiben:

Lädt...
X