Apache HTTP Server 版本 2.4
dbmmanage
用于创建和更新 DBM 格式文件,这些文件用于存储用户名和密码,以通过 mod_authn_dbm
对 HTTP 用户进行基本身份验证。Apache HTTP 服务器提供的资源可以限制为 dbmmanage
创建的文件中列出的用户。此程序仅在用户名存储在 DBM 文件中时才可以使用。要使用平面文件数据库,请参见 htpasswd
。
另一个用于维护 DBM 密码数据库的工具是 htdbm
。
此手册页仅列出命令行参数。有关在 httpd
中配置用户身份验证所需的指令的详细信息,请参见 httpd 手册,该手册是 Apache 发行版的一部分,也可以在 https://httpd.apache.org/ 上找到。
dbmmanage [ 编码 ] 文件名 add|adduser|check|delete|update 用户名 [ encpasswd [ 组[,组...] [ 注释 ] ] ]
dbmmanage 文件名 view [ 用户名 ]
dbmmanage 文件名 import
文件名
.db
、.pag
或 .dir
。用户名
:
)。encpasswd
update
和 add
命令的已哈希密码。如果您想提示输入密码,但随后填写字段,可以使用连字符 (-
)。此外,在使用 update
命令时,句点 (.
) 会保持原始密码不变。组
:
)。如果您不想将用户分配给组,但要填写注释字段,可以使用连字符 (-
)。此外,在使用 update
命令时,句点 (.
) 会保持原始组不变。注释
-d
-m
-s
-p
添加
dbmmanage passwords.dat add rbowen foKntnEF3KSXA
adduser
dbmmanage passwords.dat adduser krietz
检查
dbmmanage passwords.dat check rbowen
删除
dbmmanage passwords.dat delete rbowen
导入
STDIN
读取 用户名:密码
条目(每行一个),并将它们添加到 文件名 中。密码必须已经加密。更新
adduser
命令相同,但它确保 用户名 已经存在于 文件名 中。dbmmanage passwords.dat update rbowen
查看
dbmmanage passwords.dat view
应该注意,存在许多不同的 DBM 文件格式,并且很有可能,您的系统上可能存在不止一种格式的库。三个主要示例是 SDBM、NDBM、GNU 项目的 GDBM 和 Berkeley DB 2。不幸的是,所有这些库都使用不同的文件格式,您必须确保 文件名 使用的文件格式与 dbmmanage
预期看到的格式相同。 dbmmanage
目前无法确定它正在查看哪种类型的 DBM 文件。如果针对错误的格式使用,它只会返回空值,或者可能创建一个具有不同名称的不同 DBM 文件,或者最糟糕的是,如果您试图写入它,它可能会损坏 DBM 文件。
dbmmanage
有一份 DBM 格式首选项列表,由程序开头附近的 @AnyDBM::ISA
数组定义。由于我们更喜欢 Berkeley DB 2 文件格式,因此 dbmmanage
搜索系统库的顺序是 Berkeley DB 2,然后是 NDBM,然后是 GDBM,最后是 SDBM。找到的第一个库将是 dbmmanage
将尝试用于所有 DBM 文件事务的库。此排序略微不同于 Perl 中的标准 @AnyDBM::ISA
排序,以及 Perl 中简单 dbmopen()
调用使用的排序,因此,如果您使用任何其他实用程序来管理您的 DBM 文件,它们也必须遵循此首选项排序。如果使用其他语言(如 C)中的程序访问这些文件,则必须采取类似的措施。
通常可以使用大多数 Unix 系统提供的 file
程序来查看 DBM 文件的格式。