Frank S.: Setzen von Rechten auf 777 warum händisch notwendig?

Hallo,

habe mir eine Dateistruktur herunterladen, diese Dateistruktur anschließend per FTP auf meinen Webspace kopiert und die Installation per Browser über eine PHP-Datei gestartet. Während der Installation fordert mich das Installationsscript auf die Rechte einiger Verzeichnisse auf 777 zu setzen.

Warum wird die Dateistruktur denn nicht gleich Werksseitig mit den richtigen Rechten ausgeliefert, so das ich die Rechte anschließend nicht nochmal händisch per FTP auf 777 setzen muss.

  1. Warum wird die Dateistruktur denn nicht gleich Werksseitig mit den richtigen Rechten ausgeliefert, so das ich die Rechte anschließend nicht nochmal händisch per FTP auf 777 setzen muss.

    Weil es möglicherweise Dateiformate oder übertragungswege gibt, die die Rechte nicht beachten.

    Wenn du das zeug z.B. per ZIP daherbekommst, auf deinem Windows-Rechner extrahierst und dann per FTP hochlädst, sind die Rechte zerstört.

    Nimmst du hingegen ein tar.gz-File, lädst dies direkt per SCP/SFTP auf den Server und entpackst es dort, sollten die rechte aus dem File erhalten bleiben.

    1. Nimmst du hingegen ein tar.gz-File, lädst dies direkt per SCP/SFTP auf den Server und entpackst es dort, sollten die rechte aus dem File erhalten bleiben.

      was bedeutet SCP/SFTP? Was ist der Unterschied zu normalem FTP. Kann auch mit dem Zusatz SCP nix anfangen, zumindest in diesem Zusammenhang nicht. Muss ich das was bestimmtes beachten?

      Ist es das richtige Vorgehen, wenn ich die tar.gz auf zunächst auf meinen Windowsrechner herunterlade und anschließend per Filezilla auf meinen Webspace schiebe?

      Wie kann ich denn eine tar.gz direkt auf dem Server entpacken? Geht das mit Filezilla per Kontextmenü oder irgendwie anders?

      1. was bedeutet SCP/SFTP? Was ist der Unterschied zu normalem FTP. Kann auch mit dem Zusatz SCP nix anfangen, zumindest in diesem Zusammenhang nicht. Muss ich das was bestimmtes beachten?

        Eine Suchmaschine deiner Wahl hast du schon befragt? Das ist das mindeste, wenn du einen Begriff nicht kennst.

        Ist es das richtige Vorgehen, wenn ich die tar.gz auf zunächst auf meinen Windowsrechner herunterlade und anschließend per Filezilla auf meinen Webspace schiebe?

        Wie kann ich denn eine tar.gz direkt auf dem Server entpacken? Geht das mit Filezilla per Kontextmenü oder irgendwie anders?

        Filezilla kann das afaik nicht - WinSCP bietet hierzu eine Möglichkeit (sogar über ein Kontextmenü), allerdings musst du natürlich mit dem richtigen Protokoll arbeiten (SCP bzw. SFTP) - und das muss dein Webserver unterstüzten. Wenn du lediglich einen FTP-Zugang hast, geht das natürlich nicht.

        Eine alternative ist aber z.B. das Archiv-File hochladen + ein kleines PHP-Script, welches das entpacken übernimmt. Aber auch das hängt wieder von den Möglichkeiten deines Webspaces ab.

        1. allerdings musst du natürlich mit dem richtigen Protokoll arbeiten (SCP bzw. SFTP) - und das muss dein Webserver unterstüzten. Wenn du lediglich einen FTP-Zugang hast, geht das natürlich nicht.

          Ich will doch nur auf dem Webspace entpacken, was spielt es denn dann für eine Rolle auf welche Weise die tar.gz-Datei auf den Webspace gekommen ist? Ist doch wurscht ob es per SecureFTP (bzw. SCP) oder per normalem FTP dort hin gelangt ist, hauptsache ich kann es dort entpacken.

          Geht das entpacken auf dem Webspace nur dann, wenn ich es vorher mit SecureFTP übertragen habe, falls ja warum?

          1. Geht das entpacken auf dem Webspace nur dann, wenn ich es vorher mit SecureFTP übertragen habe, falls ja warum?

            Nein, wie das Archiv dort abgelegt wurde ist völlig egal - wichtig ist, dass du die entsprechenden Rechte hast am Server etwas zu entpacken. Ein SSH-Zugang (den du für SCP/SFTP notwenigerweise brauchst) reicht z.B. aus - oder eine RDP-Verbindung auf den Server. Da du aber von "777" sprichst, wirds wohl kein Windows-Server sein.

      2. Hello,

        was bedeutet SCP/SFTP? Was ist der Unterschied zu normalem FTP. Kann auch mit dem Zusatz SCP nix anfangen, zumindest in diesem Zusammenhang nicht. Muss ich das was bestimmtes beachten?

        SCP = Secure Copy, es bentutzt Secure Shell (SSH)
        SFTP ist hingegen nicht eindeutig übersetzbar. Es kann heißen

        • Secure FTP und benutzt dann genauso, wie SCP eine SSH/TLS-Verbingung als Gundlage.
            Es arbeitet also _verbindungsorientiert_ und verschlüsselt und merkt daher, wenn jemand
            fremdes in der Verbindung herumfummelt

        • Simple File Transfer Protocol
            bedeutet damit also genau das Gegenteil von der anderen Auslegung. Es ist noch einfacher
            als FTP. Es berücksichtigt keinerlei Sicherheitsmechanismen.

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
         ☻_
        /▌
        / \ Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
        1. SFTP ist hingegen nicht eindeutig übersetzbar.

          Doch, in dem von mir gewählten Kontext schon.

          Es kann heißen

          • Secure FTP und benutzt dann genauso, wie SCP eine SSH/TLS-Verbingung

          Secure File Transfer Protocol bzw. Secure FTP benutzt zwar SSH - aber es wird nur für eine getunnelte Verbindung des Steuerkanals genutzt - sicher ist das aber nicht - daszu müsste man zu FTP over SSL (FTPS) greifen

          Im Kontext SCP/SFTP ist aber eindeutig das SSH File Transfer Protocol gemeint (welches die Weiterentwicklung von SCP darstellt).

          1. Hello,

            Im Kontext SCP/SFTP ist aber eindeutig das SSH File Transfer Protocol gemeint (welches die Weiterentwicklung von SCP darstellt).

            Aber nur im Kontext...
            http://de.wikipedia.org/wiki/SFTP

            http://de.wikipedia.org/wiki/Simple_File_Transfer_Protocol

            Liebe Grüße aus dem schönen Oberharz

            Tom vom Berg

            --
             ☻_
            /▌
            / \ Nur selber lernen macht schlau
            http://bergpost.annerschbarrich.de
            1. Aber nur im Kontext...

              Sagte ich ja :)

              http://de.wikipedia.org/wiki/SFTP
              http://de.wikipedia.org/wiki/Simple_File_Transfer_Protocol

              Den Rest meines Postings hast du nicht gelesen? :p

  2. Moin Moin!

    Hallo,

    habe mir eine Dateistruktur herunterladen, diese Dateistruktur anschließend per FTP auf meinen Webspace kopiert und die Installation per Browser über eine PHP-Datei gestartet. Während der Installation fordert mich das Installationsscript auf die Rechte einiger Verzeichnisse auf 777 zu setzen.

    Nicht gut.

    777 heißt u.a. world writeable, d.h. JEDER auf dem Server darf die Dateien verändern. 775 ist schon schlimm genug, in der Regel reicht 755 für ausführbare Dateien und Verzeichnisse und 644 für den Rest.

    Und warum 777 und nicht 666? Warum sollen von aller Welt beschreibbare Dateien auch noch ausführbar sein?

    Dieses unerträgliche chmod 0777 als "Allheilmittel" für (PHP/Web-)Probleme erzeugt in aller Regel nur riesige Sicherheitslücken.

    Warum wird die Dateistruktur denn nicht gleich Werksseitig mit den richtigen Rechten ausgeliefert, so das ich die Rechte anschließend nicht nochmal händisch per FTP auf 777 setzen muss.

    Das dürfte am Dateiformat liegen. TAR kann durchaus die Dateiattribute erhalten, ZIP kann das meines Wissens nicht. Ganz einfach, weil ZIP aus der Welt der Single-User-Rechner (DOS) stammt, wo diese Dateiattribute far nicht vorkommen.

    Erschwerend kommt FTP hinzu, das mehr oder weniger ein kleinstes gemeinsames Subset der möglichen Betriebssystem-Features kennt und den Rest dem jeweiligen FTP-Server und dem Benutzer überläßt. Beim Übertragen von einzelnen Dateien überträgt FTP ohne besondere Clients die Dateiattribute überhaupt nicht, Dateien werden mit Default-Attributen auf dem Server angelegt.

    SCP und SFTP aus dem SSH-Paket können Dateien SICHER (d.h. verschlüsselt) übertragen, authentifiziert per verschlüsseltem Passwort oder noch besser per Public-Key-Verfahren. SFTP überläßt es dem Anwender, chmod auf dem Server auszuführen, d.h. Dateiattribute zu setzen, SCP ignoriert die Dateiattribute meines Wissens, genau wie FTP und SFTP.

    Um ein Paket also "Werksseitig mit den richtigen Rechten" auszuliefern, mußt Du eine TAR-Datei direkt auf dem Server entpacken. Das setzt fast zwingend Shell-Zugriff auf den Webserver voraus, und den gibt es bei Massen-Webhostern in der Regel nicht einmal gegen Geld und gute Worte (außer man rüstet auf einen Managed Server oder Root Server, real oder virtuell, auf). Dort findet man typischerweise einen FTP-Zugang mit freigeschaltetem SITE CHMOD. Deswegen ist das manuelle Setzen der Dateiattribute fast unumgänglich. Natürlich könnte ein sehr williger Autor auch eine TAR-Datei mit passend gesetzten Rechten verteilen und darauf hinweisen, dass man sich das Gebastel sparen kann, wenn man die Datei direkt auf dem Server auspackt. Das macht die Installationsanleitung aber nur länger und fehleranfälliger.

    Anmerkung: Neben TAR gibt es beispielsweise auch CPIO, das ebenfalls Dateiattribute sichert. Für die Verteilung von Paketen ist "nacktes" CPIO allerdings unüblich, es versteckt sich allerdings hinter einigen anderen Paketformaten, die typischerweise von Linux-Distributionen genutzt werden.

    Eine Alternative zu FTP / SFTP / SCP ist rsync (über SSH), das kann Dateiattribute zwischen Unix-Systemen übertragen, nicht aber zwischen Unix und Nicht-Unix. Leute, deren Arbeitsrechner mit Windoof oder irgendeinem Exoten wie OS/2 oder DOS läuft, schauen also in die Röhre. Außerdem ist rsync sehr rechenaufwendig, und wird von Massenhostern (vermutlich) deswegen nicht angeboten.

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
  3. Hab eine sehr gute Lösung für meine Problem gefunden, mein Hoster (allinkl.com) bietet einen webftp-Zugang an. Einfach tar.gz per filezilla (oder auch diretk per webftp)auf den Webspace, anschließend hab ich im webftp die Möglichkeit die Datei zu entpacken, ganz ohne Shell.

    Allinkl.com ist wirklich toll, der Support ist super und immer sofort dran :-).