Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit Benutzerrechten nach Thumbnail erstellung

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit Benutzerrechten nach Thumbnail erstellung

    Hallo,

    ich habe mir ein Script geschrieben das mir einfach per Buttondruck aus meinen .jpg jeweils 2 Thumbnail in verschiedenen größen erstellt, was soweit auch super klappt.
    Mein Problem ist wie folgt:

    Meine Bilder liegen auf meinen Linux Server (Rechte arguss:users) und ich kopiere sie über meinen Vista32 Rechner auf meinen Webspace, danach haben sie die von meinen Webhoster vor gegebenen Besitzrechte (Rechte webuser:webuser), wenn ich jetzt aber mit meinen Script die Thumbnail erstelle, haben die Thumbs wieder die Rechte arguss:users und ich kann si nicht mehr löschen oder ändern. Bereits das durch das Script erstellte Verzeichnis hat schon die Besitzrechte von arguss:users.

    Wo liegt der Fehler?
    Kann ich das über das Script abfangen?
    Warum werden die Besitzrechte durch das Script überhaupt umgeschrieben?

    Ich hoffe ich konnte mich einigermaßen verständlich ausdrücken!


    Gruß

    Arguss


  • #2
    Das liegt daran, dass der Webserver unter einem anderen Benutzer läuft als der FTP-Zugang.
    PHP erstellt die Dateien, also wird als Owner der User, unter dem PHP (oder meist der Apache) läuft als Owner und dessen Gruppe als Group eingetragen. Wenn du nun FTP benutzt, hast du einen anderen Benutzer. Du kannst die Dateien also nur mittels PHP wieder löschen.
    Refining Linux: “Performing Push Backups – Part 1: rdiff-backup

    Kommentar


    • #3
      Wo bekommst du denn diese Angabe für den Besitzer angezeigt ?

      Weil dass ein fremder Webserver deine usernamen kennt die du auf deinen rechnern zuhause benutzt ist mir gerade etwas suspekt, oder zeigt dir ein ftp-programm unter Linux das an ? (Weil in dem Fall wird sicher nur die UID und GID die die Dateien online haben vom FTP programm durch die lokal im System vorhandenen user / gruppen mit der uid / gid ersetzt)


      Das Script läuft im Normalfall unter den Rechten des Webservers (der ja php ausführt) oder in speziellen Konfigurationen (z.b. über suexec) kann man auch für jeden vhost php unter nem anderen benutzer laufen lassen. Die oder der User vom FTP ist dann meistens nochmal ein anderer User, daher kann man nicht direkt Dateien die via php erstellt wurden via ftp löschen und umgekehrt.

      Möglichkeit das Problem zu lösen:

      Mit dem Script direkt passende chmods setzen, damit die Daten auch von anderen Usern gelöscht werden können (funktioniert soweit ich weis nicht zusammen mit php im safe-mode), relevant hierbei ist auch der Wert für die umask (PHP: umask - Manual).
      robo47.net - Blog, Codeschnipsel und mehr
      | Caching-Klassen und Opcode Caches in php | Robo47 Components - PHP Library extending Zend Framework

      Kommentar


      • #4
        Das Thumbnail Script läuft bei meinen Webhoster und hat die Besitzrechte webuser:webuser, die jpg liegen ebenfals auf diesem Webspace und haben den gleichen besitzer/gruppe, erst nach den generieren haben die Thumbnails wieder die Rechte die die jpg vor dem übertragen hatten.

        Also es passiert folgendes:

        Bilder auf meinen Linux Server vor dem upload per ftp
        arguss:users

        Bilder nach dem übertragen auf dem Webspace
        webuser:webuser

        auf dem Webspace generierte Thumbnail
        arguss:users

        Auf dem Webspace bin die als webuser per ftp eingeloggt!

        @Manko10
        Vielleicht verstehe ich deine Antwort auch falsch!


        Gruß


        Arguss

        Kommentar


        • #5
          @robo47: Die Dateirechte sind über FTP einsehbar. FileZilla zeigt diese z.B. an.
          Die Rechte sind ja auch komplett auf dem Server, beim Client handelt es sich um ein Win-OS. Die Rechte einer hochgeladenen Datei sind die des FTP-Users und der ist ein anderer als der Apache-User.

          @Arguss: es ist egal, welche Dateirechte das Skript hat. Entscheidend ist, mit welchem Benutzer es ausgeführt wird und das ist in der Regel der User, unter dem der Webserver läuft.
          Refining Linux: “Performing Push Backups – Part 1: rdiff-backup

          Kommentar


          • #6
            Genau deshalb verstehe ich das ganze auch nicht!

            Gruß


            Arguss

            Kommentar


            • #7
              Zitat von Manko10 Beitrag anzeigen
              @robo47: Die Dateirechte sind über FTP einsehbar. FileZilla zeigt diese z.B. an.
              Ups, hab mich wohl geirrt, ich bin die ganze zeit davon ausgegangen es wird nur UID und GID des users übertragen und das mapping übernimmt der client.
              robo47.net - Blog, Codeschnipsel und mehr
              | Caching-Klassen und Opcode Caches in php | Robo47 Components - PHP Library extending Zend Framework

              Kommentar


              • #8
                Auslesbar sind:
                File permissions
                Owner
                Group

                und natürlich Filesize etc.

                Also: rollen wir nochmal neu auf…
                Du hast einen eigenen Server, auf dem Dateien liegen, weiterhin hast du einen Webspace und einen Windows-Rechner.
                Du lädst per Windows die Dateien vom Server herunter, um sie dann auf den Webspace hochzuladen. Ist das korrekt?
                Refining Linux: “Performing Push Backups – Part 1: rdiff-backup

                Kommentar


                • #9
                  Das ist korrekt!
                  Ich nutze dafür den TotalComander, fals das irgendwie weiter hilft.

                  Gruß

                  Arguss

                  Kommentar

                  Lädt...
                  X