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- Пользователь, для которого выполняются операции. Имя пользователя не может содержать двоеточие (
:). encpasswd- Это уже зашифрованный пароль, который необходимо использовать для команд
updateиadd. Можно использовать дефис (-), чтобы запросить пароль, но затем заполнить поля. Кроме того, при использовании командыupdate, точка (.) оставляет исходный пароль без изменений. group- Группа, членом которой является пользователь. Имя группы не может содержать двоеточие (
:). Можно использовать дефис (-), если не нужно назначать пользователя группе, но заполнить поле комментария. Кроме того, при использовании командыupdate, точка (.) оставляет исходные группы без изменений. comment- Здесь можно вставить свои комментарии о пользователе, такие как настоящее имя, адрес электронной почты и т. п. Сервер проигнорирует это поле.
Кодировки
-d- шифрование crypt (по умолчанию, за исключением Win32, Netware)
-m- шифрование MD5 (по умолчанию на Win32, Netware)
-s- шифрование SHA1
-p- открытый текст (не рекомендуется)
Команды
add- Добавляет запись для Имя пользователя в Имя файла с использованием зашифрованного пароля encpasswd.
dbmmanage passwords.dat add rbowen foKntnEF3KSXA
adduser- Запрашивает пароль, а затем добавляет запись для Имя пользователя в Имя файла.
dbmmanage passwords.dat adduser krietz
check- Запрашивает пароль, а затем проверяет, есть ли Имя пользователя в Имя файла и соответствует ли его пароль указанному.
dbmmanage passwords.dat check rbowen
delete- Удаляет запись Имя пользователя из Имя файла.
dbmmanage passwords.dat delete rbowen
import- Читает записи
username:password(по одной на строку) изSTDINи добавляет их в Имя файла. Пароли должны быть уже зашифрованы. update- Аналогично команде
adduser, но гарантирует, что Имя пользователя уже существует в Имя файла.dbmmanage passwords.dat update rbowen
view- Просто отображает содержимое файла DBM. Если указан Имя пользователя, отображается только соответствующая запись.
dbmmanage passwords.dat view
Ошибки
Следует учитывать, что существует множество различных форматов файлов DBM, и, скорее всего, на вашей системе могут существовать библиотеки для более чем одного формата. Три основных примера — SDBM, NDBM, GDBM проекта GNU и Berkeley DB 2. К сожалению, все эти библиотеки используют разные форматы файлов, и необходимо убедиться, что формат файла, используемый Имя файла, совпадает с форматом, который 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