chmod für cms setzen

Rund um die Sicherheit des Systems und die Applikationen
medienopfer98
Posts: 12
Joined: 2005-07-19 09:56
Location: Kronach
 

chmod für cms setzen

Post by medienopfer98 »

Erstmal zu anfang... ja ich habe keinen Rootserver mehr und benutze jetzt einen Managed (nach etlichen Tipps aus versch. Foren)... und ... schön man spart ja auch noch zeit (zumindest ich :-))...

Nun zum eigentlichen Problem. Ich Programmiere Websites eigentlich immer ausschließlich mit CMS (meist individuell) und habe probleme mit den Rechten. Z.B. beim Bildupload usw. Ich habe ja den Benutzer, Gruppe, und Welt. Nun weis ich nicht, ob es sinnvoll ist alles auf 777 zu setzen, damit keine Probleme mehr auftreten?

Wie kann ich eine Gruppe erstellen für den/die User der/die sich im CMS einloggt/einloggen? Geht das? Oder haben die Benutzer des CMS immer "Welt"-rechte? Oder kann ich diese vielleicht sogar als Benutzer definieren?

Oder sollte ich alles auf 644 (Daten) und 755 (Ordner) setzen und nur die daten die schreibrechte zwecks cms benötigen auf 777 setzen? Das ist halt jedesmal ein echter Zeitaufwand.

Hoffe mir kann jemand helfen. Ich verzweifel da irgendwie an diesem Thema.
eisbärmann
Posts: 28
Joined: 2004-06-27 14:04
 

Re: chmod für cms setzen

Post by eisbärmann »

Hi,

die Geschichte mit 777 ist glaube ich schon oft genug diskutiert worden.

Aber wie sieht denn die Konfiguration Deines Webservers im Augenblick aus?
Also soweit wie Du eine Aussage machen kannst.

Welches CMS setzt Du ein?

Wenn die ganzen lese-/schreibzugriffe über php stattfinden, dann denk doch mal über einen wrapper nach, der dir die meisten Rechte geschichten abnimmt.

Ansonsten bau Dir doch ein Paket, in dem die Rechte auf bestimmte Ordner so gesetzt sind.
medienopfer98
Posts: 12
Joined: 2005-07-19 09:56
Location: Kronach
 

danke erstmal,...

Post by medienopfer98 »

Es geht allgemein um CMS. Verwende u. A. Typo3 aber wie gesagt meist entwerfe/programmiere ich individuelle CMS.

Hab jetzt mal nach wrapper gegoogled,... aber???? Ich dachte schon das wäre was zu essen :-) Aber danke schonmal für den Hinweis...

Mit Wrapper meinst du da, ich sollte ein kleines Script schreiben, das vor dem Zugriff auf die Datei das ganze auf 777 setzt, und danach wieder zurück auf 644?
medienopfer98
Posts: 12
Joined: 2005-07-19 09:56
Location: Kronach
 

...

Post by medienopfer98 »

nach 3 Std. Beschäftigung mit diesem Thema, denke ich folgendes:

Es gibt keine Optimale und gleichzeitig schnelle Lösung. Ich werde es deshalb weiter so machen:

1. Daten mit FTP hochladen
2. Daten und Ordner manuell anpassen

Wenn jemand doch noch eine Lösung weis... ??? Ansonsten Danke.
marco.kobek
Posts: 40
Joined: 2004-06-11 20:45
 

Re: chmod für cms setzen

Post by marco.kobek »

ich geh davo aus du programierst mit PHP.
D. h. auf eiem Sicheren Server ist in der php.ini safe_mofe=on was zur folge hat dass ein Script nur ein anderes ausführen kann welches dem gleichen User gehört.

Daher ist der FPT-Upload generell die bessere wahl.
Welcher User... i. d. R. arbeiten CMS und deren Scripte mit dem user des Apache Server also www-data oder www-run je nach Distribution bzw. Einstellung.

Das is auch der User der Rechte braucht.
Normalerweise sind die REchte so.
User = Besitzer
Gruppe = apache
Otehrs = Nix
thomas r
Posts: 16
Joined: 2005-09-13 12:08
Location: Wesel
 

Rechtevergabe für TYPO3

Post by thomas r »

Hallo,

bei TYPO3 ist die Sache ziemlich klar im Buch von Altmann, Fritz, Hindernik (ISBN 3937514015) beschrieben:
[Abschnitt 3.3, Seite 70 unten:]
Führen Sie nun nacheinander folgende Befehle aus, um die betreffenden Verzeichnisse für den Webserver beschreibbar zu machen:

Code: Select all

chmod 777 typo3/temp
chmod 777 typo3/ext
chmod 777 typo3temp
chmod 777 typo3conf
chmod 777 typo3conf/ext
chmod 777 uploads
chmod 777 fileadmin
Die Rechtevergabe 777 ist jedoch nicht ohne Gefahren, da dadurch alle Benutzer des Systems Zugriff haben. Besser wäre es, die Rechte auf 770 einzustellen, wenn der User auf den Namen des Webmasters sowie die Gruppe auf Gruppennamen mit dem der Webserver läuft, eingestellt werden kann. Dies ist jedoch abhängig von Ihren administrativen Möglichkeiten und Rechten auf dem Webserver; die oben genannte Variante funktioniert in jedem Fall.
Ich kann dazu noch ergänzen:
a) Auf einem 1&1-Managed-Server ist das alles nicht nötig,
wenn du die Installation mit dem .tar-Ball vornimmst:

