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