Constantin Kiesling: .htaccess schuld an Problemen beim Löschen von Verzeichnissen?

Hallo liebe Community!

Ich habe ein Problem: Ich wollte ein Unterverzeichnis in meinem cgi-bin löschen, weil ein counter-perlscript nicht funktioniert hat. Ich konnte das Verzeichnis aber prompt nicht entfernen und kann es jetzt auch noch immer nicht! Ich habe mir folgendes gedacht: Ich habe in dieses Verzeichnis eine .htaccess Datei upgeloadet gehabt, die ich für das Script brauchte. Kann die daran schuld sein, dass ich das Verzeichnis nicht löschen kann?

[Unterfrage: Jedes mal, wenn ich eine .htaccess Datei hochlade erscheint sie nicht! Ist das so üblich? Wenn ja, wie weiß ich dann überhaupt, dass sie da ist?]

Bitte helft mir! Es ist zwar nichts wirklich Dringendes, aber trotzdem wäre es super wenn ich das Verzeichnis endlich los bin... :)

Euer Consti

  1. Hoi,

    Ich habe ein Problem: Ich wollte ein Unterverzeichnis in meinem cgi-bin
    löschen, weil ein counter-perlscript nicht funktioniert hat. Ich konnte das
    Verzeichnis aber prompt nicht entfernen und kann es jetzt auch noch immer
    nicht! Ich habe mir folgendes gedacht: Ich habe in dieses Verzeichnis eine
    .htaccess Datei upgeloadet gehabt, die ich für das Script brauchte. Kann die
    daran schuld sein, dass ich das Verzeichnis nicht löschen kann?

    Ja, das kann sehr gut sein. Nicht leere Verzeichnisse kann man nicht loeschen.

    [Unterfrage: Jedes mal, wenn ich eine .htaccess Datei hochlade erscheint sie
    nicht! Ist das so üblich? Wenn ja, wie weiß ich dann überhaupt, dass sie da
    ist?]

    Ja, das ist durchaus ueblich.

    Bitte helft mir! Es ist zwar nichts wirklich Dringendes, aber trotzdem wäre
    es super wenn ich das Verzeichnis endlich los bin... :)

    Du koenntest entweder einen direkten FTP-Befehl benutzen (delete .htaccess),
    oder du koenntest ein Script (Perl?) schreiben, dass per 'unlink' die Datei
    entfernt.

    Gruesse,
     CK

    1. Hallo...!

      Ich bevorzuge den direkten Befehl :)

      Nun: In meinem FTP-Prog (CUTE FTP 2.6 ~steinalt~) gibt es zwar die möglichkeit, eigene Befehle zu definieren, aber wenn ich als Befehl "delete .htaccess" eingebe, funzt's nicht :(

      Consti

      1. Hoi,

        Ich bevorzuge den direkten Befehl :)

        Jeder nach seiner Fasson.

        Nun: In meinem FTP-Prog (CUTE FTP 2.6 ~steinalt~) gibt es zwar die
        möglichkeit, eigene Befehle zu definieren, aber wenn ich als Befehl "delete
        .htaccess" eingebe, funzt's nicht :(

        Versuche vielleicht mal 'dele' statt 'delete'. Ansonsten kannst du das auch
        in der RFC 959 (ftp://ftp.isi.edu/in-notes/rfc959.txt) nachschlagen.

        Gruesse,
         CK

        1. Hi!

          Danke, 'dele .htaccess' hat geklappt! :)

          Cya,
          Consti

  2. Hi,

    Kann die daran schuld sein, dass ich das Verzeichnis
    nicht löschen kann?

    das kommt darauf an, mit welchem Befehl Du das Verzeichnis löschst. (Ich gehe im Folgenden davon aus, daß Du einen UNIX-Server verwendest.)

    Wenn Du das Verzeichnis mit "rmdir" zu löschen versuchst, wird die UNIX-Shell ein nicht-leeres Verzeichnis nicht löschen können.
    Versuchst Du es allerdings mit "rm -r", dann löscht dieses Kommando den gesamten Verzeichnisbaum inklusive sämtlicher Unterverzeichnisse und Dateien darin.

    Dein Problem ist, daß Du offenbar nicht sehen kannst, welche Kommandos tatsächlich auf dem Server ausgeführt werden.
    Das liegt daran, daß zwischen Deinem FTP-Client und dem FTP-Server nicht exakt UNIX-shell-Kommandos, sondern FTP-Kommandos übertragen werden und der FTP-Server diese dann in UNIX-Kommandos übersetzt. In Deinem Falle offenbar auf ein "defensives" rmdir.

    Würdest Du direkt in einer Shell auf dem Server arbeiten (also via SSH oder notfalls auch Telnet), dann würdest Du direkt UNIX-Kommandos ausführen können. Das mag sich zwar ungewohnt anfühlen, aber wenigstens weißt Du dann exakt, was Du tust und was es bewirkt.

    Dein aktuelles Problem ist ein klassischer Fall, daß eine Einschalung eines Arbeitsvorgangs in eine graphische Benutzeroberfläche (hier: Dein FTP-Client) Dir nur einen Teil der Möglichkeiten zur Verfügung stellt (und Dir das nicht mal bewußt macht).
    Deine Verwirrung ist also völlig verständlich.

    [Unterfrage: Jedes mal, wenn ich eine .htaccess
    Datei hochlade erscheint sie nicht! Ist das so
    üblich?

    Auch das hat dieselbe Ursache.

    Dein FTP-Client sendet wahrscheinlich ein "dir" zum Server, welcher das auf ein UNIX-shell-Kommando "ls" übersetzt. "ls" wiederum zeigt in der Tat Einträge, deren Name mit "." beginnt, nicht an - so wie Du unter Windows Dateien mit dem Attribut "hidden" nicht sehen kannst (es sei denn, Deine Windows-Oberfläche ist entsprechend konfiguriert). Würde der FTP-Server statt dessen "ls -a" ausführen, dann würdest Du alle Dateien des Verzeichnisses sehen.

    Ich kenne mindestens einen FTP-Client (WS_FTP), bei dem man einstellen kann, ob dieses "-a" mit angegeben werden soll oder nicht - schau Dich mal im Handbuch Deines FTP-Clients um.

    Wenn ja, wie weiß ich dann überhaupt, dass sie da
    ist?]

    Das ist in der Tat ein Problem - welches ich mit der Kombination aus meinem FTP-Client und meinen FTP-Servern allerdings nicht habe. Vielleicht solltest Du mal ein paar alternative FTP-Clients ausprobieren. (Mein Favorit wäre der WinCommander, der kostet allerdings Geld.)

    Viele Grüße
          Michael

    1. Hoi,

      [Unterfrage: Jedes mal, wenn ich eine .htaccess
      Datei hochlade erscheint sie nicht! Ist das so
      üblich?

      Auch das hat dieselbe Ursache.

      Das ist so nicht ganz richtig.

      Dein FTP-Client sendet wahrscheinlich ein "dir" zum Server, welcher das
      auf ein UNIX-shell-Kommando "ls" übersetzt. "ls" wiederum zeigt in der Tat
      Einträge, deren Name mit "." beginnt, nicht an - so wie Du unter Windows
      Dateien mit dem Attribut "hidden" nicht sehen kannst (es sei denn, Deine
      Windows-Oberfläche ist entsprechend konfiguriert). Würde der FTP-Server
      statt dessen "ls -a" ausführen, dann würdest Du alle Dateien des
      Verzeichnisses sehen.

      Das ist durchaus Konfigurations-Sache. Bei dem ProFTPd z. B. kann ich
      einstellen, dass Dateien, die mit einem . beginnen, nicht uebertragen sollen.
      Da kann der User dann noch so viele -a's anhaengen, da passiert *gar* nichts.
      Und das ist (bei meinen Servern zumindest) die Default-Einstellung.

      Gruesse,
       CK

      1. Hi,

        Das ist durchaus Konfigurations-Sache. Bei dem ProFTPd z. B. kann ich
        einstellen, dass Dateien, die mit einem . beginnen, nicht uebertragen sollen.
        Da kann der User dann noch so viele -a's anhaengen, da passiert *gar* nichts.
        Und das ist (bei meinen Servern zumindest) die Default-Einstellung.

        sind wir uns darüber einig, daß dies für einen Provider, der seinen Anwendern .htaccess und Ähnliches erlaubt, ein ggf. nicht so ganz optimaler Default-Wert wäre?

        Viele Grüße
              Michael

        1. Hoi,

          Das ist durchaus Konfigurations-Sache. Bei dem ProFTPd z. B. kann ich
          einstellen, dass Dateien, die mit einem . beginnen, nicht uebertragen sollen.
          Da kann der User dann noch so viele -a's anhaengen, da passiert *gar* nichts.
          Und das ist (bei meinen Servern zumindest) die Default-Einstellung.

          sind wir uns darüber einig, daß dies für einen Provider, der seinen
          Anwendern .htaccess und Ähnliches erlaubt, ein ggf. nicht so ganz optimaler
          Default-Wert wäre?

          Natuerlich :-) Aber ich betreibe ja auch keine solchen Provider-Dienste.

          Gruesse,
           CK