Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
de:services:server_services:webhosting:file_permissions [2016/06/17 12:12]
rlossin [Konzept]
de:services:server_services:webhosting:file_permissions [2016/06/17 12:13] (aktuell)
rlossin [Oktalnotation]
Zeile 1: Zeile 1:
 +====== Dateiberechtigungen ======
 +===== Einleitung =====
  
 +Dieser Artikel bezieht sich auf die Datei- und Verzeichnisberechtigungen unter Linux-Systemen,​ welche auf den Webhosting-Servern der GWDG Anwendung finden. ​
 +Dateiberechtigungen dienen zur eindeutigen Feststellung der Ausführungs-,​ Schreib- sowie Leseberechtigungen für Gruppen und einzelne Benutzer.
 +Dateiberechtigungen bilden somit einen elementaren Teil des Sicherheitskonzeptes eines Linux-Systems dar. 
 +
 +===== Konzept =====
 +
 +Einer Datei kann, vereinfachend gesagt, jeweils ein Wert für die drei Grundfunktionen ​
 +
 +  * Lesen (''​r''​)
 +  * Schreiben (''​w''​)
 +  * Ausführen (''​x''​)
 +
 +zugeordnet werden. ​ Zusätzlich ist jede Datei einem Eigentümer sowie einer Benutzergruppe zugeordnet.
 +
 +Die tatsächlichen Berechtigungen für den einzelnen Nutzer ergeben sich aus der Notierung nach dem Muster:
 +
 +  * Eigentümer
 +  * Gruppe
 +  * Sonstige
 +
 +Eine Berechtigung nach dem Muster ''​-rwx--r--r''​ wäre demnach folgendermaßen zu übersetzen:​
 +
 +  * 1. Block (Eigentümer):​ ''​Read'',​ ''​Write'',​ ''​Execute'' ​
 +  * 2. Block (Gruppe): ''​Read''​
 +  * 3. Block (Sonstige): ''​Read''​
 +
 +Hierbei gilt: Eine normale Datei wird mit einem führenden ''​-''​ markiert - ein Verzeichnis mit einem ''​d''​.
 +
 +Ausführliches Beispiel:
 +<​code>​
 +-rw-r--r-- ​ 1 testuser testgroup 110M Jun  17  2016 testfile
 +</​code>​
 +
 +Der Eigentümer der Datei ''​testfile''​ ist demnach der Nutzer ''​testuser''​. Als Gruppenberechtigung ist ''​testgroup''​ hinterlegt. Der Eigentümer darf diese Datei lesen und beschreiben,​ die Mitglieder der Gruppe ''​testgroup''​ sowie alle anderen (Sonstige) dürfen diese Datei nur lesen.
 +
 +===== Oktalnotation =====
 +Bei der Oktalnotation wird die Berechtigungsangabe auf eine Oktalzahl verkürzt.
 +
 +Hierbei werden die sich ergebenden Werte aus folgender Zuordnung aufaddiert:
 +
 +  * Lesen: ''​4''​
 +  * Schreiben: ''​2''​
 +  * Ausführen: ''​1''​
 +
 +
 +Die Berechtigung ''​rwx''​ würde demnach dem Wert ''​7''​ entsprechen (''​4''​ für ''​r''​ + ''​2''​ für ''​w''​ + ''​1''​ für ''​x''​). Somit ist die Dateiberechtigung ''​755''​ folgendermaßen zu übersetzen:​
 +
 +  * 1. Block (Eigentümer):​ ''​Read'',​ ''​Write'',​ ''​Execute'' ​
 +  * 2. Block (Gruppe): ''​Read'',​ ''​Execute''​
 +  * 3. Block (Sonstige): ''​Read'',​ ''​Execute''​
 +
 +
 +===== Auswirkungen auf den Betrieb von Webseiten =====
 +Die Vergabe von Dateiberechtigungen hat direkte Auswirkungen auf den Betrieb von Webseiten. So werden Dateien, welche per SFTP in das Dokumentenstammverzeichnis geladen werden, grundsätzlich dem Systembenutzer des Abonnements zugeordnet. Der Anwender kann zudem über einen geeigneten SFTP-Client Berechtigungen vergeben.
 +
 +Ungewünschte Nebeneffekte können sich jedoch ergeben, sofern PHP-Scripte des Anwenders selbst versuchen, existierende Daten zu überschreiben. Der Apache-Webserver läuft als Prozess unter dem Benutzer ''​www-data''​ und ist somit nicht identisch mit dem Systembenutzer. Wird eine Datei beispielsweise mit den Berechtigungen ''​644''​ abgelegt, so ist der PHP-Prozess unter dem Benutzer ''​www-data''​ entsprechend nicht in der Lage, diese Datei zu überschreiben.
 +
 +Dieses Verhalten kann beim Upload von Bildern, aber auch bei der webbasierten Durchführung von Updates, häufig vorzufinden in CMS wie WordPress, Drupal, PageKit oder Joomla! auftreten.
 +
 +Wird eine webbasierte Wartung gewünscht, so ist zu prüfen, ob eine Übergabe der Dateieigentümerschaft an ''​www-data''​ sinnvoll ist.