Hello Martin,
... hat prompt funktioniert. Ich kann's nach wie vor nicht
mit dem FTP-Client ändern, aber ich bin einen kleinen Schritt
weiter, weil mir der Zusammenhang klar geworden ist:
Weil der FTP-User weder der Owner ist, noch der eingestellten Gruppe angehört.
Prüfe mal, ob es eine Überschneidung gibt bei den Gruppen von PHP (Webserver) und FTP-User.
Was nicht funktioniert hat ist:
mkdir ($dst);
chmod ($dst, '0777');
Das liegt daran, dass der "PHP-User" zwar Schreibrechte im übergeordneten Verzeichnis besitzt, aber wieder nicht der Owner ist und auch vermutlich nicht der eingestellten Gruppe angehört.
... und hat nach dem, was ich dazu herausgefunden habe, die
Ursache, dass ein durch php:mkdir() angelegtes Vereichnis nicht
PHP 'gehört', sondern dem Webserver.
Die Dateien und Verzeichnisse sollten i.d.R. demjenigen gehören, der sie angelegt hat.
Wenn also mittels PHP eine Datei oder ein Verzeichnis angelegt wird, sollte es demjenigen User gehören, unter dessen Namen PHP ausgeführt wird. Ich sag das deshalb so überwändlich, weil es Unterschiede zwischen PHP als Modul und PHP als CGI gibt. Wenn der Webserver PHP als CGI ausführen lässt, kann er das im Namen des CGI-User tun, der nicht identisch mit dem Webserver-User sein muss. Deshalb nehmen die Provider so gerne PHP als CGI.
Was ich nun probieren wollen würde, ist per PHP:chown() den
Besitzer zu ändern:
Da wirst Du keine Chance haben, wenn Du keine Root-Shell bekommen hast.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)