View source for Setzen der Datei-Berechtigungen

//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/%%