Autor Thema: Dateiupload  (Gelesen 21387 mal)

Offline Halchteranerin

  • Full Member
  • ***
  • Beiträge: 130
    • Profil anzeigen
Dateiupload
« am: 12.10.2004 17:31 »
Hi,

ich weiss nicht, wieviele Contenido-Benutzer hier herumschwirren, aber ich habe mal an die eine Frage: welche Rechte haben Eure Dateien, wenn Ihr etwas ueber Contenido hochladet? Bei mir haben sie 644, aber es gibt im Contenido-Forum gerade eine Diskussion, und da sollen die 600 haben, auch nach Aussage von Profihost. Ich finde das nur etwas merkwuerdig, dass meine beiden Pakete ohne Probleme funktionieren (bei beiden bekommen die Dateien die Rechte 644 nach dem Upload), und dass bei anderen nur die Rechte 600 vergeben werden, und dies auch normal sein soll ...

Gruss
Christa

Offline Profihost - Technik

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 2017
    • Profil anzeigen
Dateiupload
« Antwort #1 am: 12.10.2004 18:31 »
Also standardmäßig haben alle Dateien, die per Upload kommen 600, es sei denn, im PHP Script wird die umask geändert oder aber ein chmod Befehl durchgeführt.

Sollte dies def. nicht der Fall sein (also nicht 600), so würde ich dies gerne einmal testen. PM mit Kdnr und Domain genügt mir.
Mit freundlichen Grüßen
Ihr ProfiHost Team

Offline Halchteranerin

  • Full Member
  • ***
  • Beiträge: 130
    • Profil anzeigen
Dateiupload
« Antwort #2 am: 12.10.2004 20:36 »
Ich glaube, ich hab's rausgefunden, woran es liegt: bei der von mir benutzten Contenido-Version wird noch ein chmod ausgefuehrt, bei der neuesten nicht mehr. Grund: nach Aussage einer der Entwickler, die ich auch nur unterstuetzen kann, ist es eigentlich so, dass es nichts bringt, per Skript die Rechte zu aendern, weil die Skripte ja nicht 'wissen', wie der Server konfiguriert ist, sprich, welche Werte fuer chmod benoetigt werden. Zufaellig ist es bei der letzten stabilen Contenido-Version so, dass die Rechte 644 mit dem, was auf Profihost-Servern benoetigt wird, uebereinstimmen, aber bei anderen Servern trifft das eben nicht zu. Aus diesem Grund ist es sinnvoll, die Rechte direkt serverseitig zu setzen.

Offline Profihost - Technik

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 2017
    • Profil anzeigen
Dateiupload
« Antwort #3 am: 12.10.2004 21:06 »
Welche Rechte außer 644 gibt es denn, die noch sinnvoll wären? Außer evtl. 640 oder 600, 644 würde aber keinem weh tun? - in sofern ist 644 kein Problem.  Desweiteren gibt es bei php in der .ini keine Möglichkeit, eine globale chmod oder umask für Uploads festzulegen, so dass ohne chmod oder mind. eine Configmöglichkeit für chmod - alle php Binary User Contenido nicht mehr nutzen können...
Mit freundlichen Grüßen
Ihr ProfiHost Team

Gast

  • Gast
