Andreas: Via PHP Datei erstellt, jedoch falsche Rechte!

Tag Zusammen

Ich habe einen witzigen Fehler gemacht. Ich habe folgendes Script verwendet um eine Datei auf meinem gemieteten Webspace zu schreiben!

$dateiname = "../bin_db/db_a.txt"; // Name der Datei
 $fp = fopen ($dateiname , "w"); // Datei öffnen
 fwrite ($fp , $text); // Dateiinhalt in die Datei schreiben
 fclose ($fp); // Datei schließen
 echo "Datei geschrieben!";

Nur gibt es da ein Problem! Das Script hat die Datei mit den CHMOD Rechten 644 auf den Server geschrieben. Das heisst ich kann die Datei nicht mehr löschen oder die Rechte ändern.

Damit mir das ganze nicht noch einmal passiert, wollte ich wissen wie ich das obere Script so anpassen kann, dass die Datei in Zukunft mit den rechten 777 geschrieben wird?

Danke und Gruss

  1. Hallo Andreas!

    Ich habe einen witzigen Fehler gemacht. Ich habe folgendes Script verwendet um eine Datei auf meinem gemieteten Webspace zu schreiben!

    Dieser Fehler passiert fast jedem, wenn man mit Dateien und Rechten auf einem Unixoiden System beginnt.

    Damit mir das ganze nicht noch einmal passiert, wollte ich wissen wie ich das obere Script so anpassen kann, dass die Datei in Zukunft mit den rechten 777 geschrieben wird?

    Lass Dein Script selbst die Rechte ändern, (chmod) dann kannst Du auch wieder normal darauf zugreifen. Also Beispielsweise mittels Deines FTP Programms etc.

    Schönen Gruß

    Afra

    1. Hey!

      Ja, das habe ich auch schon versucht! Leider wird immer eine Fehlermeldung ausgegeben!

      Irre ich mich in der Annahme, das ich wenn ich einer Datei CHMOD 644 Rechte erteilt habe ( also kein Execute ) ich diese gar nicht mehr ändern kann, da ich ja keine Root Rechte auf dem gemieteten Server habe?

      1. Smile, korrektur! Ich irre mich!

        Natürlich klappt das ganze so! Habe beim ersten mal einfach den Pfad falsch eingegeben! Danke fürden Tipp, hätte sonst das ganze nicht noch einmal versucht!

        Danke und ein schöner Sonntag!

  2. echo $begrüßung;

    Nur gibt es da ein Problem! Das Script hat die Datei mit den CHMOD Rechten 644 auf den Server geschrieben. Das heisst ich kann die Datei nicht mehr löschen oder die Rechte ändern.

    Das kommt ganz drauf an, wer "du" bist. Vermutlich bist du nicht derjenige, unter dessen Kennung das Script lief. Eine Datei ist einem Besitzer und einer Gruppe zugeordnet. Finde zunächst heraus, wer du bist, und ob du zur Gruppe der Datei gehörst.

    Damit mir das ganze nicht noch einmal passiert, wollte ich wissen wie ich das obere Script so anpassen kann, dass die Datei in Zukunft mit den rechten 777 geschrieben wird?

    777 - im Klartext: Lesen, Schreiben und Ausführen (als Programm) für alle Welt - ist kaum bei einer Textdatei nötig. Du benötigst nur das Schreibrecht. Bitte informiere dich über das Rechtekonzept unter Unix, bevor du die Kanone rausholst, um damit auf diesen Spatzen zu schießen. Ansonsten kennt PHP eine Funktion namens chmod(). Die Handbuchseite enthält übrigens einen wichtigen Hinweis, wie man den gewünschten Wert notieren muss.

    echo "$verabschiedung $name";

    1. Hallo dedlfix.

      Ansonsten kennt PHP eine Funktion namens chmod().

      Alternativ hierzu gibt es auch noch zur präventiven Festlegung der Nutzerrechte umask().

      Einen schönen Sonntag noch.

      Gruß, Mathias

      --
      sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
      debian/rules