NAME(名稱(chēng))
htpasswd - 創(chuàng)建和更新用戶認(rèn)證文件
?SYNOPSIS(總覽)
htpasswd [
-c ] [
-m |
-d |
-s |
-p ]
passwdfileusernamehtpasswd-b [
-c ] [
-m |
-d |
-s |
-p ]
passwdfileusernamepassword?DESCRIPTION(描述)
htpasswd 用來(lái)創(chuàng)建和更新保存著 HTTP用戶基本認(rèn)證的用戶和密碼的平面文件. 如果
htpasswd 不能訪問(wèn)文件,那么就不可能寫(xiě)入到輸出文件, 也不可能讀取文件以更新它, 它會(huì)返回錯(cuò)誤狀態(tài)并不作任何修改.
從 httpd Apache web服務(wù)器獲取的資源只限于由 htpasswd 創(chuàng)建的文件中所列出的用戶使用. 該程序只能用于用戶名保存在平面文件的情況下. 要使用DBM數(shù)據(jù)庫(kù),請(qǐng)參看 dbmmanage.
htpasswd 的加密密碼既可以使用針對(duì)Apache修改的MD5版本, 也可以使用系統(tǒng)的crypt()程序. 由 htpasswd 管理的文件可能同時(shí)包含兩種類(lèi)型的密碼; 一些用戶記錄可使用MD5加密的密碼, 而另一些用戶記錄可在同一文件中使用通過(guò) crypt()加密的密碼.
該手冊(cè)頁(yè)只列出了命令行的參數(shù). 要獲得關(guān)于在 httpd 中配置用戶認(rèn)證的必要指令的詳細(xì)情況, 可參看Apache手冊(cè),它是Apache發(fā)布版本的一部分,你也可以在 <URL:http://www.apache.org/>上找到它. ?
OPTIONS(選項(xiàng))
- -b
- 使用批處理模式;也即,從命令行上獲取密碼而不給出提示.該選項(xiàng)在使用時(shí)應(yīng)特別小心, 因?yàn)槊艽a是在命令行上清楚可見(jiàn)的.
- -c
- 創(chuàng)建passwdfile.如果passwdfile 已經(jīng)存在,那么它會(huì)重新寫(xiě)入并刪去原有內(nèi)容.
- -m
- 密碼使用Apache修改的MD5算法. 使用這種算法加密的密碼可以移植到運(yùn)行Apache 1.3.9或更新版本的任何平臺(tái)上(Windows,Unix,BeOS,等等). 在Windows和TPF上,該標(biāo)識(shí)是默認(rèn)的.
- -d
- 密碼使用crypt()加密.這是除了Windows和TPF 之外的所有平臺(tái)上的默認(rèn)值.盡管這可被所有平臺(tái)上的 htpasswd 支持,卻不被Windows和TPF上的 httpd 服務(wù)器所支持.
- -s
- 密碼使用SHA加密方法.這種方式移植于Netscape服務(wù)器, 使用的是LDAP目錄交換格式(ldif).
- -p
- 使用普通文本格式的密碼.盡管 htpasswd 可支持在所有平臺(tái)上創(chuàng)建這種格式的密碼, 卻只有Windows和TPF上的 httpd 守護(hù)程序能夠接受普通文本密碼.
- passwdfile
- 包含用戶名和密碼的文件的名字. 如果給定了-c,那么會(huì)在其不存在的情況下創(chuàng)建該文件, 或者在其存在的情況下重新寫(xiě)入并刪去原有內(nèi)容.
- username
- 在passwdfile中創(chuàng)建或更新的用戶名. 如果username在文件中不存在, 即創(chuàng)建一條記錄. 如果已經(jīng)存在,則修改其密碼.
- password
- 文件中加密和存儲(chǔ)的普通文本格式的密碼. 只用于-b標(biāo)識(shí).
?EXIT STATUS(退出狀態(tài))
如果在
passwdfile中用戶名和密碼添加或更新成功,
htpasswd 返回0狀態(tài)("true"). 如果在存取文件時(shí)遇到某些問(wèn)題
htpasswd 返回1, 如果在命令行中有語(yǔ)法錯(cuò)誤,
htpasswd 返回2, 如果交互式輸入的密碼與其驗(yàn)證項(xiàng)不匹配,
htpasswd 返回3, 如果操作被中斷,
htpasswd 返回4, 如果某個(gè)值(用戶名,文件名,密碼或最終計(jì)算出的記錄)太長(zhǎng),
htpasswd 返回5, 如果用戶名包含無(wú)效的字符(參看
RESTRICTIONS部分),
htpasswd 返回6.
?EXAMPLES(示例)
htpasswd /usr/local/etc/apache/.htpasswd-users jsmith- 為用戶jsmith添加或修改密碼. 會(huì)給出用戶輸入密碼的提示. 如果在Windows系統(tǒng)上執(zhí)行, 密碼會(huì)使用修改的Apache MD5算法加密; 否則,會(huì)使用系統(tǒng)的 crypt()程序. 如果文件不存在, htpasswd 會(huì)不作任何修改并返回一條錯(cuò)誤提示.
htpasswd -c /home/doe/public_html/.htpasswd jane
- 創(chuàng)建一個(gè)新的文件并將用戶jane記錄保存在其中. 會(huì)給出用戶輸入密碼的提示. 如果文件存在但不能夠讀取,或者不能夠?qū)懭? 那么它不會(huì)作修改,而且 htpasswd 會(huì)顯示一條消息并返回一個(gè)錯(cuò)誤狀態(tài).
htpasswd -mb /usr/web/.htpasswd-all jones Pwd4Steve
- 使用MD5算法加密取自命令行的密碼, 并將其保存到指定的文件中.
SECURITY CONSIDERATIONS(安全考慮)
Web密碼文件如由
htpasswd 管理的這些應(yīng)該
不在Web服務(wù)器的URI空間范圍之內(nèi) -- 也就是說(shuō), 瀏覽器不應(yīng)該能夠獲取他們.
建議不要使用-b選項(xiàng),因?yàn)槭褂迷撨x項(xiàng)時(shí)未加密的密碼出現(xiàn)在了命令行上. ?
RESTRICTIONS(限制)
在Windows和MPE平臺(tái)上,使用
htpasswd 加密的密碼的長(zhǎng)度限制在255個(gè)字符以內(nèi). 超出此長(zhǎng)度的密碼會(huì)取前255個(gè)字符.
使用的MD5算法是Apache軟件特有的; 使用它加密的密碼對(duì)于其他Web服務(wù)器來(lái)說(shuō)是不可用的.
用戶名限制在255個(gè)字節(jié)以內(nèi),而且不能包含字符':'. q.SH SEE ALSO(另見(jiàn)) httpd(8) 以及隨發(fā)布版本所帶的support/SHA1下的腳本.