upload und chmod

Gesperrt
Uwe
Beiträge: 258
Registriert: Mo 30. Jun 2003, 16:05
Wohnort: Konstanz
Kontaktdaten:

upload und chmod

Beitrag von Uwe » Fr 1. Jul 2005, 15:43

Hallo,

ich teste gerade die neueste Version (4.5.3 cvs vom 24.06.2005).

Das CMS läuft unter einer subdomain (cms.domain.de/contenido). Wenn ich Dateien hochlade (Dateiverwaltung) sind die Dateien auf 600 gesetzt, ich brauche aber wenigstens 740. Bei anderen Domains des gleichen Providers sind die Rechte so gesetzt. Andere Anwendungen laufen auch so (cms. domain.de und frontend domain.de)

Nun weiss ich nicht, ob das an der neuen Version liegt oder ob der Provider plötzlich andere Einstellungen hat. Der Support dort meinte, dass man beim upload den Dateien Rechte mitgeben kann. Macht Ihr das und wenn ja: wo kann ich das ändern?

Ich freue mich auf eine Antwort,

Viele Grüsse vom Bodensee, Uwe

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Fr 1. Jul 2005, 17:12

Prinzipiell wird der Mode nicht von Contenido bestimmt, sondern wird vom Server selbst gesetzt. Du kannst natürlich in Contenido selbst ein chmod ausführen, wir werden das aber in Contenido selbst nicht einbauen, da wir einfach nicht wissen (können), wie die richtigen Rechte sind. Dazu gab es auch schonmal eine Riesendiskussion, evtl mal im Forum suchen.

Uwe
Beiträge: 258
Registriert: Mo 30. Jun 2003, 16:05
Wohnort: Konstanz
Kontaktdaten:

Beitrag von Uwe » Di 5. Jul 2005, 09:55

Hi Timo,

danke für die schnelle Antwort.

Ich habe mit dem Support telefoniert und der sagte, dass die Einstellungen so bleiben (chmod 600) und wer will kann das ja ändern.

Nun meine Frage:
Gibt es einen Weg nach dem Upload die Rechte der gerade hochgeladenen Dateien auf den gewünschten Wert einzustellen? In PHP gibt es ja eine Funktion (chmod). Ich könnte mir vorstellen, dass man in das Upload-Script diese Funktion irgendwie einbaut. Während des Uploads weiss der Server ja, welche Dateien wohin geladen werden. Kann man sich da dranhängen mit der chmod-Funktion?

Die Ansprüche sind sicher immer anders. Man könnte ja in die config eine Variable schreiben, in der man die Rechte festlegt - oder auch nicht.

Über eine Hilfestellung freue ich mich.

Viele Grüsse aus Konstanz, Uwe

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Di 5. Jul 2005, 09:59

Du könntest das über die umask festlegen:

http://de3.php.net/umask

z.b. innerhalb der config.php

Uwe
Beiträge: 258
Registriert: Mo 30. Jun 2003, 16:05
Wohnort: Konstanz
Kontaktdaten:

Beitrag von Uwe » Di 5. Jul 2005, 15:17

Hallo Timo,

Ich habe mal die Version 4.4.5 dort installiert und nun stimmen die Rechte. Die hochgeladenen Dateien haben nun 644 anstatt 600 bei der Version 4.5.3. Wie kommt denn sowas zustande?

Viele Grüsse, Uwe

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Di 5. Jul 2005, 15:25

in der 4.4.5 war noch ein chmod-Aufruf drin, dieser wurde entfernt.

Grundsätzlich gilt: Welche Rechte eine Datei erhält, wird vom Server bestimmt. Daher gab es die Grundsatzfrage: Soll Contenido die Rechte vergeben?

Die Antwort darauf war nein, denn es ist einem jeden Provider zumutbar, die Einstellungen des Servers so zu verändern, daß die Rechte entsprechend gesetzt werden (Stichwort umask).

Uwe
Beiträge: 258
Registriert: Mo 30. Jun 2003, 16:05
Wohnort: Konstanz
Kontaktdaten:

Beitrag von Uwe » Di 5. Jul 2005, 15:35

Wo habt Ihr das denn in der alten version gemacht? Dann könnte ich das ja übernehmen ...

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Di 5. Jul 2005, 15:37

setze einfach in der config.local.php (erzeugen, falls sie nicht existiert) folgendes ans Ende:

umask(0);

dann sollte das überall greifen.

Die Stelle wird dir nichts bringen, da der Code zwischen der 4.4.5 und der 4.5.3 nicht identisch ist.

Uwe
Beiträge: 258
Registriert: Mo 30. Jun 2003, 16:05
Wohnort: Konstanz
Kontaktdaten:

Beitrag von Uwe » Di 5. Jul 2005, 15:45

Danke Timo, das werde ich machen.

Noch eine Frage: werden jedesmal die Rechte überprüft und neu gesetzt wenn das script gestartet wird?

Schlägt sich das auf die Performance nieder?

Vielen Dank und viele Grüsse aus Konstanz, Uwe

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Di 5. Jul 2005, 17:08

rein technisch gesehen: ja, ein umask-Aufruf macht das System langsamer. Aber das dürfte auf einem recht aktuellen Server in den mikrosekunden-Bereich gehen, also nicht wirklich tragisch.

Uwe
Beiträge: 258
Registriert: Mo 30. Jun 2003, 16:05
Wohnort: Konstanz
Kontaktdaten:

Beitrag von Uwe » Mi 6. Jul 2005, 11:49

Also, ich habe die Datei config.local.php angelegt und diesen Code eingebaut.

Code: Alles auswählen

<?php
umask(0);
?>
Diese Datei habe ich in den Ordner contenido/includes abgelegt. Leider ohne Wirkung. Ich weiss ja auch nicht, ob diese Datei auch tatsächlich benutzt wird.

Alternativ habe ich die Funktion in die config.php im Frontend und in contenido/includes eingebaut. Auch hier habe ich nicht den gewünschten Erfolg erzielt. Ein echo umask(); gibt mir eine "0" aus.

Dann habe ich in der Version 4.4.5 die Scripte durchsucht (natürlich nicht alle) um zu sehen wo es dort eingebaut ist. Leider auch erfolglos.

Und nun natürlich meine Frage:
:?: Wo genau muss ich die config.local.php einsetzen?
:?: Muss ich diese irgendwo includieren?
:?: Reicht es eventuell die Funktion in eine der config-Dateien zu schreiben?
:?: Oder kurz gefragt: kannst Du mir eine kurze Anleitung für Dummies geben?

Viele Grüsse vom Bodensee, Uwe

loopcoordinator
Beiträge: 1
Registriert: Di 12. Jul 2005, 10:46
Kontaktdaten:

umask

Beitrag von loopcoordinator » Di 12. Jul 2005, 11:03

hallo zusammen,

bin an genau der gleichen stelle verzweifelt, wie vor mir uwe ...

die gleichen fragen :

- wie erstelle ich eine config.local.php ?
- in welchem ordner waere die config.local.php denn abzulegen ?
- wo muesste man diese eventuell includieren ?
- reicht es vielleicht die umask funktion in eine der config-dateien zu schreiben ?
- kannst du uns vielleicht ne kleine anleitung basteln ?

sonnige gruesse aus dem sueden der republik, micha

Gesperrt