Dateiupload
« Antwort #4 am: 12.10.2004 21:36 »
Ich selbst habe ebenfalls das Problem, das ich nach Uploads aus dem Contenido-Backend immer manuel einen chmod durchführen muss.  :(
Ich verstehe nicht weshalb Ihr von ProfiHost die Rechte standartmäßig auf 600 setzt. 644 würde ja wie gesagt keinem weh tun und eine Menge von Contenidio-Nutzern Probleme ersparen.

Offline Halchteranerin

  • Full Member
  • ***
  • Beiträge: 130
    • Profil anzeigen
Dateiupload
« Antwort #5 am: 12.10.2004 21:43 »
Zitat von: "ProfiHost - Technik"
Welche Rechte außer 644 gibt es denn, die noch sinnvoll wären?

Nicht alles, was der eine oder andere Provider macht, ist sinnvoll.  :wink: Der eine hat SAFE_MODE deaktiviert (Profihost), der andere nicht ... bei dem einen gehoeren die per Skript hochgeladenen Dateien dem User, bei dem einen dem Webuser, bei dem dritten wiederum weissderGeierwem ...

Aber wenn 644 kein Problem ist, dann koennte das auf den Profihost-Servern geaendert werden, oder?  :lol:

Zitat von: "ProfiHost - Technik"
Desweiteren gibt es bei php in der .ini keine Möglichkeit, eine globale chmod oder umask für Uploads festzulegen, so dass ohne chmod oder mind. eine Configmöglichkeit für chmod - alle php Binary User Contenido nicht mehr nutzen können...

Soweit meine 'Schnellsuche' ergab, wird das eher in der httpd.conf und nicht in der php.ini gesetzt, aber ich kann mich da genauer erkundigen, weil ich damit bisher nicht gearbeitet habe.

Offline Profihost - Technik

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 2017
    • Profil anzeigen
Dateiupload
« Antwort #6 am: 12.10.2004 22:47 »
@Gast und @Halchteranerin

Wenn Sie mir sagen, wie wir PHP dazu bewegen können, die Scripte standardmäßig als 644 upzuloaden - tue ich dies gerne... werde morgen aber gerne auch noch einmal suchen. Bei php als Modul ist es 644 bei php als Binary nicht... - so scheint es.

Zitat

Nicht alles, was der eine oder andere Provider macht, ist sinnvoll.  Der eine hat SAFE_MODE deaktiviert (Profihost), der andere nicht ... bei dem einen gehoeren die per Skript hochgeladenen Dateien dem User, bei dem einen dem Webuser, bei dem dritten wiederum weissderGeierwem ...

Richtig - deswegen einfach chmod 644 drin lassen - das gibt bei keinem der geschilderten Fälle ein Problem - ansonsten stellen wir auch gerne um - siehe oben...
Mit freundlichen Grüßen
Ihr ProfiHost Team

Offline Halchteranerin

  • Full Member
  • ***
  • Beiträge: 130
    • Profil anzeigen
Dateiupload
« Antwort #7 am: 13.10.2004 07:34 »
Zitat von: "ProfiHost - Technik"
Wenn Sie mir sagen, wie wir PHP dazu bewegen können, die Scripte standardmäßig als 644 upzuloaden - tue ich dies gerne... werde morgen aber gerne auch noch einmal suchen. Bei php als Modul ist es 644 bei php als Binary nicht... - so scheint es.

Ich werde gucken, ob/was ich herausfinden kann. Aber nur zum Verstaendnis: es ist richtig, dass php bei Profihost als Binary und nicht als Modul installiert ist, ja?

Zitat von: "ProfiHost - Technik"
Richtig - deswegen einfach chmod 644 drin lassen - das gibt bei keinem der geschilderten Fälle ein Problem - ansonsten stellen wir auch gerne um - siehe oben...

Bei der Version, die ich benutze, bleibt es auch drin. Bei der neuen Contenido-Version wurde das Skript umgeschrieben, deswegen ist es ohne Weiteres nicht moeglich, da noch ein chmod 644 einzubauen. DAS ist das Problem.  :? Mal gucken, was sich machen laesst ...

Offline Profihost - Technik

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 2017
    • Profil anzeigen
Dateiupload
« Antwort #8 am: 13.10.2004 09:00 »
Ja - korrekt. Ich werde auch noch einmal gucken, was da möglich ist.
Mit freundlichen Grüßen
Ihr ProfiHost Team

Gast

  • Gast
Dateiupload
« Antwort #9 am: 13.10.2004 16:58 »
In der Diskussion im Contenido-Forum ist man zu der Überzeugung gekommen, dass das korrekte setzen der unmask die Aufgabe des Providers wäre. Das setzen auf 644(133) oder 755(022) wäre dabei wohl üblich.
Zu setzen ist die unmask für den Apache innerhalb der Server-Enviroment und nicht über eine direktive.

Für diese initiale Enviroment sind verschiedene Konfigurations-Dateien der Shells verantwortlich, die teils bei jedem Start einer Shell, teils nur beim Start einer Login-Shell abgearbeitet werden.

Innerhalb dieser Dateien muss dann auch die unmask entsprechend gesetzt werden. Allgemeine Infos zu der Thematik habe ich hier gefunden:
http://www.linuxfibel.de/shallg.htm (nach umask suchen)
Genaueres herauszufinden fällt mir mangels Hintergrundwissen schwer. Vielleicht hilft es ja ...[/quote]

Offline Profihost - Technik

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 2017
    • Profil anzeigen
Dateiupload
« Antwort #10 am: 14.10.2004 09:40 »
@Gast

Dort geht es konkret um die umask einer Shell - hier leider irrelevant. Leider bin ich kein PHP Mensch - sondern eher Perl begeistert :-) Kennt jemand eine URL, wo es einen kleinen PHP Uploader gibt - mit dem ich die umask Geschichte und einen evtl. Patch für den Apache, den ich schreiben werde, testen kann.
Mit freundlichen Grüßen
Ihr ProfiHost Team

