Модуль 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.
Начиная с версии 2.4.8, в директивах DBM require поддерживаются выражения.
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 |
| Контекст: | directory, .htaccess |
| Переопределение: | AuthConfig |
| Статус: | Расширение |
| Модуль: | mod_authz_dbm |
Директива AuthDBMGroupFile задает имя файла DBM, содержащего список групп пользователей для авторизации. Путь к файлу — абсолютный путь к файлу групп.
В файле групп ключом является имя пользователя. Значение для пользователя представляет собой разделенный запятыми список групп, в которые он входит. Значение не должно содержать пробелов и ни в коем случае не должно содержать двоеточий.
Безопасность
Убедитесь, что 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 |
| Контекст: | directory, .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