Пункт 68. Страница руководства: dbmmanage
dbmmanage
используется для создания и обновления файлов формата DBM, используемых для хранения имен пользователей и паролей для базовой аутентификации пользователей HTTP через mod_authn_dbm
. Ресурсы, доступные с HTTP-сервера Apache, могут быть ограничены только пользователями, перечисленными в файлах, созданных 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
- криптошифрование (по умолчанию, кроме 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, для доступа к этим файлам.
Обычно можно использовать file
программу, поставляемую с большинством систем Unix, чтобы увидеть, в каком формате находится файл DBM.