FTP - Dateien löschen

Pissnelke

haha!
Registriert
29. September 2002
Reaktionspunkte
5
hat jemand ne Ahnung warum ich nen Ordner + Inhalt auf meinem Webserver nicht gelöscht bekomme ?
Es kommt immer Fehler 550 :(
Die Dateien haben als Attribut alle 644. Kenn mich damit nicht so aus also was kann ich da noch machen ?
thx
 
Mag sein, das ich jetzt Quatsch erzähle, da ich auch nicht gerade ein Experte bin.
Ich habe festgestellt, das ich über mein FTP-Programm nur leere Ordner löschen kann. Also erst die Dateien in dem jeweiligen Ordner löschen und dann den leeren Ordner.


Heinerich
 
Ohne die Rechte grade im Kopf zu haben und ohne FTP client hier im Geschäft würde ich vorschlagen die Rechte mal auf 666 :teufel: zu setzen, das müsste für Lese- und Schreibrechte für alle User sorgen.
 
FTP Error 550 heisst, dass er das File nicht findet, auf das er ein Kommando (in dem Fall loeschen) ausfuehren soll.

Wenn der FTP Server eine UNIX-Maschine ist, muss man mindestens zwei Sachen beachten:

Das Ganze ist Case-Sensitive. "del index.html" und "del INDEX.HTML" sind zwei verschiedenen Dinge. Schau Dir mit "dir" oder "ls" den Inhalt des Verzeichnisses an, und versuch dann mal mit richtiger Gross- und Kleinschreibung einzelne Files zu loeschen.

Wildcards (*, ?) funktionieren nicht unbedingt. Daher unbedingt erstmal versuchen EINZELNE Files zu loeschen.

Der Mode 0644 bedeutet, dass der Besitzer die Files schreiben und lesen (6) kann, und die Gruppe und der Rest der Welt die Files nur lesen (4) koennen. Wenn die Files Dir gehoeren (siehe Directory Listing), dann kannst Du sie auch loeschen. Ein Verzeichnis muss entsprechend Mode 0755 haben, um vom Besitzer geloescht werden zu koennen. Man braucht auch immer Schreibrechte zum darueberliegenden Verzeichnis, um Files oder Directories darin zu loeschen.

Die Permissions auf 0666 zu aendern bringt nichts (ausser die Sicherheit zu gefaehrden), denn wenn man nicht sowieso der Besitzer ist, koennte man den Mode nicht aendern (uid=0(root)) mal ausgeschlossen.
 
Original geschrieben von gageC
Die Permissions auf 0666 zu aendern bringt nichts (ausser die Sicherheit zu gefaehrden), denn wenn man nicht sowieso der Besitzer ist, koennte man den Mode nicht aendern (uid=0(root)) mal ausgeschlossen.

Okok, Griff ins Klo :) Aber der Meister konnte es glücklichweise richtigstellen :)
 
Original geschrieben von Itekei
Ohne die Rechte grade im Kopf zu haben und ohne FTP client hier im Geschäft würde ich vorschlagen die Rechte mal auf 666 :teufel: zu setzen, das müsste für Lese- und Schreibrechte für alle User sorgen.

Grade mal hier lokal probiert:

patric@zerocool patric $ mkdir test
patric@zerocool patric $ chmod 666 test
patric@zerocool patric $ ls -al |grep test
drw-rw-rw- 2 patric users 4096 Feb 17 12:19 test
patric@zerocool patric $ rm -r test
rm: cannot chdir from `.' to `test': Permission denied
patric@zerocool patric $ chmod 777 test
patric@zerocool patric $ ls -al |grep test
drwxrwxrwx 2 patric users 4096 Feb 17 12:19 test
patric@zerocool patric $ rm -r test
patric@zerocool patric $

Das Problem ist AFAIK, daß man zum Löschen eines Verzeichnisses auch Ausführungsrechte braucht.

Natürlich wäre 777 für einen FTP nicht so doll, es soll ja nicht jeder alles löschen können daher sollte eigentlich 755 reichen, dann kann nur der Besitzer (also du) die Dateien bzw Verzeichnisse löschen, aber trotzdem jeder darauf zugreifen.

Gruß

Paddie

PS: Die Angaben sind wie immer ohne Gewähr :)
 
@Itekei ... kein Problem, die Vermutung dass es was hilft, wenn man die Zugriffsberechtigungen so gestaltet wie unter DOS, haelt sich hartnaeckig :D

Dass es dann kaum einer mehr rueckgaengig macht wenn er festgestellt hat, dass das Problem woanders liegt, liegt wohl daran, dass es nicht gerade intuitiv ist, die richtigen Permissions zusammenzustellen :)

1 -> Execute Permissions (bei Directories fast immer notwendig)
2 -> Read Permissions
4 -> Write Permissions

Man zaehlt jeweils alles zusammen, was der Besitzer, die Gruppe und die ganze Welt mit dem File machen koennen soll, und erhaelt dann drei Zahlen zwischen Null und Sieben, die den Mode bestimmen. 777 -> jeder darf alles. 000 -> niemand darf etwas.

Ein Directory ist ein File, das die Namen der darin enthaltenen Files und deren "Adressen" auf der Festplatte enthaelt. Um ein File in einem Verzeichnis zu loeschen, muss deshalb ein Dir von der Person schreibbar sein. Um in ein Verzeichnis zu wechseln, muss es von der betreffenden Person ausfuehrbar sein (siehe oben).

Eigentlich ganz einfach ;)

@Paddie ... zum Loeschen des Directories brauchst Du keine Execute Permissions (versuch mal rmdir, muesste gehen!), aber um die Files darin zu loeschen schon. Da macht rm -r naemlich erst einen chdir, und loescht alles was drin ist. Schau mal mit ktrace, trace, truss oder was auch immer die Syscalls an ...
 
Original geschrieben von gageC

@Paddie ... zum Loeschen des Directories brauchst Du keine Execute Permissions (versuch mal rmdir, muesste gehen!), aber um die Files darin zu loeschen schon. Da macht rm -r naemlich erst einen chdir, und loescht alles was drin ist. Schau mal mit ktrace, trace, truss oder was auch immer die Syscalls an ... [/B]

*arg* türlich, hast Recht, jetzt seh ich meinen Fehler auch.

Gruß

Paddie
 
wenn ihr schon dabei seit

haben das gleiche problem in anderer richtung

n kumpel von mir hat sein ftp, eigener server daheim stehn..das problem ich kann ihm nix rauf schicken..mein account hat zwar schreibrecht aber es kommt immer die fehlermeldung:
"550-This Server is in download mode only.
550 Cannot STOR. No permission."

jetz weiß niemand wie man aus diesem "download.mode" rauskommt...is ne müsste n WINXP system sein

hat sich erledigt
 
Zurück