Schreib- und Zugriffsrechte
Chmods (englisch: change mode) sind die Schreib- und Zugriffsrechte einer Datei. Diese Regeln ob eine Datei, zum Beispiel datei.txt, über ein PHP-Script mit Inhalt gefüllt werden darf oder nicht.
Während dies unter Windows üblicherweise unproblematisch ist, kann es unter Unix (mit diesem System laufen die meisten Webserver) zu Problemen kommen.
Um bei einem Gästebuch oder einem sonstigen Script eine .txt
Datei als Datenquelle zu nutzen, muss man die Chmods entsprechend setzen.
Wenn der Inhalt der Datei sich verändert, ist das in den meisten Fällen Chmod 700
.
✔ Um den Chmod einer Datei zu ändern, muss man
diese zuerst mit einem FTP-Programm (z. B.: FileZilla » http://filezilla.sourceforge.net kostenlos) hochladen.
Danach markiert man die Datei und macht einen Rechtsklick, im erscheinenden Kontextmenü sollte "Chmods", "Attribute",
"Schreibrechte", "Eigenschaften" oder etwas derartiges stehen. Nun kann man den Chmod ändern. (Eventuell in der Hilfe des Programms
nach schauen). Zugriffsrechte können Sie auch für Verzeichnisse (Ordner) vergeben.
![[Bildschirmfoto]
FTP-Programm „FileZilla” Dateiberechtigung auswählen. [Bildschirmfoto]
FTP-Programm „FileZilla” Dateiberechtigung auswählen.](img/filezilla_berechtigung1.png)
![[Bildschirmfoto]
FTP-Programm „FileZilla” Dateiberechtigung ändern. [Bildschirmfoto]
FTP-Programm „FileZilla” Dateiberechtigung ändern.](img/filezilla_berechtigung2.png)
Machen Sie von der Möglichkeit, anderen Benutzern Zugriffsrechte zu gewähren nur nach sogfältiger Prüfung Gebrauch. Stellen Sie sicher, dass Sie die Zugriffsrechte nicht zu großzügig einstellen!
Sicherheit
Aus Sicherheitsgründen dürfen Programmdateien keine Chmod 777
Benutzerrechte haben. Nur Verzeichnisse dürfen damit bearbeitet werden.
Durch das falsche setzen von Chmod können unberechtigte Benutzer (vom selben Server) Zugriff auf Ihre Dateien erhalten, beachten Sie
diesen Umstand und seien Sie entsprechend vorsichtig. Die Berechtigungen Ihres obersten Verzeichnisses sollten Sie deshalb
niemals ändern, bzw. niemals mit vollen Rechten (Chmod 777
) versehen. Mit dem "obersten Verzeichnis"
ist Ihr Account-Start-Verzeichnis gemeint.
✘
Sie sollten die Schreib- und Zugriffsrechte niemals auf Chmod 000
setzen. Über FTP kann dann der Chmod nicht mehr geändert werden, auch ein verschieben oder löschen der Datei zeigt keine Wirkung.
Rechte sind eine tolle Sache, um ein System abzusichern. Allerdings müssen sie auch korrekt gesetzt und gepflegt werden! Ansonsten hilft das schönste Rechtekonzept nichts.
Schreibrechte einer Datei oder Verzeichnisses mit PHP setzen und auslesen
<?php // Datei Schreibrechte setzen chmod("datei.txt", 0777); // Verzeichnis Schreibrechte setzen chmod("daten/", 0777); // Verzeichnis mit Schreibrechten erstellen mkDir("daten/", 0777); // Schreibrechte eines Verzeichnisses auslesen echo substr(sprintf("%o", fileperms("test")), -4); // Schreibrechte einer Datei auslesen echo substr(sprintf("%o", fileperms("test.txt")), -4); ?>
Tipp
» Chmod-Kalkulator - Mit dem Chmod-Kalkulator können Sie die zur Vergabe von Zugriffsrechten benötigten Parameter des UNIX-Befehls Chmod ermitteln.