Hauptmenü

Untermenü

PHP/MySQL - Praxistutorial 4 - Zugriffsrechte

1. Die Abschnitte

2. Unix-Systeme

Wie ich schon eingangs sagte, sind die Zugriffsrechte unter Unix-Systemen nämlich völlig anders als unter Windows. Wenn ein Ordner oder eine Datei angelegt wurde, so existieren dafür drei "Zugriffskategorien".

Für jede dieser Kategorien gibt es drei Zugriffsmöglichkeiten, die mit entsprechenden Zahlenwerten verknüpft sind. Bei mehreren Rechten werden diese Zahlen einfach addiert. Das Ganze baut sich dann in einem Dreierschema auf:

3. Ein Beispiel

Wir laden mit einen FTP-Programm eine Datei auf einen Webserver hoch. Dann gibt es den entsprechenden Besitzer, also den Benutzernamen, den wir für den Zugang brauchen (z.B. u123456). Der gehört dann zum Beispiel zur Gruppe "ftpuser". Nehmen wir jetzt mal an, dass unser Provider folgende Standardeinstellungen hat. Der Besitzer darf alles, die Gruppe lesen und ausführen und der Rest nur lesen. Ist ein zugegebenermaßen willkürliches Beispiel, aber darum geht es im Moment nicht. Daraus ergibt sich folgende Konfiguration.


       read   write   exec   rechte
user     4      2      1        7     (1)
group    4      0      1        5     (1)
all      4      0      0        4     (0)
-------------------------------------------------
Ergebnis für Datei "xyz"        754
oder                            -rwx-rx-r

4. Der feine Unterschied

Warum all dieses ganze Rumgetue? Ganz einfach. Viele denken, dass sie auf ihrem Webspace (ihrer Domain bei einem Provider) alle Rechte auf die Dateien haben, egal von wo. Das ist aber ein Irrglaube. Lade ich eine Datei per FTP hoch, so gehört sie dem FTP-Benutzer(!), der zur Gruppe "ftpuser" (zum Beispiel) gehört. Erstellt man zum Beispiel eine Datei mit PHP, so gehört diese z.B. dem User "wwwrun", der zur Gruppe "www"(!) gehört. Daraus ergeben sich folgende Konsequenzen.

Warum? Ganz einfach, zwei User in zwei unterschiedlichen Gruppen. Um all diesen Problemen aus dem Weg zu gehen, muss man die entsprechenden Rechte manuell oder per Programmierung ändern.

5. Rechte per FTP ändern

Dafür nutzt ihr einfach das FTP-Programm eurer Wahl, markiert die entsprechende Datei oder den entsprechenden Ordner und dann könnt ihr in den meisten Fällen mit einem Rechtsklick und CHMOD oder Dateiberechtigung die notwendigen Rechte vergeben. Im Filezilla zum Beispiel sieht das so aus.

FTP CHMOD

Wie man das mit PHP macht, zeige ich euch später.

6. Welche Stufe

... soll man denn nun einstellen? Nun, 777 nur dann, wenn gar nichts mehr geht. Denn sonst hat auf dem Server jeder Dödel volle Zugriffsrechte. Und bei Hackerattacken kann da schon mal was tierisch in die Hose gehen. Normalerweise benötigt man nur einen Lese- und Schreibzugriff. Arbeitet man mit den Dateien nur unter einem Benutzer, also entweder als FTP- oder PHP-User, so reicht ein 644 völlig aus. Ansonsten sollte man die Rechte auf 666 setzen.

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt