Htaccess files
Aus A-Enterprise
Mit der .htaccess Datei wird die Möglichkeit gegeben einzelne Verzeichnisse auf einem Webserver mit einem Passwort vor unberechtigtem Zugriff zu schützen.
Nahezu jede Direktive kann mittels der .htaccess-Datei "überschrieben" werden.
Es soll ein bestimmter Bereich der Website nur Auserwählten zugänglich gemacht werden. Folgendes sollte also in der .htaccess stehen:
AuthType Basic AuthName LOGIN AuthUserFile Pfad zur Passwortdatei require valid-user
Beispiel .htaccess-Datei wie sie in den meisten fällen genügt, es soll der Index mit allen Seiten im Verzeichnis /var/www/html geschützt werden, hier die .htaccess-Datei erstellen:
AuthType Basic AuthName Administration AuthUserFile /home/barth/.htpasswd require valid-user
Um die Authentifizierungsdirektiven in der ".htaccess" Datei nutzen zu können, müssen wir eine Datei anlegen, in der die Namen und Passwörter der Benutzer eingetragen werden.
Hierfür benutzen wir den von Apache mitgelieferte Befehl "htpasswd"
~# htpasswd -c \home\barth\.htpasswd barth
Das Programm fragt nun nach einem Passwort, welches zweimal eingegeben werden muss.
Problemlösungen:
Darauf achten ob die Apache direktiven gesetzt sind!
AllowOverride All|None|directive-type [directive-type] ...
!! wurde AllowOverride None gesetzt, wird .htaccess nicht abgearbeitet.
Folgende Apache2 direktiven sollten vorhanden sein:
Empfohlene Einstellungen, bei Debian in der Datei /etc/apache2/apache2.conf Bei Fedora und redhat ist dies die Datei /etc/httpd/conf/httpd.conf
AccessFileName .htaccess
<Files ~ "^\.ht"> Order allow,deny Deny from all </Files> <Directory /var/www/html> AllowOverride All </Directory>
Benutzer auf stdout ausgeben: htpasswd -n barth, oder einfach, cat \home\barth\.htpasswd
!! POSIX/UNIX-konforme Betriebssysteme verwenden am anfang einen Punkt (.) als Datei-Attribut um Dateien zu schützen und unsichtbar zu machen, (hidden flag).
Ausgrenzung:
Möchte man ein bestimmtes Unterverzeichnis wieder ohne Authentifizierung haben, gilt folgende Direktive in der .htaccess-Datei.
AuthUserFile /home/barth/.htpasswd AuthName LOGIN AuthType Basic <Limit GET> require valid-user Order deny,allow Allow from localhost Deny from all Satisfy any </Limit>
Anwendung:
htpasswd [-cmdpsD] passwordfile username htpasswd -b[cmdpsD] passwordfile username password
htpasswd -n[mdps] username htpasswd -nb[mdps] username password -c Neue Datei erstellen -n Datei nicht updaten (Unter UNIX Ergebnisse an stdout senden) -m MD5 Verschlüsselung verwenden -d CRYPT Verschlüsselung verwenden (default) -p Passwort nicht verschlüsseln (plaintext) -s SHA Verschlüsselung verwenden -b Passwort von der Kommandozeile übernehmen -D Delete the specified user