Offline Profihost - Technik

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 2017
    • Profil anzeigen
Dateiupload
« Antwort #11 am: 14.10.2004 12:00 »
Also ich habe nun diverse Tests durchgeführt und die UMASK ist bei uns mit 022 def. korrekt.

Eine Datei, die mit fopen erstellt wird, erhält 644, was auch korrekt ist.  Ändere ich die UMASK auf z.B. 044 wird die Datei mit 622 erstellt.

Die rechte sind nur bei der PHP Uploadfunktion falsch - warum kann ich leider nicht ergründen.

NACHTRAG:
Laut diversen Foren usw. kann man mit der UMASK Einstellung die Permissions für die PHP Uploads nicht ändern. Was auch mein Tests gezeigt haben. Die UMASK ist bei uns def. korrekt und erzeugt Files mit 644 Permissions.
Mit freundlichen Grüßen
Ihr ProfiHost Team

Offline Profihost - Technik

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 2017
    • Profil anzeigen
Dateiupload
« Antwort #12 am: 14.10.2004 12:08 »
Noch ein Nachtrag - es kann def. nur durch ein chmod im Programm behoben werden.

In PHP selbst ist es so einprogrammiert, dass Uploaded Files 600 erhalten, es sei denn es handelt sich um die Modulversion. Das ist mein letzter Stand.
Mit freundlichen Grüßen
Ihr ProfiHost Team

Gast

  • Gast
Dateiupload
« Antwort #13 am: 14.10.2004 14:01 »
Zitat
es kann def. nur durch ein chmod im Programm behoben werden.

Das Contenido-Entwicklerteam hält es aus nachvollziehbaren für unprofessionell Dateirechte im Programmcode hardcoded einzugeben. Man sollte daher den Fehler dort suchen wo er ist.

PHP als binary läd Files nicht generell mit 600 hoch. Das liegt an eurer Serverkonfiguration. Im Forum habe ich folgendes gefunden:
Zitat

Wir setzen auf Grund der Sicherheit aller PHP als Binary in Verbindung mit einer eigens entwickelten suExec ein - um PHP, Perl und alle anderen Programme unter den Rechten des Users laufen lassen zu können und in einer JailShell Umgebung.

Eventuell sollte man innerhalb dieser PHP-Umgebung noch einmal nach Einstellungsmöglichkeiten suchen.

Bei anderen Providern hat man manchmal die Möglichkeit zwischen PHP als binary oder PHP als Modul zu wählen. Könnte man so eine Option nicht auch bei Profihost anbieten? Auch das wäre eine Lösung für uns Contenido-Nutzer.

Offline Profihost - Technik

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 2017
    • Profil anzeigen
Dateiupload
« Antwort #14 am: 14.10.2004 14:10 »
Zitat

Das Contenido-Entwicklerteam hält es aus nachvollziehbaren für unprofessionell Dateirechte im Programmcode hardcoded einzugeben. Man sollte daher den Fehler dort suchen wo er ist.

PHP als binary läd Files nicht generell mit 600 hoch. Das liegt an eurer Serverkonfiguration. Im Forum habe ich folgendes gefunden:

Dann möge man mir doch mal sagen, wo man dies ändern kann. Die umask ist def. korrekt.

Zitat

Eventuell sollte man innerhalb dieser PHP-Umgebung noch einmal nach Einstellungsmöglichkeiten suchen.

Dort ist nichts einzustellen... außer die umask und dioe ist korrekt.

Zitat
Bei anderen Providern hat man manchmal die Möglichkeit zwischen PHP als binary oder PHP als Modul zu wählen. Könnte man so eine Option nicht auch bei Profihost anbieten? Auch das wäre eine Lösung für uns Contenido-Nutzer

Da die Modulvariante niemals nie auch nur Ansatzweise so sicher ist, wie die Binäre kommt dies für uns nicht in Frage.

Einfach mal bei google suchen - ich habe dort zumindest etliche Hinweise gefunden, dass es bei der Binären Version nur mit chmod ginge.

Beweißt man mir das Gegenteil, suche ich gerne weiter.
Mit freundlichen Grüßen
Ihr ProfiHost Team