Apache HTTP Server 版本2.2
dbmmanage
建立和更新存儲(chǔ)用戶名和密碼的DBM格式的文件,以用于mod_authn_dbm
對(duì)HTTP用戶進(jìn)行基本認(rèn)證。Apache HTTP服務(wù)器上的有效資源可以被限制為僅允許由dbmmanage
建立的文件中的用戶所訪問(wèn)。此程序僅用于用戶名是存儲(chǔ)在一個(gè)DBM文件中的情況下,如果使用文本數(shù)據(jù)庫(kù),請(qǐng)參見(jiàn)htpasswd
。
本手冊(cè)頁(yè)僅列出命令行參數(shù),配置用戶認(rèn)證的相關(guān)信息請(qǐng)參見(jiàn)認(rèn)證、授權(quán)、訪問(wèn)控制
文檔。
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
命令。使用一個(gè)連字符(-
)可以顯示輸入密碼的提示,然后輸入。另外,在用于update
命令時(shí),使用一個(gè)句號(hào)(.
)可以保持原有密碼不變。group
:
)。如果不希望指定該用戶所屬的組,可以使用一個(gè)連字符(-
),但是需要填寫comment項(xiàng)。另外,在用于update
命令時(shí),使用一個(gè)句號(hào)(.
)可以保持原來(lái)所屬的組不變。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
STDIN
讀取 username:password
的信息(每行一對(duì)),然后增加到filename中。其中的密碼必須是已加密的。update
adduser
命令,但是它可以確認(rèn)username已經(jīng)存在于filename中。
dbmmanage passwords.dat update rbowen
view
dbmmanage passwords.dat view
注意,實(shí)際上存在有許多不同的DBM文件格式,你的系統(tǒng)中也可能存在不止一種的支持庫(kù),常見(jiàn)的有SDBM, NDBM, GDBM, Berkeley DB 2 。麻煩的是,所有這些庫(kù)都使用了不同的文件格式,因而你必須確保filename所采用的格式能夠?yàn)?code>dbmmanage所接受。目前,dbmmanage
無(wú)法自己確定所查找的文件的DBM類型。如果使用了錯(cuò)誤的格式,則簡(jiǎn)單返回nothing ,或者建立一個(gè)不同名稱的不同的DBM文件,而最壞的情況是,在試圖寫入這個(gè)文件時(shí),可能會(huì)破壞該DBM文件。
dbmmanage
有一個(gè)DBM格式參數(shù)選擇列表,在程序前部由 @AnyDBM::ISA
數(shù)組定義。由于我們更喜歡 Berkeley DB 2 格式,dbmmanage
查找系統(tǒng)庫(kù)的順序是:Berkeley DB 2, NDBM, GDBM, SDBM 。dbmmanage
會(huì)使用第一個(gè)找到的庫(kù)來(lái)處理所有的DBM文件操作。此順序與perl中標(biāo)準(zhǔn)的 @AnyDBM::ISA
的順序略微不同,所以,如果要使用任何其他工具來(lái)管理DBM文件,則必須確保該工具是按此順序處理的。在用其他語(yǔ)言比如C的程序來(lái)處理這些文件時(shí),也要考慮這一點(diǎn)。
在大多數(shù)Unix系統(tǒng)中,都可以用file
程序來(lái)查看DBM文件的格式。