1

Temat: lighttpd - autoryzacja

Lighttpd i dostęp do katalogów na hasło.

Jest lighttpd uruchomione na raspberry pi / docker, działa. Chcę zrobić dostęp do wybranych katalogów na hasło.
Po zainstalowaniu, w przykładowym konfigu mam zakomentowane #

#    "mod_auth",
# {{{ mod_auth
# see authentication.txt
#
# auth.backend               = "plain"
# auth.backend.plain.userfile = "lighttpd.user"
# auth.backend.plain.groupfile = "lighttpd.group"

# auth.backend.ldap.hostname = "localhost"
# auth.backend.ldap.base-dn  = "dc=my-domain,dc=com"
# auth.backend.ldap.filter   = "(uid=$)"

# auth.require               = ( "/katalog_a" =>
#                               (
#                                 "method"  => "digest",
#                                 "realm"   => "download archiv",
#                                 "require" => "user=jan"
#                               ),
#                               "/katalog_b" =>
#                               (
#                                 "method"  => "digest",
#                                 "realm"   => "download archiv",
#                                 "require" => "valid-user"
#                               )
#                             )
# }}}

Cały konfig dostępny tu https://github.com/lesny8/docker-lightt … httpd.conf
katalog_a i katalog_b mam we właściwej lokalizacji.
Próbowałem na różne sposoby, włącznie z użyciem "method" => "basic", na wzór jak mam to na openwrt. Jednak nie działa.
Co i jak zrobić żeby uruchomić autoryzację metodą "method"  => "digest" w oparciu o przykładowy konfig.
Posiłkowałem się manualem lecz bez rezultatu. Może jest tak że nie mam jakiegoś wymaganego modułu w tej "instalacji" lighttpd. I może próbowałem dobrze lecz z uwagi na brak modułu to nie zadziała. Dlatego chciałbym się upewnić jak to powinno wyglądać. I jeśli nie zadziała to widoczne przyczyna jest gdzie indziej.

TP-Link TL-WDR4300 Mod, CPU 700MHz, Flash 16 MB, Gargoyle 1.5.11.4, extroot + dysk zewnętrzny Samsung (S2), kamerka MS LifeCam HD-5000
TP-Link TL-WR1043ND Mod, RAM 64 MB, chłodzenie pasywne, Gargoyle 1.5.10.14, extroot, kamerka Logitech HD Webcam C270

2

Odp: lighttpd - autoryzacja

server.modules += ( "mod_auth", "mod_authn_file" )

W konfigu, jeżeli nie masz modułów załadowanych.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3 (edytowany przez krynio 2021-11-26 23:03:21)

Odp: lighttpd - autoryzacja

Nie ja uruchomiłem to lighttpd na dockerze. A kolega który to wykonał robił to pierwszy raz i trochę z tym walczył. Zrobione bardziej metodą prób i błędów, ale zrobił :-).

W przykładowym w/w konfigu są te dziwne nawiasy {{{ otwierające i }}} zamykające. Zastanawiam się czy muszą być?
Wystarczy mi metoda  "method" => "basic"
Pytanie czy teoretycznie poprawne będzie dodanie na końcu mojego konfiga takiego wpisu:

server.modules += ( "mod_auth", "mod_authn_file" )
    auth.backend = "plain"
    auth.backend.plain.userfile = "/home/pi/docker-lighttpd-alpine/config/lighttpd/password"
    auth.require = (
    "/katalog_a/" => (
      "method" => "basic",
      "realm" => "Password protected area",
      "require" => "user=admin1"
     ),
    "/katalog_b/" => (
      "method" => "basic",
      "realm" => "Password protected area",
      "require" => "user=admin2"
     )
    )

Oczywiście plik password mam gdzie trzeba.
Robiłem kilka rożnych prób i dziwny jest dla mnie efekt. Po zmianie czegokolwiek związanego z mod_auth w config, lighttpd niby poprawnie startuje na dockerze ale serwer www fizycznie przestaje działać. Czyli nie tylko nie działa autoryzacja na hasło ale cały serwer przestaje działać. I teraz nie wiem czy ja coś robię źle czy z innych przyczyn po prostu to nie ma prawa działać. Wystarczy że cofnę (usunę) moje zmiany w konfigu związane z autoryzacją i serwer działa, lecz oczywiście bez autoryzacji.

TP-Link TL-WDR4300 Mod, CPU 700MHz, Flash 16 MB, Gargoyle 1.5.11.4, extroot + dysk zewnętrzny Samsung (S2), kamerka MS LifeCam HD-5000
TP-Link TL-WR1043ND Mod, RAM 64 MB, chłodzenie pasywne, Gargoyle 1.5.10.14, extroot, kamerka Logitech HD Webcam C270

4

Odp: lighttpd - autoryzacja

Czemu w dokerze? Naprawdę aż tak się nudzisz? smile

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: lighttpd - autoryzacja

Cezary napisał/a:

Czemu w dokerze? Naprawdę aż tak się nudzisz? smile

Dobre big_smile.
Na nie dokerze lighttpd na malinie musiałby pracować na innym porcie niż 80 i 443. A założeniem były standardowe porty.
Przyznam że odkąd mam lighttpd na openwrt na standardowych portach a to za sprawą nginxa (wiesz o czym piszę smile) to nie zależy mi na lighttpd na malinie. Lecz wcześniej nie wiedziałem że są takie możliwości na openwrt / nginx. I pierwszy był pomysł uruchomienia lighttpd na malinie. Kolega który bezinteresownie to wykonał na malinie, naprawdę poświęcił temu bardzo dużo czasu i bardziej powiedzmy chciałbym uszanować jego pracę. Serwer www na malinie traktuję tylko jako powiedzmy zapasowy. Ale faktem jest że działa na nim również certyfikat ssl no i posiadanie dwóch serwerów www działających na domyślnych portach 80 i 443 w obrębie jednej sieci jest nie lada wyczynem.

TP-Link TL-WDR4300 Mod, CPU 700MHz, Flash 16 MB, Gargoyle 1.5.11.4, extroot + dysk zewnętrzny Samsung (S2), kamerka MS LifeCam HD-5000
TP-Link TL-WR1043ND Mod, RAM 64 MB, chłodzenie pasywne, Gargoyle 1.5.10.14, extroot, kamerka Logitech HD Webcam C270