Code: Select all

wget -c http://www...../typo...trallalla...3.8.x.tar.gz
tar -xzf typo...trallalla...3.8.x.tar.gz
b) Auf 1&1-Root-Servern hingegen musste ich bei einigen bestehenden Verzeichnissen nach einem Umzug von TYPO3-Präsenzen sogar mit der Option -R die Rechte umsetzen - etwa chmod -R 777 fileadmin. (Und: Nach einem Umzug von TYPO3-Seiten immer 1. alle Caches leeren, 2. Cleanup-Database ausführen!!!! Hatte letzteres mal vergessen ... es kommen keine Bilder in Back- und Frontend und man sucht verzweifelnd den Fehler.)

Viel Erfolg

Thomas
thomas r
Posts: 16
Joined: 2005-09-13 12:08
Location: Wesel
 

Re: chmod für cms setzen

Post by thomas r »

Noch eine Frage: Warum lädst du die gut 38 MB des TYPO3-Pakete mit FTP hoch? Hast du Langeweile?!?! :wink:

Code: Select all

wget -c http://switch.dl.sourceforge.net/sourceforge/typo3/typo3_src-3.8.1.tar.gz
wget -c http://switch.dl.sourceforge.net/sourceforge/typo3/dummy-3.8.1.tar.gz
tar -xzf typo3_src-3.8.1.tar.gz
tar -xzf dummy-3.8.1.tar.gz
Und ungefähr so weiter wie hier beschrieben in einer Installations-Anleitung:
http://jweiland.net/typo3cms/1und1-typo3-server/

Thomas :)
eisbärmann
Posts: 28
Joined: 2004-06-27 14:04
 

Re: chmod für cms setzen

Post by eisbärmann »

Hi nochmals,
Ich dachte schon das wäre was zu essen
Zum Essen ist das nichts, sorgt aber in den meisten Fällen für ein besseres Gefühl im Bauch :lol:

Kurze Erklärung:
  • - Du hast einen User "ftpuser" der Gruppe "users" mit seinem eigenen Homeverzeichnis und doc-ordner.
    - Das CMS wird durch "ftpuser" per ftp (bei der Menge wirklich nicht sinnvoll) hochgeladen -> Ordner "cms" mit Inahber ftpuser/users und z.B. 755 (für Dateien gilt ähnliches)
    - Der Apacheserver ist mit einem wrapper(suphp, suexec+fastcgi+php-cgi oder was auch immer) so konfiguriert, dass alle php skripte im doc-ordner von ftpuser im Kontext von "ftpuser/users" aufgerufen werden.
    - Im CMS kannst Du Dateien unterhalb von "cms" hochladen. Das ganze geschieht durch ein PHP Skript. Weil das ganze unter ftpuser/users läuft, wird die Datei mit den Rechten von ftpuser abgelegt.
Das ist in meinen Augen die beste Lösung für Zugriffe in einem CMS.

Für Typo3 habe ich noch einen kleinen Tipp für Dich:

1. Entpacke ein Source-Paket oder was auch immer für sourcen in einem temporären Verzechnis
2. Ã?ndere den kompletten Kontext des entpackten Ordners. Nimm als User am besten einen unprivilegierten User z.B. "webuser1". Als Gruppe nimmst Du die Gruppe des Webservers z.B. www-data

Code: Select all

chown -R webuser1:www-data typo3-src
3. Nun sollten die Rechte der Ordner und Dateien angepasst werden:

Code: Select all

find typo3-src/. -type f -exec chmod 640 {} ;
find typo3-src/. -type d -exec chmod 750 {} ;
4. Damit hast Du die groben Rechte schon mal gesetzt. Apache kann jetzt alle Dateien über die Gruppen-Rechte ansprechen.

5. Bei Typo3 existieren ja so ein paar Ordner(images?) und Dateien(Konfiguration), auf die der Webserver mit Schreibrecht zugreifen können muss - welche genau ist mir gerade entfallten, steht aber bei den Installationsroutinen im Fehlerbericht

Code: Select all

chmod g+w <DATEI|ORDNER>
6. Jetzt solltest Du mal den ganzen Ornder in einen Web-Ordner kopieren und testen, ob beim Zugriff per Web alles passt.

7. Nun kannst Du den gesamten Ordner in ein Archiv packen und bei nächstem Bedarf entpacken

8. Inhaber des Ordners muss dann aber immer noch per Hand angepasst werden.


Auf 100%-Gültigkeit brauchst Du Dich aber nicht verlassen - war nur so aus dem Kopf gezogen.

Ich rate Dir allerdings den Server "sicher managen" zu lassen.
In den meisten Fällen endet meine Idee damit, dass Dich User anrufen und sagen, dass sie eine Datei, die per CMS hochgeladen wurde, nicht mehr per FTP löschen können.

Dies ist zum einen Problem im CMS zum anderen in der Rechtepolitik eines Standard-Apaches.

Deshalb: wrapper verwenden - gerade bei PHP