Hello,
Hier unterscheiden sich die Betriebssysteme.
welches Recht benötigt man zum Anlegen und Löschen eines Files unter Linux?
Man muss in der zugehörigen Verzeichnistabelle schreiben dürfen.
ich weiß nicht so recht, was das bedeutet und was ich mit dieser Information anfangen soll.
Du sollst darüber nachdenken und Dir klar darüber werden, wer für den Fileservice auf Deiner Maschine zuständig ist. Üblicherweise ist das nicht der Webswerver, sondern das Betriebssystem.
Ist das ein Lösungsansatz?
Wenn ich beim dritten Satz nicht vergessen hätte, dass der sich auf Unix/Linux bezieht, wäre es sogar schon die Lösung. Aber es stand ja im zweiten, und soviel Mitdenken hatte ich erwartet. ;-)
Den Rest hat Dir Christian nochmal vorgeführt.
Wenn Du mit PHP-Modul eine Datei löschst, dann ist der ausführende User (aus der Sicht des Betriebssystems) i.d.R. der Webserver. Der nennt sich als User dann z.B. 'apache' oder 'wwwrun'. Andere Namen sind natürlich auch möglich, aber das sind die meistens benutzten.
Dieser User muss nun Schreibrechte auf die Verzeichnistabelle des Verzeichnisses haben. Es müssen für ihn also mindestens '-wx' eingerichtet sein. Das x benötigt er, dass er das Verzeichnis in den qualifizierten Pfad (kanonisch) aufnehmen darf, das w benötigt er, dass er den Dateinamen in die Tabelle eintragen darf oder ihn dort wieder entfernen darf. Wenn er die Verzeichnistabelle auch lesen will, muss er dafür auch das r-Recht besitzen. Nur dann kann er die Namen der Dateien im Verzeichnis direkt ermitteln. Ohne das r-Recht könnte er auf die Datein nur zugreifen, wenn der deren Namen genau kennt.
Ob er in der Datei selber etwas ändern darf, regeln dann die Rechte, die an der Datei selbst vermerkt werden. Das sind übringens niccht "Die Rechte der Datei" und schon gar nicht die "CHMODs". Es sind die Rechte von Eigentümer (Owner = u), Hauptgruppe (Group = g) und Gästen (Other = o) an der Datei.
Wenn für die Datei also rwx r-x --- vermerkt ist, dann darf der Owner der Datei in diese hineinschauen (read), in diese hineinschreiben (write) und diese ausführen lassen (eXecute).
Bei Verzeichnissen würde es bedeuten:
Der Eigentümer darf die Verzwichnistabelle (also die Namen der darin vermerkten Ressourcen) auslesen, er darf sie verändern, also Ressourcen hinzufügen, umbenennen, löschen, und er darf den Verzeichnisnamen für die Pfadbildung zu tieferen Ressourcen benutzen.
Wenn Dir das alles nicht hilft, dann versuch erst einmal, ein paar gute Seiten über Linux zu ergooglen. Grundverständnis über das Filesystem des Hosts ist Voraussetzung für Programme in PHP, die mit Files und Ressourcen arbeiten.
Die nächste Hürde, die Du ggf. zu knacken hast, könnte dann der Safe Mode von PHP sein.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau