Plain аутентификация в lighttpd | Lighttpd
Задача – закрыть некоторые директории на веб сервере под управлением lighttpd паролями.
Поскольку на сайте проекта нужно покопаться в документации – пишу себе на память.
Первое – раскомментируем в конфиге modules.conf строку "mod_auth"
:
server.modules = (
"mod_access",
"mod_alias",
"mod_auth",
# "mod_evasive",
# "mod_redirect",
# "mod_rewrite",
# "mod_setenv",
# "mod_usertrack",
)
А в основной конфиг добавляем строки:
$HTTP["url"] =~ "^/administrator" {
auth.backend = "plain"
auth.backend.plain.userfile = "/usr/local/etc/lighttpd/.htpasswd"
# auth.backend.htpasswd.userfile = "/usr/local/etc/lighttpd/.htpasswd"
auth.require = ("/administrator" => (
"method" => "basic",
"realm" => "Valid users only",
"require" => "valid-user"
))
}
Обращаем внимание: тип авторизации plain, следовательно в строках auth.backend = "plain"
и в auth.backend.plain.userfile
– везде указываем тип авторизации – plain (может быть ещё htpasswd и т.д.). Файл паролей лучше хранить за пределами дерева директорий каталога веб – лайти по дефолту файлы начинающиеся с точки не прячет. Так что если перешли с апача а в папках валяются файлы .htpasswd или подобные – уберите.
Если мы хотим закрыть паролем файл, или определённый тип файлов – пишем в инструкциях $HTTP["url"] =~ "^/administrator"
и auth.require = ("/administrator" =>
имена файлов или используем регулярные выражения:
$HTTP["url"] =~ "^/admin.php" {
...
auth.require = ("/admin.php" => (
...
Пароли при plain аутентификации пишем в файл паролей простым текстом.
Пример:
user:MyPass0rd
Если мы хотим использовать криптованные пароли как при basic аутентификации в апаче вместо метода plain указываем htpasswd.
$HTTP["url"] =~ "^/administrator" {
auth.backend = "htpasswd"
auth.backend.htpasswd.userfile = "/usr/local/etc/lighttpd/.htpasswd"
# auth.backend.htpasswd.userfile = "/usr/local/etc/lighttpd/.htpasswd"
auth.require = ("/administrator" => (
"method" => "basic",
"realm" => "Valid users only",
"require" => "valid-user"
))
}
Файл паролей создаем с помощью утилиты из состава апача:
#htpasswd -c /usr/local/etc/lighttpd/.htpasswd user
Хотите большей секьюрности – подымаем https и шифруем пароли (используем методы htpasswd, htdigest и т.д.).