Htpasswd – Passwortschutz für den Apachen

(Last Updated On: 30. Dezember 2007)

htpasswd -c /usr/local/apache/passwd/passwords johndoe
erzeugt die passwords
in die .htaccess im zu schützenden Webverzeichnis gehört dann
AuthType Basic
AuthName "Password Required"
AuthUserFile /usr/local/apache/passwd/passwords

Htpasswd wird zum Erstellen und Aktualisieren der Flat-Dateien*1 verwendet, um den Benutzern eine HTTP-Basis-Authentifizierung mit Benutzernamen und Passwort zu ermöglichen.

Wenn htpasswd nicht schreiben oder lesen kann, um die Flat-Datei zu aktualisieren, gibt es einen Fehler zurück und macht keine Änderungen.

Die Mittel, die vom Apache HTTP-Server zur Verfügung gestellt werden, können auf die Benutzer beschränkt werden, die in der von htpasswd estellten Flat Datei angeführt sind. Dieses Programm kann nur Benutzernamen und Passwörter verwalten die in einem Flat-File gespeichert werden. Aber es kann auch Passwort Informationen für andere Arten der Datenspeicherung verschlüsseln und anzeigen. So nutzen Sie es z.B. für eine DBM Datenbank dbmmanage.

Htpasswd verschlüsselt Passwörter und verwenden entweder eine modifizierte Version von MD5 für Apache, oder die crypt ()-Routine. Htpasswd verwaltete Dateien dürfen beide Arten von Passwörtern enthalten, sowohl MD5-verschlüsselte Passwörter, als auch mit crypt() verschlüsselte Passwörter.

Befehlszeilenargumente: Für nähere Einzelheiten über die Konfigurationsrichtlinien der Benutzer-Authentifizierung in httpd finden Sie im Apache-Handbuch.

Synopsis

htpasswd [ – c ] [ – m ] [ – D ] passwdfile Benutzername
htpasswd – b [-] [c – m | – d | – p | – s] [- D] passwdfile Benutzername Passwort
htpasswd – n [- m | – d | – | – p] Nutzernamen
htpasswd – nb [- m | – d | – | – p] Benutzername Passwort

Optionen
-b
Verwenden Sie den Batch-Modus, d.h. das Passwort von der Befehlszeile aus, statt danach gefragt zu werden. Diese Option sollte mit äußerster Sorgfalt verwendet werden, da das Passwort auf der Befehlszeile sichtbar ist
-c
Erstellen Sie eine passwd-Datei. Wenn passwdfile bereits vorhanden ist, wird es neu geschrieben und abgeschnitten. Diese Option kann nicht zusammen mit der Option-n verwendet werden.
-n
Anzeige der Ergebnisse auf Standard-Ausgabe, atatt der Aktualisierung in einer Datei. Dies ist nützlich für die Generierung von Passwort Datensätzen die der Apache akzeptiert und die man nicht in Text-Daten speichern will. Diese Option ändert die Syntax der Befehlszeile, da das passwdfile Argument (in der Regel das erste) ausgelassen wird. Es kann nicht mit der Option-c kombiniert werden.
-m
Verwenden Sie MD5-Verschlüsselung für Passwörter. Auf Windows-, Netware-und TPF, ist das die Standardeinstellung.
-d
Verwenden Sie crypt () Verschlüsselung für Passwörter. Das ist der Standard, auch auf allen Plattformen wie Windows, Netware und TPF. Obwohl es möglicherweise nicht von htpasswd auf allen Plattformen mit den httpd-Servern auf Windows-, Netware-und TPF unterstützt wird.
-s
Verwenden Sie SHA-Verschlüsselung für Passwörter. Erleichtert die Migration von / nach Netscape-Server mit Hilfe des LDAP Directory Interchange Format (ldif).
-p
Verwenden Sie Klartext-Passwörter. Denn htpasswd wird für den httpd-Daemon nur Klartext-Passwörter akzeptieren unter Windows, Netware und TPF.
-D
Benutzer löschen. Wenn der Benutzername existiert in der angegebenen htpasswd-Datei, wird er gelöscht.
passwdfile
Name der Datei die den Benutzernamen und das Kennwort enthält. Wenn-c angegeben ist, wird diese Datei erstellt werden, wenn sie nicht bereits vorhanden ist oder umgeschrieben und gekürzt, wenn sie bereits existiert.
username – (Benutzername)
Der Benutzername zur Erstellung oder Aktualisierung in passwdfile. Wenn der Benutzername nicht in dieser Datei existiert, wird ein Eintrag hinzugefügt. Wenn ein Passwort bereits existiert wird es geändert.
password – (Passwort)
Das Klartext-Passwort wird verschlüsselt und in der Datei gespeichert. Nur in Verbindung mit dem b-flag (Option).

