Zugriffssteuerung in der Datei .htaccess

AllowOverride AuthConfig

Der Besitzer von WWW-Seiten hat die Möglichkeit, AuthorisierungsDirektiven so zu setzen, dass der Zugriff auf eigene Dokumente nur authorisierten Web-Benutzern erlaubt wird. Welche Direktiven wie genutzt werden können ist abhängig davon, welche Module im Webserver installiert sind. Mögliche Module sind:

In allen vom Rechenzentrum betriebenen TUHH-Webserver ist das Modul mod_auth eingebunden. Darüberhinaus stehen die Module

zur Verfügung. Auf diese Module soll in diesem Tutorial nicht weiter eingegangen werden.

Zugriffsschutz mittels TUHH-Benutzeraccount und Kerberos-Passwort

Die Direktiven AuthName, AuthTyp, AuthUserFile, AuthGroupFile und require werden in diesem Skript anhand zweier Beispiele erläutert.

Beispiel 1

In einem Verzeichnis des CGI-Server-Benutzers test_user werde in der .htaccess-Datei vereinbart:

AuthName " 'Kursunterlagen' "
AuthType Basic
AuthUserFile /cgi/htdocs/users/test_user/access/.htpasswd
require valid-user

Die Datei /cgi/htdocs/users/test_user/access/.htpasswd ist eine Textdatei, die Benutzernamen und verschlüsselte Passworte enthält. Fehlt das Passwort, so ist der entsprechende Benutzername nicht passwortgeschützt.

Der Pfadname der Passwortdatei muss absolut angegeben werden. Dieser Pfadname ist abhängig von der Serverkonfiguration. Die Benutzerverzeichnisse der Web-Server des RZ sind:

Server Pfadname
WWW-Server
(Institutsseiten)
Basisverzeichnis: /htdocs/tuhh/

Beispiel:
URL http://www.tu-harburg.de/rzt/index.html
Pfadname für den HTTPd
Dieser Pfadname muss in ".htaccess" eingetragen
werden.
/htdocs/tuhh/rzt/index.html
Pfadname auf ssh.rz.tu-harburg.de (134.28.202.245) /nfs/websites/tuhh/rzt/index.html
WWW-Server
(Homepages)
Basisverzeichnis: /homepages/htdocs/users/

Beispiel:
URL http://www.tu-harburg.de/~rztwww/index.html
Pfadname für den HTTPd
Dieser Pfadname muss in ".htaccess" eingetragen
werden.
/homepages/htdocs/users/rztwww/index.html
Pfadname auf ssh.rz.tu-harburg.de (134.28.202.245) /nfs/homepages/htdocs/users/rztwww/index.html
TYPO3-Webserver Basisverzeichnis: /typo3/htdocs/tuhh/t3resources/

Beispiel:
URL http://www.tu-harburg.de/t3resources/xyz/
Pfadname für den HTTPd
Dieser Pfadname muss in ".htaccess" eingetragen
werden.
/typo3/htdocs/tuhh/t3resources/xyz/
TYPO3-Backend File --> Filelist
CGI-Server Basisverzeichnis: /cgi/htdocs/users/

Beispiel:
URL http://cgi.tu-harburg.de/~rztwww/index.html
Pfadname für den HTTPd:
Dieser Pfadname muss in ".htaccess" eingetragen
werden.
/cgi/htdocs/users/rztwww/index.html
Pfadname auf ssh.rz.tu-harburg.de (134.28.202.245) /nfs/cgi/htdocs/rztwww/index.html
Media-Server Basisverzeichnis: /webserver/htdocs/

Beispiel:
URL http://media.tuhh.de/rzt/test/.htpasswd
Pfadname für den HTTPd:
Dieser Pfadname muss in ".htaccess" eingetragen
werden.
/webserver/htdocs/rzt/test/.htpasswd
Pfadname auf ssh.rz.tu-harburg.de (134.28.202.245) /nfs/media/htdocs/rzt/test/.htpasswd

Ein Programm zum Generieren des Passwortes steht auf dem ssh-Server ssh.rz.tu-harburg.de zur Verfügung.

Aufruf: /usr/local/bin/htpasswd name password

Die von diesem Kommando generierte Zeile müssen Sie in die mit AuthUserFile vereinbarte Passwortdatei einfügen.

Empfehlung:
Wählen Sie für das AuthUserFile einen Namen, der mit .ht beginnt (z.B. .htpasswd), da die TUHH-WebServer so konfiguriert ist, dass Dateien, die mit .ht beginnen, vom Webserver nicht ausgeliefert werden.

Inhalt von /cgi/htdocs/users/test_user/access/.htpasswd könnte sein:

anton:{SHA}aVl8rAWaCx3Kcf4wKIjQ55PqYFg=
emil:{SHA}YI9aphtvaZugmIH4TI3bM7fFEDs=
berta:{SHA}LRXnNhB/e/82jtV3b6BdJSQvKYs=
clara:{SHA}3GHJorXi6QHP4oyJW9FwlEkzzfU=

Die require-Direktive legt fest, welche Benutzer Zugriff auf das Verzeichnis bekommen. Möglich sind:

  • require user userid userid ...
    Nur namentlich genannte Benutzer erhalten Zugriff.

  • require group group-name group-name ...
    Nur Benutzer einer namentlich genannten Gruppe erhalten Zugriff.

  • require valid-user
    Alle Benutzer, "die sich ausweisen können", erhalten Zugriff.

Wird ein Dokument aus einem Verzeichnis mit obiger .htaccess-Datei angefordert, öffnet der Browser ein Fenster, in dem Benutzername und Passwort angegeben werden müssen. Die unter AuthName angegebene Zeichenkette wird in den Text der Überschriftszeile eingefügt.

Passwort Abfragefenster

Zugriff auf Dokumente eines durch die obige .htaccess-Datei geschützte Verzeichnis hat demnach, wer Benutzername und unverschlüsseltes Passwort richtig eingibt. Dies gilt auch für alle Dokumente der Unterverzeichnisse.

In diesem Beispiel haben somit anton, emil, berta und clara eine Chance, wenn sie das jeweils richtige Passwort eingeben.

Beispiel 2

In der .htaccess-Datei wird vereinbart:

AuthName " 'Kursunterlagen' "
AuthType Basic
AuthUserFile /cgi/htdocs/users/test_user/access/.htpasswd
AuthGroupFile /cgi/htdocs/users/test_user/access/.htgroup
require group group_2

Inhalt von /cgi/htdocs/users/test_user/access/.htpasswd: wie oben

Inhalt von /cgi/htdocs/users/test_user/access/.htgroup könnte sein:

group_1: anton emil
group_2: berta clara

Empfehlung:
Wählen Sie für AuthGroupFile einen Namen, der mit .ht beginnt (z.B. .htgroup), da die TUHH-WebServer so konfiguriert ist, dass Dateien, die mit .ht beginnen, vom Webserver nicht ausgeliefert werden.

In diesem Beispiel muss ein authorisierter Benutzer neben der richtigen Angabe von Benutzername und Passwort noch zusätzlich zur Gruppe group_2 gehören; d.h. nur berta und clara haben eine Chance.