Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Import-Script für Bilder - Benutzer/Gruppe und Dateirechte falsch

    deepblue

    • Schreiberling
    • Beiträge: 291
    • Geschlecht:
    Hallo,

    leider funktioniert das Import Script für die Bilder nicht richtig. Die Bilder die ich von modified eCommerce Shopsoftware 1.05 hoch lade, haben einen ganz andere Besitzer/Gruppe. Diese Dateirechte kann ich per FTP nicht mehr ändern.

    Habe jetzt mal bei Estugo angerufen. Die sagten mir das das Script welches von modified eCommerce Shopsoftware die Bilder übergibt nicht richtig funktioniert.

    Laut Estugo ist das Script von modified eCommerce Shopsoftware 1.05 fehlerhaft, weil der Besitzer/Gruppe nicht richtig übergeben wird.

    Bilddateien haben per FTP die Dateiberechtigung 644 das ist soweit auch richtig. Die Bilder die per Script hoch geladen wird, also von Shop aus haben einen falschen Besitzer/Gruppe und die Dateirechte sind 777.

    Liegt das wirklich am Script von modified eCommerce Shopsoftware 1.05?

    Gruß deepblue



    Linkback: https://www.modified-shop.org/forum/index.php?topic=10637.0

    franky_n

    • Experte
    • Beiträge: 4.950
    Hallo deepblue,

    da Dein Server wahrscheinlich "safe_mode" auf "on" stehen hat bekommt das PHP Skript einen anderen Benutzer als Dein FTP Programm.
    Wenn das Skript also ein Bild kopiert/anlegt dann verbietet der Linux Server dem Benutzer "FTP" den Zugriff.

    Bitte auf safe_mode off stellen, da der Shop das als Voraussetzung benötigt.

    Weitere Infos siehe auch hier: Sicheres Programmieren in PHP - Was genau bewirkt safe_mode und ist das sicher?

    Viele Grüße

    Franky

    deepblue

    • Schreiberling
    • Beiträge: 291
    • Geschlecht:
    Man könnte bei Estugo die richtigen Besitzer/Gruppe und Dateiberechtigung für die Bilder schon zuweisen, aber ich möchte ja nicht jedes mal und für jedes Bild bei Estugo anrufen oder eine Mail senden.

    Laut Estugo soll es an dem Script von modified eCommerce Shopsoftware 1.05 liegen und nicht an deren Servern. Die wären für modified eCommerce Shopsoftware schon richtig konfiguriert.

    Laut Serverinformationen steht der safe_mode auf "off"

    Woran könnte es noch liegen?

    deepblue

    • Schreiberling
    • Beiträge: 291
    • Geschlecht:
    Wie ich mit dem FTP Programm Filezilla sehe gibt es alleine im Bilder Ordner
    images/product_images/original_images

    drei verschiedene Besitzer/Gruppen: 3333, 1147 502, 1147 114
    Bei einigen Bildern kann ich die Dateiberechtigung nicht selbst bestimmen!  :?

    Ist das ein Server Problem? Wie schon gesagt bei Serverinformationen steht: safe_mode "off"

    franky_n

    • Experte
    • Beiträge: 4.950
    Hallo deepblue,

    Ich denke wenn es kein Serverproblem wäre, hätten sich hier schon mehrere Leute gemeldet mit dem Problem.

    Viele Grüße

    Franky

    deepblue

    • Schreiberling
    • Beiträge: 291
    • Geschlecht:
    @ franky_n

    Da hast du bestimmt recht, aber ich muß den Leuten vom Estugo Support schon genau sagen wo der Fehler am Server liegt!  :flee-mrgreen:

    franky_n

    • Experte
    • Beiträge: 4.950
    Hallo deepblue,

    an den Benutzerrechten! :D  :flee-mrgreen:

    Was erwartest Du? Das wir wissen wie Estugo den Server eingestellt hat?
    Eigentlich sollten die die Serverspezialisten sein! Schließlich vertickern die Dir ja auch den Webplatz! ;)

    Was wir am Shop machen könnten wäre folgendes:
    In der Datei /admin/includes/classes/image_manipulator_GD1.php in Z.310 nach dem:

    Code: PHP  [Auswählen]
    imagejpeg($this->t, $this->d, $this->e);
    das einfügen:

    Code: PHP  [Auswählen]
    chmod ($this->d, 0777);
    In der Datei /admin/includes/classes/image_manipulator_GD2.php in Z.316 nach dem:

    Code: PHP  [Auswählen]
    imagejpeg($this->t, $this->d, $this->e);
    das einfügen:

    Code: PHP  [Auswählen]
    chmod ($this->d, 0777);
    Dann sollten Bilder die hochgeladen werden automatisch auf 777 gestellt werden.

    Viele Grüße

    Franky

    deepblue

    • Schreiberling
    • Beiträge: 291
    • Geschlecht:
    @franky_n

    Danke dir noch einmal für deine Antwort. Aber ich denke mal das liegt mal wieder an ESTUGO.
    Hatte schon öfters Probleme mit dem Provider und ich hoffe, dass sie das Problem an Ihren Webservern lösen können!  :no-sad:

    franky_n

    • Experte
    • Beiträge: 4.950
    Hallo deepblue,

    ansonsten machen wir Dir jetzt mal eben ein kleines Skript, damit Du weiter kommst...

    Code: PHP  [Auswählen]
    <?php
      $dir = ".";
      if (is_dir($dir)) {
        if ($dh = opendir($dir)) {
          while (($file = readdir($dh)) !== false) {
            if ($file != "." && $file != ".." && $file != "index.html") {
              chmod($file, 0777);
            }
          }
          closedir($dh);
        }
      }
    ?>
    Einfach diese php Datei, egal wie Du sie nennst in den jeweiligen Ordner legen (z.B.: /images/product_images/original_images/) und dort ausführen.
    Dann sollte das Skript alle Dateien auf Dateirechte 777 stellen und Du müsstest dann mit Deinem FTP Programm dran kommen.
    Verändert zwar nicht den Besitzer, aber alle haben das Recht drauf zu zu greifen.
    Sind ja auch Bilder für den Shop die alle ruhig sehen dürfen von daher...

    PS: Für neue Bilder/Produkte die Du einpflegst sollte mein oberer Vorschlag eingebaut werden, denn dann werden die Bilder direkt auf 777 gesetzt.

    Viele Grüße

    Franky

    ESTUGO

    • ESTUGO.net
    • Mitglied
    • Beiträge: 100
    • Geschlecht:
    Hallo,

    das "Problem" ist jenes, welches die Anfrage vom Script an dem Webserver übergibt, der dann im Auftrag des Scripts die Bilder hoch lädt.

    Beispiel:
    Sie laden ein Bild über die Software/Script im Shop hoch. Der Befehl wird übergeben an dem Webserver (Apache), der dann die Bilder für Sie hoch lädt. Da nun der Apache (z.B. www-data / 33) die Bilder hoch lädt, ist der Apache der Besitzer.

    Wenn nun das Bild direkt über dem FTP-Server (z.B. FileZilla) hochgeladen wird, ist der Besitzer der FTP-Benutzer (z.B. web1 / 1147)

    Wie bereits gestern erwähnt, können wir Ihnen hier zwei Möglichkeiten anbieten.

    - 1) Wir können Ihnen kostenfrei suPHP einrichten, so dass immer, ohne Ausnahme der Besitzer der FTP-Benutzer ist. Hier muss allerdings beachtet werden, dass die CHMOD-Rechte nicht verändert werden dürfen. Diese werden immer für Dateien mit 644 und Ordner mit 755 versehen: ACHTUNG: Falls die Rechte verändert werden, kommt es zu einem Serverfehler. Falls die Rechte 777 benötigt werden, wird dies vorher ausgelesen und automatisiert für den Ordner/Dateien vergeben, Beispiel: templates_c Ordner.

    - 2) Wie franky_n bereits schrieb, kann man via Script die richtigen Dateirechte mit übergeben, in dem Falle 777. Auch die Übergabe des Besitzers, sollte man via Script festhalten können.

    Im Vorfeld könnte ich via ssh allen Bilder unter /images den Besitzer 1147 zuweisen.

    Bei Rückfragen wäre ich Ihnen sehr verbunden, wenn Sie uns hierzu eine E-Mail an support@estugo.de zukommen lassen könnten.

    Vielen Dank ;)!

    franky_n

    • Experte
    • Beiträge: 4.950
    Import-Script für Bilder - Benutzer/Gruppe und Dateirechte falsch
    Antwort #10 am: 14. Januar 2011, 12:07:40
    Hallo estugo.net,

    ja man kann auch die Besitzerrechte per Skript ändern aber man benötigt dazu Superuser Rechte!
    Und es ist unsinnig einem FTP oder Skript die Superuser Berechtigungen zu geben.
    Das ist dann eher ein Sicherheitsloch.

    Die Besitzerrechte ziehen meines Erachtens nur, wenn auch safe_mode im Apache auf "on" steht.
    Ansonsten würde dieses Problem gar nicht auftreten. Das ist auch der Grund warum viele Skripte die geschrieben werden nur mit "safe_mode = off" laufen.
    Noch dazu ist "safe_mode" nicht 100%ig sicher und wurde deshalb auch schon wieder als "deprecated" seit PHP 5.3.0 behandelt.

    Natürlich ist es auch zu lösen über suPHP, nur was mache ich wenn das Skript nun die Datei löschen soll und die Besitzerrechte auf FTP stehen? Dann kann das Skript plötzlich keine Dateien mehr löschen....

    Ergo: Die einfachste Lösung wäre für dieses Webhosting den safe_mode auf "off" zu stellen...

    Viele Grüße

    Franky

    ESTUGO

    • ESTUGO.net
    • Mitglied
    • Beiträge: 100
    • Geschlecht:
    Import-Script für Bilder - Benutzer/Gruppe und Dateirechte falsch
    Antwort #11 am: 14. Januar 2011, 14:53:20
    Hallo Franky,

    als PHP-Version verwendet der Server 5.2.6-1.

    Da unter suPHP dem Script der Besitzer "web1" zugeordnet wird, sollte auch das Script die Dateien löschen können.

    Der safe_mode ist bereits deaktiviert, dies kann gerne via info.php kontrolliert werden:

    - safe_mode   Off

    Leider habe ich derzeit keine Idee warum das Script die Rechte nicht übergibt.

    Haben Sie noch eine Idee?

    Templateshop - Eine große Auswahl an neuen und modernen Templates für die modified eCommerce Shopsoftware
    5 Antworten
    3234 Aufrufe
    24. September 2012, 13:11:55 von PregLiz
    4 Antworten
    5002 Aufrufe
    11. Januar 2012, 20:08:47 von ds170477
    13 Antworten
    2438 Aufrufe
    13. Dezember 2017, 12:03:30 von matthiasr