Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi2:apache_zugriffskontrolle

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Nächste Überarbeitung Beide Seiten, nächste Überarbeitung
lpi2:apache_zugriffskontrolle [2015/07/09 09:14]
ingo_wichmann
lpi2:apache_zugriffskontrolle [2016/12/08 12:15]
ingo_wichmann
Zeile 1: Zeile 1:
-====== ​Einfache ​Zugriffskontrolle ======+====== Zugriffskontrolle ======
 ===== Apache 2.4 ===== ===== Apache 2.4 =====
-==== Zugriffsteuerung per IP/​Hostname  ​==== +==== Auslagerung in .htaccess ​==== 
-=== RequireAny ===+Mit Hilfe von ''​AllowOverride''​ können Einstellungen ausgelagert werden: ​
  
-<​file>​ +''​/etc/apache2/​conf-enabled/intern.conf'':​ (Debian ab 8)
-<​Directory ​/srv/www/intern+
-  Require ip 192.168.1 +
-  Require all denied +
-</​Directory>​ +
-</​file>​+
  
-ist das selbe wie: +''​/etc/apache2/conf.d/intern.conf'':​ (SuSE)
-<​file>​ +
-<​Directory ​/srv/www/intern>​ +
-  <​RequireAny>​ +
-    Require ip 192.168.1 +
-    Require all denied +
-  </RequireAny>​ +
-</​Directory>​ +
-</​file>​ +
- +
-Wenn der Client aus dem Subnetz 192.168.1 kommt, dann darf er zugreifen. Sonst nicht+
  
-=== RequireAll ===+''/​etc/​httpd/​conf.d/​intern.conf'':​ (CentOS)
 <​file>​ <​file>​
 +Alias /intern /​srv/​www/​intern
 +
 <​Directory /​srv/​www/​intern>​ <​Directory /​srv/​www/​intern>​
-  ​<​RequireAll>​ +  ​AllowOverride AuthConfig
-    Require ip 192.168.1 +
-  </​RequireAll>​+
 </​Directory>​ </​Directory>​
 </​file>​ </​file>​
  
-Wenn der Client aus dem Subnetz 192.168.1 kommt, dann darf er zugreifen. Sonst nicht. ​+  mkdir -p /​srv/​www/​intern
  
-Directory ​Location ​File +Ist jetzt der Zugriff auf Dateien im Verzeichnis ''​/srv/www/​intern''​ erlaubt? ​
  
-==== Eigene Projekte / Configdateien ​====+==== .htaccess anlegen ​====
  
-openSuSE:+<file txt /​srv/​www/​intern/​.htaccess>​ 
 +Require all denied 
 +</​file>​
  
-Am besten die eigenen Konfigurationen in folgendem Pfad ablegen mit der Endung .conf+Ist der Zugriff auf Dateien im Verzeichnis ''/​srv/​www/​intern''​ erlaubt? ​
  
-''/​etc/​apache2/​conf.d/wiki.conf''​+==== RequireAny vsRequireAll vsRequireNone ==== 
 +=== RequireAny ===
  
-==== Auslagerung in .htaccess ​====+<file txt /​srv/​www/​intern/​.htaccess
 +Require ip 192.168.1 
 +Require all denied 
 +</​file>​
  
-In Kontextdirektiven lassen sich die Konfigurationswerte durch allowoverride auslagern.+ist das selbe wie: 
 +<file txt /​srv/​www/​intern/​.htaccess>​ 
 +<​RequireAny>​ 
 +  Require ip 192.168.1 
 +  Require all denied 
 +</​RequireAny>​ 
 +</​file>​
  
-z.B.: ''/​etc/​apache2/​conf.d/wiki.conf''​+Wenn der Client aus dem Subnetz 192.168.1 kommt, dann darf er zugreifenSonst nicht
  
-<​file>​ +=== RequireAll === 
-<Directory ​/srv/www/wiki>+<file txt /srv/www/intern/​.htaccess>​ 
 +<​RequireAll>​ 
 +  Require ip 192.168.1 
 +</​RequireAll>​ 
 +</file>
  
-   ​Allowoverride All +Wenn der Client aus dem Subnetz 192.168.1 kommt, dann darf er zugreifen. Sonst nicht. ​
-#  Allowoverride Auth+
  
