PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wieder ein Problem mit mkdir und chmod, verwirrend


Dawson
16.06.2006, 12:05:49
Ich hab schon die Suche benutzt, aber noch nix gefunden, was mir weiterhilft. Das ich den safe-mode ausstellen sollte ist mir klar, aber das kann ich nicht jedem Kunden verklickern, also mein Problem:

Benutze bewusst noch php 4.1.2

Auf dem Server befindet sich ein Ordner "userpics", dieser hat chmod 777 und user/owner ist "abc" (mein benutzername).

ich erstelle jetzt mit meinem script "explorer.php" in "userpics" einen Ordner mit mkdir($path.$folder, 0777); (zB "foo")
Wenn ich den Ordner im ftp Pogramm ansehe hat er chmod 755 und user ist httpd

Ich gehe wieder über die explorer.php und schiebe mit copy ne neue Datei in den Ordner "foo". Funktioniert! Die Datei hat jetzt auch chmod 755 und user httpd.

wenn ich jetzt die datei über das script löschen will kommt der safe mode error, wenn ich den chmod über das script ändern will = safe mode error, wenn ich den benutzer des scripts ändern will = safe mode error, wenn ich über ftp die datei oder den ordner löschen will = error

Das tolle ist, solang der erstellte ordner leer ist, kann ich ihn löschen. Wenn ich eine Datei ins root verzeichnis (also userpics, das ich im ftp programm erstellt habe) lege, kann ich sie auch löschen...

kann mir jemand nen tipp geben?
1. kann ich den owner beim erstellen des ordners ändern oder kann ich sonstige einstellungen vornehmen OHNE den safe mode auszustellen.
2. würde es helfen php5 zu benutzen? habe nämlich lokal einen apache mit php5 laufen, der erwartet für mkdir nicht den zweiten parameter, der webserver allerdings schon. lokal funktioniert es eben
3. wie bekomme ich die dateien wieder vom server?

xabbuh
16.06.2006, 16:37:02
Benutze bewusst noch php 4.1.2
Welche Gründe hat das?

Das tolle ist, solang der erstellte ordner leer ist, kann ich ihn löschen.
Per FTP-Programm oder Script?

Wenn ich eine Datei ins root verzeichnis (also userpics, das ich im ftp programm erstellt habe) lege, kann ich sie auch löschen...
Auch hier: Per FTP-Programm oder mit deinem Script?

1. kann ich den owner beim erstellen des ordners ändern oder kann ich sonstige einstellungen vornehmen OHNE den safe mode auszustellen.
Den Besitzer des Verzeichnisses kann nur root ändern. Ansonsten kannst du lediglich die Zugriffsbits des Verzeichnisses nach dem Anlegen in deinem Script per chmod() ändern.

2. würde es helfen php5 zu benutzen? habe nämlich lokal einen apache mit php5 laufen, der erwartet für mkdir nicht den zweiten parameter, der webserver allerdings schon.
Auch in älteren Versionen war lediglich der erste Parameter Pflicht.

Nev
16.06.2006, 17:17:16
Hi @ll

Das der Ordner bzw. die Datei den User bzw. Gruppe "httpd" hat ist klar
weil das Script als solches ausgeführt wird, und ned als "abc"

sysop
16.06.2006, 22:09:05
bei dir dürfte ausserdem das UID-bit gesetzt werden. daher kannst du ein leeres verzeichnis löschen, aber sobald auch nur ein bit drinnen steht nicht mehr.

eine lösung könnte das sein:
alle dateien mit leer überschreiben und dann löschen. danach geht eventuell auch das verzeichnis.