Site icon Modulblog IET-Gibb Bern

Apache – Berechtigungen

Auf einem Apache-Webserver lassen sich Berechtigungen geben. Sei dies mit der Konfiguration oder dem .htaccess-File.

Achtung: Es muss unter Umständen konfiguriert werden, dass die .htaccess-Datei die Berechtigungen steuern kann.

Ein Beispiel für einen Unterordner, der in jedem vhost enthalten ist:

<Directory /var/www/virtualhosts/*/download/>
...
</Directory>

(Fast) Dasselbe gilt auch für Files: (Beispielsweise eine Adminseite, die nur mit entsprechenden Rechten aufrufbar sein soll)

<Files /var/www/virtualhosts/*/admin.php> 
     AuthName “Admin-Seite” 
     AuthType Basic
     AuthUserFile /apache2/passwords/admin.passwd 
     AuthGroupfile /apache2/passwords/admin.groups 
     Require Group webpage-admin
 </Files>

So müsste man sich mit dem entsprechenden Benutzer anmelden.

Location

Dies lässt zu, Verzeichnisse zu steuern, obwohl sie beim Dateisystem nicht vorhanden sind.

<Location /nothinghere>
</Location>

Reihenfolge

Authentifizierung

Benutzerdatei erstellen

Benutzer, die verwendet werden, um Zugriffe auf Webseiten zu steuern müssen mit htpasswd unter /usr/local/apache2/bin diese dort erstellt werden.

hostname:~ # /usr/local/apache2/bin/htpasswd -c  \
>/usr/local/apache2/passwords/.htpasswd testuser
New password:****
Re-type new password:****

Standardmässig sind diese Benutzer mit Crypt verschlüsselt.

AuthTypes

#AuthName
AuthName Realm
#AuthUserFile
AuthUserFile Dateiname #Verweis auf entsprechende Passwortdatei (meist .htpasswd)
#AuthGroupFile
AuthGroupFile Dateiname #Gruppendatei, meist .htgroup
#require
Require Nutzerart (Nutzernamel][Nutzername2] #Legt fest, wer zugreifen darf
#user
require user benutzer1, benutzer2 #Benutzer, die nach PW-Eingabe Zugriff haben
#group
require group gruppe1
#valid-user
require valid-user #es werden alle berücksichtigt, die in der entsprechenden Passwortdatei vorhanden sind.

Deny, Allow

Deny from all | host
Allow from all | host
Order [Sortierung]
Allow from www.ichdarf.com
Allow from 192.168.1.10

Satisfy

Macht nur Sinn, wenn Benutzer und Deny, Allow verwendet werden.
Beispiele:

Order deny, allow 
Deny from all
Allow from localhost 
AuthType Basic
AuthName "Ordner Bezeichnung"
AuthUserFile /usr/local/apache2/passwords/.htpasswd 
Require user testuser
Satisfy any

Bei Satisfy any kann ein Benutzer von localhost ohne Zugangscheck zugreifen. Von einer anderen Domain muss die Zugangskontrolle durchgeführt werden. Bei Satisfy all müssen Benutzer von localhost auch den Zugangscheck machen, alle andern dürfen dann gar nicht mehr.

Benutzermanagement

Bei wenigen Benutzern macht es sinn, nur Benutzerdateien zu haben. Bei grösseren Mengen, ist es eher geeignet, dafür Datenbanken zu verwenden.

Handler

SetHandler NameHandler
#Beispiel Serverstatus
SetHandler server-status

#Beispiel Zugriff auf Server-Info
<Location /server-info>
     AuthType Basic 
     AuthName "Server-Info" 
     AuthUserfile /usr/local/apache2/passwords/admin.passwd 
     Require Valid-User
     SetHandler server-info 
 </Location>

 

 

 

Exit mobile version