-</Directory>+  * [[https://​httpd.apache.org/​docs/​2.4/​howto/​access.html|Apache Dokumentation zu Zugriffskontrolle]] 
 + 
 +=== RequireNone === 
 +<file txt /​srv/​www/​intern/​.htaccess>​ 
 +<​RequireNone>​ 
 +  Require ip 192.168.1 
 +</RequireNone>
 </​file>​ </​file>​
  
-Die Datei ''/​srv/​www/​wiki/​.htaccess''​ hat folgenden Inhalt:+ErrorLog beachten!
  
 +=== Auswertungsreihenfolge der Sektionen ===
 <​file>​ <​file>​
-order allow,deny +<Files "​*">​ 
-allow from 192.168. 127.+  ​Require all granted 
 +</​Files>​ 
 +<​Directory /​srv/​www/​intern>​ 
 +  Require all denied 
 +</​Directory>​
 </​file>​ </​file>​
 +
 +''​Files''​ wird nach ''​Directory''​ ausgewertet und gewinnt -> Zugriff auf Dateien im Verzeichnis ''/​srv/​www/​intern''​ ist erlaubt
 +
 +  * [[https://​httpd.apache.org/​docs/​2.4/​sections.html#​merging|Apache Dokumentation zu Sektionen]]
  
 ==== Benutzerauthentifizierung ==== ==== Benutzerauthentifizierung ====
 Einfache Benutzeridentifikation mittels Passwortdatei Einfache Benutzeridentifikation mittels Passwortdatei
  
-==== Anlegen der Passwortdatei ​====+=== Anlegen der Passwortdatei ===
 openSuSE (12.3): openSuSE (12.3):
-  htpasswd2 -c .htpasswd heinz+  htpasswd2 -c /srv/www/.htpasswd heinz
 debian (6): debian (6):
-  htpasswd -c .htpasswd heinz+  htpasswd -c /srv/www/.htpasswd heinz
  
-Achtung ​Erweiterung der Datei mittels+Achtung: Die Datei ''/​srv/​www/​.htpasswd''​ wird dabei überschrieben!
  
 +=== weitere Benutzer anlegen ===
 openSuSE (12.3): openSuSE (12.3):
   htpasswd2 ​ .htpasswd elke   htpasswd2 ​ .htpasswd elke
Zeile 82: Zeile 98:
   htpasswd ​ .htpasswd elke   htpasswd ​ .htpasswd elke
  
-In der Kontextdirektive oder im ''​.htaccess''​ folgende Optionen setzen+=== Konfiguration === 
 +In der Kontextdirektive oder in der ''​.htaccess''​ folgende Optionen setzen
  
-Beispieldatei ''​.htaccess'' ​ 
 <​file>​ <​file>​
 AuthType ​       Basic AuthType ​       Basic
 AuthName ​       "Bitte Username und Passwort"​ AuthName ​       "Bitte Username und Passwort"​
 AuthBasicProvider file AuthBasicProvider file
-AuthUserFile ​   /​srv/​www/​wiki/​.htpasswd+AuthUserFile ​   /srv/www/intern/​wiki/​.htpasswd
 Require ​        ​valid-user Require ​        ​valid-user
 </​file>​ </​file>​
  
 ==== Nutzung einer Gruppendatei ==== ==== Nutzung einer Gruppendatei ====
 +Modul laden:
 +  a2enmod authz_groupfile
 +  service apache2 restart
  
-Aufbau der Gruppendatei ​ ''/​srv/​www/wiki/​.htgroup''​+Aufbau der Gruppendatei ​ ''/​srv/​www/​.htgroup''​
  
 <​file>​ <​file>​
Zeile 108: Zeile 127:
 AuthName ​       "Bitte Username und Passwort"​ AuthName ​       "Bitte Username und Passwort"​
 AuthBasicProvider file AuthBasicProvider file
-AuthUserFile ​   /srv/www/wiki/​.htpasswd +AuthUserFile ​   /​srv/​www/​.htpasswd 
-AuthGroupFile ​  /​srv/​www/wiki/.htgroup+AuthGroupFile ​  /​srv/​www/​.htgroup
 Require ​        group gf Require ​        group gf
 </​file>​ </​file>​
lpi2/apache_zugriffskontrolle.txt · Zuletzt geändert: 2022/03/31 13:51 von ingo_wichmann