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
lpi2:apache_zugriffskontrolle [2015/07/09 09:12]
ingo_wichmann
lpi2:apache_zugriffskontrolle [2019/04/07 20:18] (aktuell)
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) 
 + 
 +''/​etc/​httpd/​conf.d/​intern.conf'':​ (CentOS)
 <​file>​ <​file>​
 +Alias /intern /​srv/​www/​intern
 +
 <​Directory /​srv/​www/​intern>​ <​Directory /​srv/​www/​intern>​
-  ​<​RequireAny>​ +  ​AllowOverride AuthConfig
-    Require ip 192.168.1 +
-    Require all denied +
-  </​RequireAny>​+
 </​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
  
-=== RequireAll === +  apachectl configtest 
-<​file>​ +  ​apachectl graceful
-<​Directory /​srv/​www/​intern>​ +
-  ​<​RequireAll>​ +
-    Require ip 192.168.1 +
-  </​RequireAll>​ +
-</​Directory>​+
  
-Wenn der Client aus dem Subnetz 192.168.1 kommt, dann darf er zugreifen. Sonst nicht. ​+Ist jetzt der Zugriff auf Dateien im Verzeichnis ''/​srv/​www/​intern''​ erlaubt? ​
  
-Directory / Location / File +==== .htaccess anlegen ====
  
-==== Eigene Projekte ​Configdateien ====+<file txt /srv/​www/​intern/​.htaccess>​ 
 +Require all denied 
 +</​file>​
  
-openSuSE:+Ist der Zugriff auf Dateien im Verzeichnis ''/​srv/​www/​intern''​ erlaubt? ​
  
-Am besten die eigenen Konfigurationen in folgendem Pfad ablegen mit der Endung ​.conf+==== RequireAny vsRequireAll vs. RequireNone ==== 
 +=== RequireAny ===
  
-''​/etc/apache2/conf.d/wiki.conf''​+<file txt /srv/www/intern/.htaccess>​ 
 +Require ip 192.168.1 
 +Require all denied 
 +</​file>​
  
-==== Auslagerung in .htaccess ​====+ist das selbe wie: 
 +<file txt /​srv/​www/​intern/​.htaccess
 +<​RequireAny>​ 
 +  Require ip 192.168.1 
 +  Require all denied 
 +</​RequireAny>​ 
 +</​file>​
  
-In Kontextdirektiven lassen sich die Konfigurationswerte durch allowoverride auslagern.+Wenn der Client aus dem Subnetz 192.168.1 kommt, dann darf er zugreifen. Sonst nicht
  
-z.B.: ''​/etc/apache2/conf.d/wiki.conf''​+=== RequireAll === 
 +<file txt /srv/www/intern/.htaccess>​ 
 +<​RequireAll>​ 
 +  Require ip 192.168.1 
 +</​RequireAll>​ 
 +</​file>​
  
-<​file>​ +Wenn der Client aus dem Subnetz 192.168.1 kommt, dann darf er zugreifen. Sonst nicht. ​
-<​Directory /​srv/​www/​wiki>​+
  
-   ​Allowoverride All +  * [[https://​httpd.apache.org/​docs/​2.4/​howto/​access.html|Apache Dokumentation zu Zugriffskontrolle]]
-#  Allowoverride Auth+
  
-</Directory>+=== 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!
  
 +=== Verschachtelte Blöcke aus All, Any und None ===
 +RequireNone = Verneinung dessen was innerhalb des Blocks steht - "darf nicht erfüllt sein"
 +<file txt /​srv/​www/​intern/​.htaccess>​
 +<​RequireAll>​
 +  <​RequireAny>​
 +    Require ip 192.168.1
 +    Require ip 10.0.0.0/24
 +  </​RequireAny>​
 +  <​RequireNone>​
 +    Require ip 192.168.1.208
 +  </​RequireNone>​
 +</​RequireAll>​
 +</​file>​
 +
 +=== 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 81: Zeile 115:
   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 107: Zeile 144:
 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.1436433176.txt.gz · Zuletzt geändert: 2015/07/09 09:12 von ingo_wichmann