//Auch verfügbar in ((../English/FilePermissions English)), ((../Español/PermisosDeArchivos Español)), ((../Français/FilePermissions Français)), ((../Русский/ФайловыеРазрешения Русский)), ((/Doc/简体中文/文件系统权限 简体中文)).//
{{toc numerate=1}}
===Unix-Dateirechte===
Alle ((/Dev/Guidelines/FileSystemPermissions Berechtigungen für Dateien und Ordner)) werden entsprechend der aktuellen Webserver-Konfiguration gesetzt.
Es kann verschiedene Situationen geben, wenn der Webserver läuft:
1. ##owner## - mit dem gleichen Benutzernamen wie der Besitzer der Datei/des Verzeichnisses
2. ##group## - mit dem gleichen Gruppennamen wie Datei-/Verzeichnisbesitzer/Benutzergruppe
3. ##others## - als nobody
4. als root
#|
*| Berechtigungen | Verzeichnis | Datei | Hinweise |*
|| **1. Besitzer** ||
|| lesen | ##0500## | ##0400## | ||
|| schreiben | ##0700## | ##0600## | ||
|| **2. Gruppe** ||
|| lesen | ##0550## | ##0440## | ||
|| schreiben | ##0770## | ##0660## | ||
|| **3. others** ||
|| lesen | ##0555## | ##0444## | ||
|| schreiben | ##0777## | ##0666## | **SICHERHEITSRISIKO** ||
|#
===Package / Repository===
Die Standardberechtigungen sind:
#|
*| Berechtigungen | Verzeichnis | Datei |*
|| default | ##0755## | ##0644## ||
|#
===Installation / Upgrade===
Ändern Sie die Berechtigungen für die folgenden Verzeichnisse und Dateien so, dass sie schreibbar sind
====Verzeichnisse====
* ##_cache/config/##
* ##_cache/feed/##
* ##_cache/page/##
* ##_cache/query/##
* ##_cache/session/##
* ##_cache/template/##
* ##file/backup/##
* ##file/global/##
* ##file/perpage/##
* ##file/thumb/##
* ##file/thumb_local/##
* ##xml/##
Beispiel:
%%chmod 0755 _cache/config/ _cache/feed/ _cache/page/ _cache/query/ _cache/session/ _cache/template/ file/backup/ file/global/ file/perpage/ file/thumb/ file/thumb_local/ xml/%%
====Dateien====
* ##config/config.php##
* ##config/lock##
* ##config/lock_ap##
Beispiel:
##chmod 0660 config/lock config/lock_ap##
Reset nach Installation / Upgrade
##chmod 640 config/config.php##
====Defaults====
config/constant.php
%%
const CHMOD_SAFE = 0640; // für Produktivumgebung besser 0600 verwenden
const CHMOD_FILE = 0644; // Dateierstellung
const CHMOD_DIR = 0755; // Verzeichniserstellung
%%
===Production / Server===
Stelle sicher, dass die Berechtigungen so restriktiv wie möglich gesetzt wurden - die Konfigurationsdateien sollten nur für den Besitzer und den Webserver lesbar sein und für niemanden sonst.
Dateien benötigen ##chmod 400## wenn der Webserver als Dateieigentümer-Benutzername läuft oder ##440## wenn der Webserver als Dateieigentümer-Benutzergruppe läuft:
* config.php
* constant.php
===So werden Dateirechte eingerichtet===
In den meisten Fällen läuft der Webserver auf Hosting-Servern als Benutzername des Dateieigentümers, so dass die erforderlichen chmod-Werte ##644## für Dateien und ##755## für Ordner sind, um sie sowohl für den Eigentümer als auch für den Webserver lesbar und schreibbar zu machen, und für die Gruppe und andere lesbar.
Um alle Verzeichnisberechtigungen mit ##chmod 644## zu ändern, führe in der SSH-Konsole aus:
%%
find /your_site_public_html -type f -exec chmod 644 {} \;
%%
Um alle Verzeichnisberechtigungen mit ##chmod 755## zu ändern, führe in der SSH-Konsole aus:
%%
find /your_site_public_html -type d -exec chmod 755 {} \;
%%
===Wechsel des Besitzers===
%% whoami %%
%% id -gn %%
%%ls -ld /home/user/workspace/wackowiki/%%
%%sudo chown -R user:group /home/user/workspace/wackowiki/%%