Zugangsbeschränkung mittels .htaccess

Kennwortschutz

Es kommen die für apache üblichen Files .htaccess und .htpasswd zum Einsatz.
Wenn Sie kein Programm haben, um Passwörter im richtigen Format zu erzeugen, dann können Sie das auch hier machen:
Geben Sie das gewünschte Passwort ein
und schreiben Sie das Ergebnis (also das verschlüsselte = encrypted Passwort) im Format
username:encrypted_password
in eine Datei und kopieren Sie diese Datei z.B. unter dem Namen .htpasswd (frei wählbar) z.B. in Ihr Home-Verzeichnis, wenn möglich - s.u. - aber nicht in Ihr Homepage-Verzeichnis.

In jedes Verzeichnis, das Sie nun mit Usernamen/Passwort schützen wollen, stellen sie eine Datei .htaccess, in der dann (mit vollem Unix-Pfad, nicht nur dem Pfad der chroot-Umgebung - also z.B. /users/zid/users/zid/.htaccess und nicht nur .htaccess oder /users/zid/.htaccess) auf die oben genannte Datei (z.B. .htpasswd) verwiesen wird. Mehrere .htaccess-Dateien können sich somit 1 Passwort-Datei „teilen“, müssen es aber nicht.
institute-User z.B.: /var/www/institute/username/.htpasswd
staff-User z.B.: /var/www/staff/home/username/.htpasswd
student-User z.B.: /var/www/student/home/username/.htpasswd

Die Dateien .htaccess und .htpasswd werden aus Sicherheitsgründen nicht über den Browser dargestellt, trotzdem empfehle ich institute-Usern die Passwortdatei (z.B. .htpasswd) nicht im Directory homepage, sondern darüber in /var/www/institute/username/ abzulegen, student-User haben diese Möglichkeit nicht: sie müssen auch die Passwortdatei im Webspace - also am Laufwerk M: - ablegen, daher rate ich ihnen die Datei wirklich .htpasswd zu nennen.
Wichtig ist auch, dass diese Dateien im Unix-Fileformat abgespeichert ist, unter Windows müssen Sie die Dateien erst in dieses Format konvertieren (dos2unix!

Beispiel

Sie entscheiden sich ein Verzeichnis mit dem Account user1 und dem Passwort Test zu schützen.
Das oben angegebene CGI-Script liefert Ihnen dann z.B. 4Rw6jvSWm8E3c.

Sie erstellen daher am besten in Ihrem Homeverzeichnis (pfad) eine Datei - z.B. .htpasswd - mit folgendem Inhalt:


    user1:4Rw6jvSWm8E3c
wobei hier natürlich noch weitere User und Ihre Passwörter definiert werden können:

    user2:lBpXKPKYBNVhg
    ...
   
und im zu schützenden Directory die Datei .htaccess:

    AuthName "irgendein Text"
    AuthType Basic
    AuthUserFile /pfad/.htpasswd
    require user user1
    require user user5
   
dann können nur die User user1 und user5 zugreifen oder

    AuthName "irgendein Text"
    AuthType Basic
    AuthUserFile /pfad/.htpasswd
    require valid-user
   
dann kann jeder authentifizierte User zugreifen. Der Text für AuthName darf nur aus einem Wort bestehen oder er muss unter Hochkomma stehen!
Legende:
magenta frei wählbar, erscheint dann bei der Passwortabfrage
grün frei wählbar
blau vom System (teilweise) vorgegeben
Achtung:
cis-User: der echte Pfad Ihres Homeverzeichnisses ist nicht /users/username sondern /users/username/users/username
student-User: der echte Pfad Ihres Homeverzeichnisses ist nicht /mailadresse sondern /users/student/users/homepage/home/username
rot Ergebnis von htpasswd

Zugangsbeschränkung auf IP-Basis

Die Beschränkung auf bestimmte IPs, die zugreifen dürfen, geht ganz ähnlich, man braucht dann natürlich aber keine Datei .htpasswd, es reicht die Datei .htaccess.

Beispiel

Sie wollen ein Verzeichnis für alle Rechner im TUGnet und alle Rechner der Domain des Virtuellen Campus Graz freigeben:

    order deny,allow
    deny from all
    allow from 129.27.
    allow from .vc-graz.ac.at