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