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
.db
,.pag
或.dir
。username
:
)。encpasswd
update
和add
命令的已加密密码
。-
如果您想得到提示输入密码,可以使用连字符(),但之后请填写字段。另外,使用update
命令时,句点(.
)保持原始密码不变。group
:
)。-
如果您不想将用户分配给组,则可以使用连字符(),但请填写注释字段。另外,使用update
命令时,点号(.
)保持原始组不变。comment
-d
-m
-s
-p
add
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
命令相同,不同之处在于它确保filename中已经存在用户名。
dbmmanage passwords.dat update rbowen
view
dbmmanage passwords.dat view
应该意识到,存在多种不同的DBM文件格式,并且很可能在您的系统上存在一种以上格式的库。三个主要示例是SDBM,NDBM,GNU项目的GDBM和Berkeley DB2。不幸的是,所有这些库都使用不同的文件格式,并且您必须确保filename所使用的文件格式与dbmmanage
期望的格式相同。dbmmanage
当前无法确定正在查看的DBM文件类型。如果以错误的格式使用它,将仅返回任何内容,或者创建具有不同名称的其他DBM文件,或者在最坏的情况下,如果您尝试写入DBM文件,则可能会损坏该DBM文件。
dbmmanage
具有DBM格式首选项的列表,该列表由@AnyDBM::ISA
程序开头附近的数组定义。由于我们更喜欢Berkeley DB 2文件格式,因此dbmmanage
查找系统库的顺序
为Berkeley DB 2,NDBM,GDBM和SDBM。找到的第一个库将是该库dbmmanage
将尝试用于所有DBM文件事务。此排序@AnyDBM::ISA
与Perl中的标准排序以及Perl中简单dbmopen()
调用所使用的排序略有不同
,因此,如果您使用任何其他实用程序来管理DBM文件,则它们也必须遵循此首选项排序。如果使用其他语言的程序(如C)访问这些文件,则必须采取类似的措施。
通常,可以使用file
大多数Unix系统提供的程序来查看DBM文件采用的格式。