Dateirechte für die TYPO3-Installation richtig setzen

Wenn man TYPO3 selbst auf dem Server installiert, müssen bestimmte Verzeichnisse für den Webserver schreibbar sein. Nur allzuoft macht man es sich besonders bequem und setzt den folgenden Befehl ab:

chmod -R 777 *

Dies ist nicht nur unsinnig sondern zudem auch noch ein großes Sicherheitsrisiko – schließlich sollen die Gruppe und alle anderen keine Schreibrechte auf unsere Dateien haben.

Es ist allerdings auch nicht so schwierig, dies richtig zu machen. Die folgende Anleitung gilt für Unix-Systeme, wie Linux oder Mac OS X:

  1. Zuerst finden wir heraus, unter welchem User unser Webserver läuft.
    ps auxw | grep httpd

    bzw. (je nach verwendeter Version des Webservers)

    ps auxw | grep apache2

    Die Ausgabe lautet nun beispielsweise:

    nobody   62334   0.0  0,1   624316   1244   ??  S    11:26am   0:00.00 /Applications/xampp/xamppfiles/bin/httpd -k start -DSSL -DPHP5

    Der User, unter dem der Webserver läuft heisst also “nobody”.

  2. Nun weisen wir allen TYPO3-Dateien diesen User zu:
    cd /pfad/zu/document/root
    chown -R nobody *
  3. Nun wird allen Ordnern (und Dateien) zunächst das Recht 755 (d.h. Schreiben, Lesen und Öffnen für den Benutzer und Lesen+Öffnen für die Gruppe und alle anderen) zugewiesen.
    chmod -R 755 *
  4. Bei Dateien hat obiger Befehl allerdings dafür gesorgt, dass diese nun auch zusätzlich ausführbar sind, da das Recht “x” bei Ordner für das Öffnen steht (also in den Ordner wechseln) und bei Dateien für Ausführen – dies korrigieren wir hiermit:
    find . -type f -print0 | xargs -0 chmod 644
  5. Gerade für letzteren Befehl hatte Michael Imhof auf dem TYPO3camp 2008 eine andere Lösung gefunden – die aber (zumindest bei mir und einem Kollegen) leider nicht funktioniert hat – daher hier eine (hoffentlich) universellere Lösung. Gebt uns einfach Bescheid, wenn diese bei Euch nicht funktionieren sollte (am Besten inkl. genauer OS-Version).
hype

 

5 Kommentare

    Frank schreibt:

    Ich verwende dafür folgende Befehle und alles ist super ;)

    chgrp -R wwwdata *
    find . -type d -print0 | xargs -i -0 chmod 775 “{}”
    find . -type f -print0 | xargs -i -0 chmod 664 “{}”

    Statt wwwdata natürlich die Gruppe des Webservers nehmen. Damit erhalten alle Dateien und Verzeichnisse die richtigen Rechte und die Daten sind sicher vor Fremden (anderen usern auf dem Servern) geschützt.

    Gruß
    _Frank

    patrick schreibt:

    Hi Frank,

    auch cool :-) Bei mir auf dem MacBookPro funktioniert dies allerdings nicht, da xargs dort keine Option -i hat. Auf Debian allerdings einwandfrei.

    Gruß Pat

    Auyana schreibt:

    Die erforderlichen Dateirechte hängen von den Einstellungen des Servers ab, auf dem geshostet wird. Leider sind diese nicht immer einzusehen. Die Einstellung 755 hat bisher immer funktioniert.

    Marit AG TYPO3 Blog » Dateirechte auf dem Server schreibt:

    [...] Immer dieser Ärger mit den Dateirechten… Aber hier gibts ne gute Anleitung und auch die Kommentare waren sehr hilfreich für mich: t3blog.de [...]

    Marco schreibt:

    Super Anleitung! DANKE!