permalink

2

Lighttpd – HowTo: Passwort geschütze Verzeichnisse

Lighttpd unterstützt verschiedene Authentifizierungsmethoden, bei diesem HowTo werde ich auf die einfachste eingehen. Dabei werden Benutzername und Passwort als Klartext gespeichert. Es ist auf alle Fälle ratsam, die Verbindung mit SSL zu verschlüsseln, da sonst das Passwort sehr einfach mitgelesen werden kann.

I. Modul aktivieren
In der Konfigdatei /etc/lighttpd/lighttpd.conf muss zunächst das Modul mod_auth aktiviert werden.

server.modules              = (
            "mod_access",
            "mod_alias",
            "mod_accesslog",
            "mod_compress",
            "mod_auth",
)

II. Authentifizierungs Backend und Logging definieren
Folgende Zeilen müssen am Ende der /etc/lighttpd/lighttpd.conf stehen.

auth.debug = 2
auth.backend = "plain"
auth.backend.plain.userfile = "/home/root-on-fire/pass"

Erklärung:

  • auth.debug = 2: Debug Level 2 loggt alle (gültige & ungültige) Login Versuche mit (/var/log/lighttpd/access.log & error.log)
  • auth.backend = “plain”:Definiert das Authentifizierungsbackend = Plaintext
  • auth.backend.plain.userfile = “/home/root-on-fire/pass” :Pfad zur Passwortdatei

III. Passwort geschütztes Verzeichniss definieren
In diesem Beispiel wird die Authentifizierung für den Unterordner dokumente konfiguriert. Wenn man nichts zwischen die beiden Anführungszeichen schreibt, ist die komplette Domain bzw. Webseite mit einer Passwortabfrage geschützt.

auth.require = ( "/dokumente/" =>
(
"method" => "basic",
"realm" => "Password protected area",
"require" => "user=root-on-fire"
)
)

Mit “require” => “user=root-on-fire” wird definiert, dass sich nur der Benutzer root-on-fire einloggen darf.
“realm” => “Password protected area” wird bei der Passwortabfrage ausgegeben, siehe unten.

IV. Benutzer und Passwort definieren

Der Benutzer unter dem Lighttpd läuft (bei debian standardmäßig www-data) muss Leseberechtigung auf das Passwortfile haben:

r-o-f:# chown www-data.www-data /home/root-on-fire/pass

Die Syntax ist einfach: Benutzername:Passwort, z.B.:

root-on-fire:876543210

V. Konfiguration überprüfen

Lighttpd Homepage: www.lighttpd.net
Lighttpd Doku: www.lighttpd.net