Maik: Kann Verzeichnis inkl. Datei nicht vom Server entfernen

Hi,

ich verwende für meinen Chat eine Basis von einem anderen Programmierer. Bisher gabs da auch keine weiteren Probleme, nur hat der Chat vorhin in einem neu angelegten Testverzeichnis auf dem Server eine Datei angelegt, die ich nun weder per FTP (natürlich versuche ich auch, die Datei direkt mal zu löschen und nicht nur das Verzeichnis) nicht mehr wegbekomme.

Fehler 550 - Permission denied

Auch über das Herumspielen an den Dateiattributen und anschließende Löschversuche krieg ich die Datei nicht weg, genauso wenig über ein PHP-Skript, das die Datei über unset zu killen versucht.

Hat das evtl. mit wwwrun zu tun?

Hab dazu u.a. folgenden Beitrag gefunden:

http://www.wer-weiss-was.de/theme163/article3664466.html

Es handelt sich in meinem Fall um einen gehosteten Standard-Server.
Wie kriegt man so eine Datei vom Server, wenn man keine Root-/Shell-/SSH-Rechte hat?

Ciao!
Maik

  1. Guten morgen,

    du wirst wohl ein Linux Server haben. Dort ist es nicht zugelassen, komplette Verzeichnisse zu löschen solange noch Inhalt drin ist. Daher lösche erst alle Dateien in einem Ordner und dann lösche den Hauptordner.

    So muss ich das leider bei mir auch immer machen.

    Gruß,
    Schnegge

    1. habe d'ehre Schnegge

      du wirst wohl ein Linux Server haben. Dort ist es nicht zugelassen, komplette Verzeichnisse zu löschen solange noch Inhalt drin ist. Daher lösche erst alle Dateien in einem Ordner und dann lösche den Hauptordner.

      So muss ich das leider bei mir auch immer machen.

      Evtl. mal in den Einstellungen Deines FTP-CLients nach einer Checkbox "Loeschen leerer Ordner zulassen" suchen. Bei WS_FTP kann ich dies explizit erlauben.

      man liest sich
      Wilhelm

      1. Hallo,

        es geht ja nicht um leere Ordner sondern um Ordner, die noch voll sind und die man am liebsten mit einem Schwung löschen will und das geht eben bei Linux Servern nicht so unserer Admin.

        Gruß,
        Schnegge

        1. Moin!

          es geht ja nicht um leere Ordner sondern um Ordner, die noch voll sind und die man am liebsten mit einem Schwung löschen will und das geht eben bei Linux Servern nicht so unserer Admin.

          Zumindest nicht so einfach und per FTP. Da muß das FTP-Programm schon Eigenintelligenz mitbringen, um das zu erlauben.

          Auf der Kommandozeile geht es natürlich, und auch sehr simpel: rm -r verzeichnis - und weg ist das Teil inklusive aller Unterverzeichnisse und Dateien.

          - Sven Rautenberg

          --
          "Love your nation - respect the others."
          1. Hallo,

            das stimmt natürlich und wusste das auch. Aber da ehr ja folgendes geschrieben hat "Wie kriegt man so eine Datei vom Server, wenn man keine Root-/Shell-/SSH-Rechte hat?" dachte ich, dass ich auf das erst gar nicht eingehen muss.

            Gruß,
            Schnegge

            1. Hallo,

              das Problem besteht wie gesagt nicht darin, dass ich nicht das Verzeichnis löschen kann, wenn noch eine Datei drin ist, sondern, dass ich die Datei selber, auch wenn ich ins Verzeichnis reingeh und versuche, sie zu löschen, auch nicht wegbringe und dieses Problem hatte ich an sich noch nie.

              Beim Suchen auf mehreren Seiten stoße ich immer wieder auf wwwrun, aber nie auf eine konkrete Lösung für einen gehosteten Server. Scheinbar haben alle ihre eigenen Server laufen... :)

              Habs mit WS_FTP, FileZilla und einem PHP-Skript probiert, die Datei zu löschen, keine Chance, die Datei geht nicht weg. ->
              "Fehler 550 - Permission denied"

              Ich selber habe diese Datei nicht angelegt, sondern ein fremdes Skript als Teil eines PHP-/AJAX-Chats, das ich auf dem Server installiert hab.

              Was muss ich konkret tun, um so eine Datei wegzubekommen? :)

              Gruß
              Maik

              1. habe d'ehre Maik

                Was muss ich konkret tun, um so eine Datei wegzubekommen? :)

                Einen Admin Deines Providers damit beauftragen. Sorry, aber einen anderen Loesungsvorschlag habe ich dann auch nicht.

                man liest sich
                Wilhelm

              2. Hi,

                "Fehler 550 - Permission denied"

                Ich selber habe diese Datei nicht angelegt, sondern ein fremdes Skript als Teil eines PHP-/AJAX-Chats, das ich auf dem Server installiert hab.

                Was muss ich konkret tun, um so eine Datei wegzubekommen? :)

                Wenn PHP die Datei angelegt hat und FTP sie nicht löschen kann, dann sind beide unterschiedliche Benutzer und die Datei "gehört" PHP. Schreibe Dir ein PHP-Script, dass die Dateien löscht.

                freundliche Grüße
                Ingo

                1. Hi Ingo,

                  Wenn PHP die Datei angelegt hat und FTP sie nicht löschen kann, dann sind beide unterschiedliche Benutzer und die Datei "gehört" PHP. Schreibe Dir ein PHP-Script, dass die Dateien löscht.

                  Hab ich zwar gestern auch schon mal probiert, woraufhin ich wieder so eine Zugriffsrechts-Meldung von PHP bekommen hab, doch grad eben hats geklappt: :)

                  ______________________________________________________________

                  <?php

                  $dateiname="..."; // <- die Datei
                  unlink ( $dateiname );

                  ?>

                  ______________________________________________________________

                  Danke!

                  Aber wie kann eine Datei auf einmal PHP gehören (d.h., an welcher Stelle im System wird das festgelegt?), kocht auf so einem gehosteten Server seit Neuestem jeder Service sein eigenes Süppchen? :)

                  nächtliche Grüße
                  Maik

                2. echo $begrüßung;

                  Wenn PHP die Datei angelegt hat und FTP sie nicht löschen kann, dann sind beide unterschiedliche Benutzer und die Datei "gehört" PHP. Schreibe Dir ein PHP-Script, dass die Dateien löscht.

                  Die Datei-Rechte und -Besitzstände sind beim Löschen einer solchen nicht relevant. Es muss das Schreibrecht für das die Datei enthaltende Verzeichnis gegeben sein.

                  dedlfix@rechner ~/test $ ls -la
                  drwx------  4 dedlfix users  448 12. Sep 10:54 ./
                  -rw-r--r--  1 root    root     0 12. Sep 10:54 test.txt
                  dedlfix@rechner ~/test $ rm test.txt
                  rm: reguläre leere Datei (schreibgeschützt) „test.txt“ entfernen? j
                  dedlfix@rechner ~/test $ ls -la
                  drwx------  4 dedlfix users  448 12. Sep 10:54 ./

                  (Dieser Mittschnitt wurde um die nicht relevanten Teile gekürzt.)

                  Die dem Benutzer root gehörende Datei test.txt konnte ich als normal sterblicher User auch ohne (Schreib-)Rechte an ihr zu haben ohne Probleme löschen, weil ich Schreibrechte für das Verzeichnis habe. Selbst wenn die Datei keine Rechte mehr hat (chmod 000 test.txt) lässt sie sich bei Schreibberechtigung für das Verzeichnis löschen.

                  echo "$verabschiedung $name";

                  1. Hi,

                    Die Datei-Rechte und -Besitzstände sind beim Löschen einer solchen nicht relevant. Es muss das Schreibrecht für das die Datei enthaltende Verzeichnis gegeben sein.

                    Aber daran hapert es doch hier gerade.
                    Ich habe öfter mit Servern zu tun, in denen ich die Schreibrechte für das Verzeichnis nicht einstellen kann. Probleme gibt es dann, wenn FTP und PHP als unterschiedliche Benutzer eingetragen sind. Und hier hilft dann nur, dass derjenige Benutzer die Datei löscht, der sie auch angelegt hat.

                    freundliche Grüße
                    Ingo

        2. Hallo,

          es geht ja nicht um leere Ordner sondern um Ordner, die noch voll sind und die man am liebsten mit einem Schwung löschen will und das geht eben bei Linux Servern nicht so unserer Admin.

          Gruß,
          Schnegge

          Hi,

          also wenn Du einzelne Dateien löschen kannst, kannst Du per FTP auch den gesamten (vollen) Ordner in einem Schwung löschen. Setz einfach den entsprechenden Haken, wie von Wilhelm bereits beschrieben.

          Kai Wawrzinek

          1. Hallo,

            nein les mal bitte was er drüber geschrieben hat. Bei Linux geht das nicht, wenn noch Daten in dem Ordner drin sind. Das hat Sven doch auch gerade bestätigt außer man kommt via Konsole auf das Teil drauf.

            Gruß,
            Schnegge

            1. habe d'ehre Schnegge

              nein les mal bitte was er drüber geschrieben hat. Bei Linux geht das nicht, wenn noch Daten in dem Ordner drin sind. Das hat Sven doch auch gerade bestätigt außer man kommt via Konsole auf das Teil drauf.

              Mit WS_FTP geht es, egal bei welchem Betriebssystem.

              Mein Webserver bei SpaceNet Muenchen lief erst unter FreeBSD, spaeter unter Linux - bei beiden Umgebungen konnte ich komplette Verzeichnisse loeschen. Ich biete meinen Kunden immer Previews des aktuellen Entwicklungstandes an. Geht die Anwendung in die Live-Umgebung, wird per Klick das komplette Verzeichnis geloescht.

              Jetzt bei 1&1 kann ich auch keine Veraenderung feststellen, ebenso bei meinem Debianserver hier in meiner Rumpelkammer, in der XAMPP-Installation unter XP auf meinen Klapprechner und diversen Kunden-Webservern.

              Das hat Sven doch auch gerade bestätigt außer man kommt via Konsole auf das Teil drauf.

              Er schrieb aber auch:

              <snip>
              Da muß das FTP-Programm schon Eigenintelligenz mitbringen, um das zu erlauben.
              </snip>

              Offenbar liegt bei der von Dir zitierten Umgebung eine spezielle Konfiguration vor.

              man liest sich
              Wilhelm

      2. habe d'ehre Wilhelm

        "Loeschen leerer Ordner zulassen"

        "Loeschen nicht leerer Ordner zulassen"

        Sorry, das kleine sinnaendernde Woertchen "nicht" vergessen. Die von mir gemeinte Checkbox waere ja sinnbefreit. :-)

        man liest sich
        Wilhelm

  2. echo $begrüßung;

    Auch über das Herumspielen an den Dateiattributen und anschließende Löschversuche krieg ich die Datei nicht weg, genauso wenig über ein PHP-Skript, das die Datei über unset zu killen versucht.

    Um in einem Verzeichnis schreiben zu können - dazu zählt auch das Löschen einer Datei - benötigst du Schreibrechte in diesem Verzeichnis. Die Dateirechte sind dabei nicht weiter relevant.

    echo "$verabschiedung $name";