:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte
Unternehmen im
Anbieterverzeichnis von SELFPHP
:: SELFPHP Forum ::
Fragen rund um die Themen PHP? In über
120.000 Beiträgen finden Sie sicher die passende
Antwort!
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
:: Qozido ::
Die Bilderverwaltung mit Logbuch für
Taucher und Schnorchler.
|
|
Berechtigungen von Dateien und Verzeichnissen |
Sowohl die Funktion chmod() als auch das zweite Argument der Funktion mkdir() ermöglichen die Vergabe von Berechtigungen für Dateien und Verzeichnisse. Diese Zahl setzt sich aus vier Stellen zusammen.
- Die erste Stelle kann eine Spezialeinstellung für die jeweilige Datei sein, wie setuid (4), setgid (2) oder sticky (1).
- Die zweite Stelle stellt die Benutzerberechtigungen des Dateieigentümers dar.
- Die dritte Stelle steht für die Gruppenberechtigung und bestimmt, was Benutzer der Gruppe, der die Datei angehört, mit ihr machen können.
- Die vierte Stelle steht für die globalen Berechtigungen und bestimmt, was alle Benutzer mit der Datei machen dürfen.
Um den korrekten Wert für jede Stelle zu berechnen, addieren Sie die von Ihnen für die jeweilige Stelle gewünschten Berechtigungen anhand der Werte der folgenden Tabelle:
Wert | Berechtigung | Spezialeinstellung | 4 | Lesen | setuid | 2 | Schreiben | setgid | 1 | Ausführen | sticky |
Ein Berechtigungswert von 0755 bedeutet:
Spezialeinstellung:
Keine (0)
Dateieigentümer:
Kann die Datei: lesen, schreiben und ausführen
4 = lesen + 2 = schreiben + 1 = ausführen => 7
Benutzer der Gruppe:
Können die Datei: lesen und ausführen
4 = lesen + 1 = ausführen => 5
Alle anderen Benutzer:
Können die Datei: lesen und ausführen
4 = lesen + 1 = ausführen => 5
Die Berechtigung neu erstellter Dateien und Verzeichnisse sind von der Einstellung umask abhängig. Dies ist ein Berechtigungswert, welcher von der Default-Berechtigung einer Datei (0666) bzw. eines Verzeichnisses (0777) entfernt bzw. ausmaskiert wird. Wenn die umask beispielsweise 0022 ist, ist 0644 die Standardberechtigung für eine neue mit fopen() erstellte Datei und 0755 die Standardberechtigung für ein neues Verzeichnis, das mit mkdir() erstellt wird.
Einsatz von umask()
Mit der Funktion umask() können Sie die umask abfragen und einstellen. Diese gibt die aktuelle umask zurück und ändert sie auf den Wert des übergebenen Arguments, falls vorhanden. Im folgenden Beispiel wird lediglich der Eigentümer und der Superuser in der Lage sein, auf die Datei zuzugreifen:
$alte_umask = umask(0077);
touch("privat.txt");
umask($alte_umask);
Der erste Aufruf von umask() maskiert sämtliche Berechtigungen der Gruppe und aller anderen Benutzer. Wenn die Datei erstellt ist, stellt der Aufruf umask() die umask auf die vorherigen Einstellungen zurück.
Hinweis: Wenn PHP als Server-Modul läuft, stellt es die umask am Ende jedes HTTP-Requests auf seinen Standardwert zurück.
Achtung: Die Funktion umask() funktioniert nicht unter Windows!
|
|
|
|
|
|