Tach,
Mit chmod.
das ist keine gute Lösung, .....
ich erweitere das mal zu: das ist keine gute allgemeine Lösung; wenn es keine rolle spielt, dass jemand die Daten leesn/überschreiben könnte, bevor man die Rechte geändert hat, dann kann man das machen.
jetzt habe ich zu umask() folgendes gefunden:
"Sie sollten diese Funktion nicht in Multithreaded-Webservern nutzen. Der bessere Weg ist, die Dateiberechtigungen mit chmod() zu ändern nachdem die Datei erstellt wurde. Die Nutzung von umask() kann zu unerwartetem Verhalten von gleichzeitig ausgeführten Skripten und des Webservers führen, weil die gleiche umask genutzt wird."
Das ist nur die Warungn davor, dass nicht nur das aktuelle Script in dem die Funktion aufgerufen wird, sondern alle Scripte, die vom selben Prozess ausgeführt werden, davon betroffen sind
... ist der Standardweg dann üblicherweise:
- Datei leer erstellen
- Dateirechte anpassen
- Daten in Datei schreiben
Ist dies nicht recht kompliziert.
Auch da kann doch eine parallel laufende Anwendung Unheil anrichten.
Sie kann aber keinesfalls meine Daten überschreiben oder lesen; schlimmstenfalls kann ich meine Daten nicht mehr schreiben.
Gibt es nicht den Königsweg, dass man im open-Kommando der Datei schon die gewünschten Eigenschaften mitgibt?
Nein, dafür ist die umask ja da, es gibt dafür keinen weiteren Systemhandle.
In deinem Falle würde ich mich an den Provider wenden und ihn bitten diese offensichtliche Fehlkonfiguration rückgängig zu machen; die gewählte umask ergibt für den Einsatzzweck keinen Sinn.
mfg
Woodfighter