Модуль Apache mod_authz_dbm
| Описание: | Групповая авторизация с использованием файлов DBM |
|---|---|
| Статус: | Расширение |
| Идентификатор модуля: | authz_dbm_module |
| Файл исходного кода: | mod_authz_dbm.c |
| Совместимость: | Доступен в Apache 2.1 и более поздних версиях |
Обзор
Этот модуль предоставляет возможности авторизации, позволяя аутентифицированным пользователям получать или отказывать доступ к частям веб-сайта на основе групповой принадлежности. Аналогичные функции предоставляет mod_authz_groupfile.
Директивы Require
Директивы Require Apache используются на стадии авторизации, чтобы убедиться, что пользователю разрешен доступ к ресурсу. mod_authz_dbm расширяет типы авторизации с dbm-group.
С версии v2.4.8, выражения поддерживаются в директивах require DBM.
Require dbm-group
Эта директива указывает на групповую принадлежность, необходимую для доступа пользователя.
Require dbm-group admin
Require dbm-file-group
При указании этой директивы пользователь должен быть членом группы, назначенной файлу, к которому осуществляется доступ.
Require dbm-file-group
Примеры использования
Обратите внимание, что использование mod_authz_dbm требует использования директивы dbm-group вместо group:
<Directory "/foo/bar"> AuthType Basic AuthName "Secure Area" AuthBasicProvider dbm AuthDBMUserFile "site/data/users" AuthDBMGroupFile "site/data/users" Require dbm-group admin </Directory>
Директива AuthDBMGroupFile
| Описание: | Устанавливает имя файла базы данных, содержащего список пользовательских групп для авторизации |
|---|---|
| Синтаксис: | AuthDBMGroupFile file-path |
| Контекст: | директория, .htaccess |
| Переопределение: | AuthConfig |
| Статус: | Расширение |
| Модуль: | mod_authz_dbm |
Директива AuthDBMGroupFile устанавливает имя файла DBM, содержащего список пользовательских групп для авторизации пользователя. File-path — абсолютный путь к файлу группы.
Файл группы индексируется по имени пользователя. Значение для пользователя представляет собой список групп, к которым принадлежит пользователь, разделенный запятыми. Пробелы в значении недопустимы, и оно никогда не должно содержать двоеточий.
Безопасность
Убедитесь, что AuthDBMGroupFile хранится вне дерева документов веб-сервера. Не размещайте его в той директории, которую он защищает. В противном случае клиенты смогут загрузить AuthDBMGroupFile, если это не защищено.
Комбинирование файлов DBM групп и паролей: В некоторых случаях проще управлять одной базой данных, содержащей как данные пароля, так и данные о группах для каждого пользователя. Это упрощает разработку вспомогательных программ: им теперь нужно лишь работать с записью в один файл DBM и блокировкой этого файла. Это можно сделать, задав для файлов группы и паролей ссылку на один и тот же файл DBM:
AuthDBMGroupFile "/www/userbase" AuthDBMUserFile "/www/userbase"
Ключом для единого файла DBM является имя пользователя. Значение состоит из
Encrypted Password : List of Groups [ : (ignored) ]
Раздел пароля содержит зашифрованный пароль, как и прежде. За ним следует двоеточие и список групп, разделенных запятыми. Другие данные могут быть необязательно оставлены в файле DBM после другого двоеточия; они игнорируются модулем авторизации. Так работает www.telescope.org для своей объединенной базы данных паролей и групп.
Директива AuthzDBMType
| Описание: | Устанавливает тип файла базы данных, используемого для хранения списка пользовательских групп |
|---|---|
| Синтаксис: | AuthzDBMType default|SDBM|GDBM|NDBM|DB |
| Значение по умолчанию: | AuthzDBMType default |
| Контекст: | директория, .htaccess |
| Переопределение: | AuthConfig |
| Статус: | Расширение |
| Модуль: | mod_authz_dbm |
Устанавливает тип файла базы данных, используемого для хранения списка пользовательских групп. Тип базы данных по умолчанию определяется во время компиляции. Доступность других типов файлов базы данных также зависит от параметров компиляции.
Важно, чтобы любая программа, которую вы используете для создания файлов групп, была настроена на использование того же типа базы данных.
© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_authz_dbm.html