|
|
Um einen solchen Zugriffsschutz einzurichten, müssen zwei (oder drei) Dateien auf den Web-Server gestellt werden : Die Konfigurationsdatei .htaccess und die eigentliche Paßwortdatei .htpasswd und bei Bedarf eine Gruppendatei .htgroup (Bitte beachten Sie auf Unix-Servern die Kleinschreibung der Dateinamen !).
Für Mitglieder von bingo e.V. steht ein CGI-Programm zur Verfügung, das Sie bei der Einrichtung und Pflege der beiden Dateien unterstützt.
Speziell der NCSA Server (und auch Netscape)
versteht an dieser Stelle nur einen
vollständigen Unix Pfadnamen. Der vollständige Unix Dateiname
unterscheidet sich im Allgemeinen von dem in einer URL angegebenen Dateinamen.
So gehört beispielsweise zu der URL
Der Apache Server versteht an dieser Stelle auch Dateinamen relativ
zur Document-Root. Relative Dateinamen sind dadurch gekennzeichnet, daß
sie nicht mit einem Schrägstrich "/" beginnen. Für den
von bingo eingesetzten Apache Server sind also folgende beiden Zeilen
gleichwertig :
Mit <Limit> werden alle Dateien in dem betroffenen Verzeichnis
gegen den Zugriff über angegebene
Methoden des Hypertext
Transfer Protocols (http) abgesichert. Meist werden hier die Methoden
GET (das "normale" Holen einer Seite) und evtl. auch noch POST
angegeben.
Mit <Files> können einzelne Dateien oder Dateigruppen
geschützt werden. Bei der Angabe der Dateien können Wildcards
benutzt werden, und zwar der Stern "*" für eine beliebige Anzahl von Zeichen
und das Fragezeichen "?" für genau ein Zeichen. So kann z.B. mit
<Files *.htm*> der Zugriff
auf alle HTML-Documente geschützt werden, während der Zugang auf
andere Dateitypen im gleichen Verzeichnis (z.B. Bilder) frei ist.
Die Datei .htpasswd sollte nach Möglichkeit gegen Ausspähung
über http geschützt werden. Am besten legen Sie die Datei in einem
Verzeichnis ab, das nicht unterhalb der Document-Root liegt. Diese
Möglichkeit besteht aber bei den meisten Providern nicht. In diesem
Fall legen Sie ein eigenes Verzeichnis für die
Paßwortdatei(en) an und schützen dieses Verzeichnis wiederum
mit Paßwort
(require user eigener-user).
.htaccess
Die Datei .htaccess ist die Konfigurationsdatei und legt die
Art des Zugriffsschutzes sowie den Namen der Paßwortdatei fest.
Sie kann z.B. so aussehen :
AuthName "Uwe's htaccess Demo"
AuthType Basic
AuthUserFile /home/projekte/www/htdocs/verein/intern/.htpasswd
<Limit GET POST>
require valid-user
</Limit>
AuthName
Kurze Beschreibung des geschützten Web-Bereichs. Diese Beschreibung wird
dem Anwender angezeigt, bevor Username und Password abgefragt werden.
(Beispiel)
AuthType
Der üblicherweise verwendete Authorisierungstyp ist Basic; andere
mögliche Typen sind z.b. PGP oder Kerberos, diese
werden aber z.B. vom Apache-Server nicht unterstützt. In der
vorliegenden Beschreibung wird nur auf Basic eingegangen, dieser Typ
benutzt als Paßwortdatei eine weitere Textdatei.
AuthUserFile
Dateibezeichnung der Paßwortdatei (siehe unten .htpasswd).
AuthGroupFile
http://www.bingo-ev.de/verein/intern/index.htm
die Unix Datei
/home/projekte/www/htdocs/verein/intern/index.htm.
Den rot gekennzeichneten Anteil bezeichnet man als
Document-Root. Die Document-Root ist nicht privilegierten Benutzern
meistens nicht bekannt und kann von ihnen auch nicht ermittelt werden.
Hier hilft nur eine Mail an den Webmaster des Providers.
AuthUserFile /home/projekte/www/htdocs/verein/intern/.htpasswd
AuthUserFile verein/intern/.htpasswd
(optional)
Dateibezeichnung der Gruppendatei (siehe unten .htgroup).
Diese Angabe ist nur erforderlich, wenn Sie in der
Konfigurationsdatei .htaccess die Directive
require group group1 group2 ...
verwendet haben.
<Limit> oder
<Files>
Für die Angabe des Dateinamens gelten die gleichen Anmerkungen
wie für die Paßwortdatei.
Mit einer der beiden Directiven wird angegeben, was geschützt werden soll.
require
Mit der require-Directive wird angegeben, nach welchem Kriterium
Benutzer zugelassen werden sollen. Es gibt hier drei alternative
Möglichkeiten :
Gibt den Bereich gezielt nur den aufgelisteten Benutzern user1,
user2 usw. frei. Diese Alternative erfordert einen hohen Pflegeaufwand.
Gibt den Bereich für alle in der Paßwortdatei definierten
Benutzer frei. Dies ist die am häufigsten verwendete Form, sie ist
im Allgemeinen die Alternative, die sich am einfachsten pflegen läßt.
Es dürfen Benutzer zugreifen, die einer der aufgeführten Gruppen
group1, group2 usw. angehören. Diese Variante bietet sich
an, wenn man verschiedene Bereiche mit unterschiedlichen Zugriffsrechten
versehen will, aber nur eine Paßwortdatei pflegen möchte.
.htpasswd
Die Datei .htpasswd ist die eigentliche Paßwortdatei.
Sie kann z.B. so aussehen :
uwe:32/a7xZJFbDoo
otto:7dWdiLtedT8hA
Jede Zeile in der Datei definiert eine Benutzername/Passwort-Kombination.
Es wird zuerst der Benutzername angegeben, gefolgt von einem Doppelpunkt.
Dahinter steht das mit der Unix-Funktion
crypt()
verschlüsselte Passwort.
Zur Erzeugung einer solchen Zeile habe ich ein kleines
CGI-Programm
bereitgestellt (gilt nicht für den Sambar-Server,
da der eine andere Verschlüsselungsroutine benutzt).
Bitte achten Sie darauf, daß in den Zeilen keine zusätzlichen
Leerzeichen enthalten sind !
.htgroup
In der Datei .htgroup können Benutzergruppen definiert werden;
sie gibt an, welcher Benutzer
zu welcher Gruppe gehört.
Die Datei kann z.B. so aussehen :
gruppe1: sabine eva inge
gruppe2: karl otto hubert
Eine Gruppe wird definiert durch den Namen der Gruppe, gefolgt von einem
Doppelpunkt und dann einer Anzahl von Benutzernamen derjenigen Anwender,
die der Gruppe zugeordnet werden sollen.
Die bei der Gruppendefinition angegebenen Benutzernamen müssen sich in der
Paßwortdatei wiederfinden.
Ein englischsprachiges Tutorial zum gleichen Thema finden Sie bei
NCSA.
Erstellt von © Uwe Brinkmann
für bingo e.V. - Stand 27.08.98