Exit-Status
Htpasswd liefert einen Null-Status ( „true“), wenn der Benutzername und das Kennwort im passwdfile erfolgreich hinzugefügt oder aktualisiert wurden. Htpasswd gibt 1 zurück, wenn ein Problem beim Zugriff auf Dateien, 2, wenn es ein Problem mit der Syntax in der Befehlszeile gibt, 3, wenn das Passwort eingegeben wurde und die interaktive Überprüfung des Eintrages nicht übereinstimmen, 4, wenn die Operation wurde unterbrochen 5, wenn ein Wert ist zu lang (Benutzername, Dateiname, Kennwort oder endgültig berechneter Eintrag), 6, wenn der Benutzername unzulässige Zeichen enthält (siehe Dem Abschnitt Einschränkungen), und 7, wenn die Datei keine gültige Passwort-Datei ist.

Beispiele

htpasswd /usr/local/etc/apache/.htpasswd-users jsmith Htpasswd / usr / local / etc / apache / .htpasswd-Benutzer in unserem System anmelden

Erzeugung oder ändern des Kennworts für die Benutzer, die im System angemeldet sind. Der Benutzer wird aufgefordert, das Passwort einzugeben. Wenn es auf einem Windows-System ausgeführt wird, wird das Passwort mit dem modifizierten Apache-MD5-Algorithmus verschlüsselt, sonst wird die System-crypt ()-Routinen verwendet. Wenn die Datei nicht existiert, wird htpasswd nichts tun, außer einen Fehler anzeigen.

htpasswd -c /home/doe/public_html/.htpasswd jane

Erzeugt eine neue Datei und speichert sie in einem Datensatz für den Benutzer jane. Der Benutzer wird aufgefordert, das Passwort eizugeben. Wenn die Datei vorhanden ist und nicht gelesen werden kann, oder nicht in sie geschrieben werden kann, wird sie nicht verändert und htpasswd wird eine Fehlermeldung mit einem Fehler-Status ausgeben.

htpasswd -mb /usr/web/.htpasswd-all jones Pwd4Steve

Verschlüsselt das Passwort von der Befehlszeile aus (Pwd4Steve) mit dem MD5-Algorithmus, und speichert sie in der angegebenen Datei.

Sicherheitsüberlegungen

Web-Passwort-Dateien wie die von htpasswd sollte nicht innerhalb des Webspaces liegen – das heißt, sie sollte nicht mit einem Browser erreichbar sein.

Vonb der Verwendung der Option-b wird abgeraten, da, das unverschlüsselte Passwort auf der Befehlszeile erscheint.

Einschränkungen
Auf den Plattformen Windows und MPE, dürfen verschlüsselte Passwörter mit htpasswd verarbeitet, nicht mehr als 255 Zeichen lang sein. Längere Passwörter werden abgeschnitten auf 255 Zeichen.

Der MD5-Algorithmus verwendet mit htpasswd ist für die Apache-Software spezifisch; verschlüsselte Passwörter werden nicht auf anderen Web-Servern nutzbar sein.

Benutzernamen umfassen maximal 255 Bytes und dürfen keine „.“ (Punkt) enthalten.

siehe auch:
htpasswd – Manage user files for basic authentication (Englisch von apache.org)
.htaccess
Passwortschutz für WWW-Verzeichnisse
Passwortschutz bei Apache2
*1 Flat Dateien sind in der Regel grundlegende Daten, die verwendet werden, für die Konfiguration der Datenspeicherung für Anwendungen und Programme.

(685)


History

4 Gedanken zu „Htpasswd – Passwortschutz für den Apachen“

  1. Zitat von Authentication, Authorization and Access Control:
    The directives discussed in this article will need to go either in your main server configuration file (typically in a section), or in per-directory configuration files (.htaccess files).

    If you plan to use .htaccess files, you will need to have a server configuration that permits putting authentication directives in these files. This is done with the AllowOverride directive, which specifies which directives, if any, may be put in per-directory configuration files.

    Since we’re talking here about authentication, you will need an AllowOverride directive like the following:

    AllowOverride AuthConfig

    Or, if you are just going to put the directives directly in your main server configuration file, you will of course need to have write permission to that file.

  2. Wer sich um 0 € kein Linux leisten kann findet heute schon unzählige „Dienste und Webmaster Tools“ im Internet, wo man sich online eine .htaccess und .htpasswd erstellen lassen kann – wow, wirklich genial. 🙄
    Ach ich hab‘ mich getäuscht, es gibt ja sogar schon eine htpasswd.exe – na dann ist es ja wohl sonnenklar, weshalb man diese wichtigen Tools im Internet anbietet, oder? Naja, viellicht erzeugt die htaccess.exe keinen Link auf dem Desktop bei der Installation und legt kein Icon an, auf das man nach dem Neustart klicken könnte. Ich vermute ja nur, aber das wäre dann schon wirklich sehr benutzerunfreundlich, eigentlich schon ein Windows-Bug.

  3. Es ist in der Regele kein Problem wenn die .htpasswd Dateien unterhalb des Webroot liegen, der Apache per Default diese Dateien sperrt (eine File-Rule mit Wildcards), aber es natürlich trotzdem eine gute Idee sie gänzlich ausserhalb des Webroot abzulegen. Man weiß ja nie.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.