dbmmanage — управление файлами аутентификации пользователей в формате DBM
dbmmanage используется для создания и обновления файлов в формате DBM, предназначенных для хранения имён пользователей и паролей для базовой аутентификации пользователей HTTP с помощью mod_authn_dbm. Доступ к ресурсам сервера Apache HTTP можно ограничить только пользователями, указанными в файлах, созданных с помощью dbmmanage. Эту программу можно использовать только в том случае, если имена пользователей хранятся в файле DBM. Для работы с базой данных в обычном текстовом файле см. htpasswd.
Ещё один инструмент для обслуживания базы данных паролей DBM — htdbm.
На этой странице руководства перечислены только аргументы командной строки. Сведения о директивах, необходимых для настройки аутентификации пользователей в httpd, см. в руководстве httpd, входящем в дистрибутив Apache или доступном по адресу http://httpd.apache.org/.
Краткое описание
dbmmanage [ encoding ] filename add|adduser|check|delete|update username [ encpasswd [ group[,group...] [ comment ] ] ]
dbmmanage filename view [ username ]
dbmmanage filename import
Параметры
filename- Имя файла в формате DBM. Обычно указывается без расширения
.db,.pagили.dir. username- Пользователь, для которого выполняются операции. Значение username не может содержать двоеточие (
:). encpasswd- Это уже хешированный пароль, используемый командами
updateиadd. Можно указать дефис (-), чтобы ввести пароль по запросу, а затем заполнить остальные поля. Кроме того, при использовании командыupdateточка (.) позволяет оставить исходный пароль без изменений. group- Группа, участником которой является пользователь. Имя группы не может содержать двоеточие (
:). Можно указать дефис (-), если не нужно назначать пользователя в группу, но требуется заполнить поле комментария. Кроме того, при использовании командыupdateточка (.) позволяет оставить исходные группы без изменений. comment- Здесь можно указать произвольные комментарии о пользователе, например его настоящее имя, адрес электронной почты и другие сведения. Сервер игнорирует это поле.
Алгоритмы хеширования
-d- хеширование crypt (по умолчанию, кроме Win32 и Netware)
-m- хеширование MD5 (по умолчанию в Win32 и Netware)
-s- хеширование SHA1
-p- открытый текст (не рекомендуется)
Команды
add- Добавляет в filename запись для username с использованием хешированного пароля encpasswd.
dbmmanage passwords.dat add rbowen foKntnEF3KSXA
adduser- Запрашивает пароль, а затем добавляет в filename запись для username.
dbmmanage passwords.dat adduser krietz
check- Запрашивает пароль, а затем проверяет, содержится ли username в filename и совпадает ли его пароль с указанным.
dbmmanage passwords.dat check rbowen
delete- Удаляет запись username из filename.
dbmmanage passwords.dat delete rbowen
import- Читает записи
username:password(по одной в строке) изSTDINи добавляет их в filename. Пароли должны быть предварительно зашифрованы. update- То же, что и команда
adduser, но при этом проверяется, что username уже существует в filename.dbmmanage passwords.dat update rbowen
view- Выводит содержимое файла DBM. Если указать username, выводится только соответствующая запись.
dbmmanage passwords.dat view
Ошибки
Следует учитывать, что существует несколько различных форматов файлов DBM и, вероятнее всего, в вашей системе установлены библиотеки для нескольких форматов. Основные примеры — SDBM, NDBM, GDBM проекта GNU и Berkeley DB 2. К сожалению, все эти библиотеки используют разные форматы файлов, поэтому необходимо убедиться, что формат файла filename совпадает с форматом, который ожидает dbmmanage. В настоящее время dbmmanage не может определить, с файлом DBM какого типа работает. При использовании с файлом неверного формата программа просто ничего не вернёт или может создать другой файл DBM с другим именем, а в худшем случае — повредить файл DBM, если вы пытались записать в него данные.
В dbmmanage задан список предпочтительных форматов DBM, определённый массивом @AnyDBM::ISA в начале программы. Поскольку предпочтительным является формат Berkeley DB 2, dbmmanage будет искать системные библиотеки в следующем порядке: Berkeley DB 2, затем NDBM, GDBM и SDBM. Первая найденная библиотека будет использоваться dbmmanage для всех операций с файлами DBM. Этот порядок немного отличается от стандартного порядка @AnyDBM::ISA в Perl, а также от порядка, используемого простым вызовом dbmopen() в Perl. Поэтому, если для управления файлами DBM используются другие утилиты, они также должны соблюдать этот порядок предпочтения. Аналогичные меры предосторожности необходимы при обращении к этим файлам из программ на других языках, например на C.
Чтобы определить формат файла DBM, обычно можно воспользоваться программой file, поставляемой с большинством Unix-систем.
© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/programs/dbmmanage.html