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 11:14]
ingo_wichmann [Auslagerung in .htaccess]
Zeile 1: Zeile 1:
-====== ​Einfache ​Zugriffskontrolle ======+====== Zugriffskontrolle ======
 ===== Apache 2.4 ===== ===== Apache 2.4 =====
-==== Zugriffsteuerung per IP/​Hostname  ​==== +==== Auslagerung in .htaccess ​==== 
-=== RequireAny ===+Bei openSuSE (42.1) bitte ''/​srv/​www/​htdocs''​ an Stelle von ''/​srv/​www/​intern''​ verwenden. Bei CentOS bitte ''/​var/​www/​intern''​ verwenden.  
 + 
 +Mit Hilfe von ''​AllowOverride''​ können Einstellungen ausgelagert werden: ​
  
 <​file>​ <​file>​
 +Alias /intern /​srv/​www/​intern
 +
 <​Directory /​srv/​www/​intern>​ <​Directory /​srv/​www/​intern>​
-  ​Require ip 192.168.1+  ​AllowOverride AuthConfig
   Require all denied   Require all denied
 </​Directory>​ </​Directory>​
 +</​file>​
 +
 +Ist jetzt der Zugriff auf Dateien im Verzeichnis ''/​srv/​www/​intern''​ erlaubt? ​
 +
 +Die Datei ''/​srv/​www/​intern/​.htaccess''​ hat folgenden Inhalt: ​
 +
 +<​file>​
 +Require all granted
 +</​file>​
 +
 +Ist der Zugriff auf Dateien im Verzeichnis ''/​srv/​www/​intern''​ erlaubt? ​
 +
 +==== RequireAny vs. RequireAll vs. RequireNone ====
 +=== RequireAny ===
 +
 +<​file>​
 +Require ip 192.168.1
 +Require all denied
 </​file>​ </​file>​
  
 ist das selbe wie: ist das selbe wie:
 <​file>​ <​file>​
-<Directory /​srv/​www/​intern+<RequireAny
-  ​<​RequireAny>​ +  Require ip 192.168.1 
-    ​Require ip 192.168.1 +  Require all denied 
-    Require all denied +</​RequireAny>​
-  </​RequireAny+
-</​Directory>+
 </​file>​ </​file>​
  
Zeile 25: Zeile 45:
 === RequireAll === === RequireAll ===
 <​file>​ <​file>​
-<Directory /​srv/​www/​intern+<RequireAll
-  ​<​RequireAll>​ +  Require ip 192.168.1 
-    ​Require ip 192.168.1 +</​RequireAll>​
-  </​RequireAll+
-</​Directory>+
 </​file>​ </​file>​
  
 Wenn der Client aus dem Subnetz 192.168.1 kommt, dann darf er zugreifen. Sonst nicht. ​ Wenn der Client aus dem Subnetz 192.168.1 kommt, dann darf er zugreifen. Sonst nicht. ​
  
-Directory / Location / File  +  * [[https://httpd.apache.org/docs/2.4/howto/access.html|Apache Dokumentation zu Zugriffskontrolle]]
- +
-==== Eigene Projekte / Configdateien ==== +
- +
-openSuSE: +
- +
-Am besten die eigenen Konfigurationen in folgendem Pfad ablegen mit der Endung .conf +
- +
-''​/etc/apache2/​conf.d/wiki.conf''​ +
- +
-==== Auslagerung in .htaccess ==== +
- +
-In Kontextdirektiven lassen sich die Konfigurationswerte durch allowoverride auslagern. +
- +
-z.B.: ''​/etc/apache2/conf.d/wiki.conf''​+
  
 +=== RequireNone ===
 <​file>​ <​file>​
-<Directory /​srv/​www/​wiki+<RequireNone
- +  ​Require ip 192.168.1 
-   Allowoverride All +</​RequireNone>​ 
-#  Allowoverride Auth+</​file>​
  
 +=== Auswertungsreihenfolge der Sektionen ===
 +<​file>​
 +<Files "​*">​
 +  Require all granted
 +</​Files>​
 +<​Directory /​srv/​www/​intern>​
 +  Require all denied
 </​Directory>​ </​Directory>​
 </​file>​ </​file>​
  
-Die Datei ''/​srv/​www/​wiki/​.htaccess'' ​hat folgenden Inhalt:+''​Files''​ wird nach ''​Directory''​ ausgewertet und gewinnt -> Zugriff auf Dateien im Verzeichnis ​''/​srv/​www/​intern'' ​ist erlaubt
  
-<​file>​ +  * [[https://​httpd.apache.org/docs/2.4/sections.html#​merging|Apache Dokumentation zu Sektionen]]
-order allow,​deny +
-allow from 192.168127. +
-</file>+
  
 ==== 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 92:
   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 121:
 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