Apache HTTP Server 版本2.2
htpasswd
建立和更新用于基本認(rèn)證的存儲用戶名/密碼的文本文件。如果htpasswd
不能讀寫此文件,它返回一個出錯代碼,而不做任何修改。
服務(wù)器上的資源可以被限制為僅允許由htpasswd
建立的文件中的用戶所訪問。此程序只能管理存儲在文本文件中的用戶名和密碼,但是它可以加密并顯示密碼信息,從而可以為其他數(shù)據(jù)存儲類型所利用。要使用DBM數(shù)據(jù)庫,請參見dbmmanage
。
htpasswd
使用專為Apache作了修改的MD5算法或系統(tǒng)函數(shù)crypt()
加密密碼。htpasswd
所管理的文件可以包含兩種類型的密碼;有些用戶的密碼使用MD5加密的,而同一個文件中的其他用戶密碼則使用crypt()
加密。
本手冊頁僅列出命令行參數(shù),配置基本認(rèn)證的相關(guān)指令的細(xì)節(jié)請參見mod_auth_basic
文檔。
htpasswd
[ -c ]
[ -m ]
[ -D ] passwdfile username
htpasswd -b
[ -c ]
[ -m |
-d |
-p |
-s ]
[ -D ] passwdfile username
password
htpasswd -n
[ -m |
-d |
-s |
-p ] username
htpasswd -nb
[ -m |
-d |
-s |
-p ] username password
-b
-c
-n
同時使用。-n
-c
同時使用。-m
-d
crypt()
對密碼進行加密。在Windows, Netware, TPF以外的平臺上這是默認(rèn)方法。雖然有可能在所有的平臺上被htpasswd
支持,但是在Windows, Netware, TPF上,該方法不能被httpd
所支持。-s
-p
htpasswd
在所有平臺上都支持這種方法,但是httpd
只能在Windows, Netware, TPF上支持這種方法。-D
username
存在于passwdfile
中,則刪除該用戶。passwdfile
-c
選項,若文件已存在則更新它,若不存在則創(chuàng)建它。username
password
-b
同時使用。htpasswd
僅在用戶名和密碼被成功存入passwdfile或成功更新的情況下返回"0
"。若訪問文件發(fā)生錯誤則返回"1
";若命令行語法錯誤則返回"2
";若密碼驗證失敗則返回"3
";若正在進行中的操作被打斷則返回"4
";若值(username, filename, password, 計算結(jié)果)長度超標(biāo)則返回"5
";若用戶名包含非法字符(參見限制)則返回"6
";若指定的文件不能被正確識別則返回"7
"。
htpasswd /usr/local/etc/apache/.htpasswd-users jsmith
添加或修改用戶jsmith
的密碼。密碼將被提示輸入。在Windows平臺上,密碼將使用Apache修改過的MD5算法進行加密;在其它平臺上將使用crypt()
進行加密。如果指定的文件不存在,htpasswd
將只返回一個錯誤代碼,而不做其它任何事。
htpasswd -c /home/doe/public_html/.htpasswd jane
創(chuàng)建一個新文件并在其中添加一條用戶jane
的記錄。密碼將被提示輸入。如果文件存在但是不能被讀取或?qū)懭,則不會有任何記錄被修改,同時htpasswd
將會顯示一個錯誤信息并返回一個錯誤代碼。
htpasswd -mb /usr/web/.htpasswd-all jones Pwd4Steve
將來自命令行的密碼(Pwd4Steve
)使用MD5算法加密,并將其存入指定的文件。
Web密碼文件(比如由htpasswd
管理)不應(yīng)當(dāng)存在于網(wǎng)絡(luò)空間中,即不能被客戶端有機會訪問。
我們反對使用 -b
選項,因為密碼將以明文的形式出現(xiàn)在命令行中。
在Windows和MPE平臺上,用htdbm
加密的密碼最大長度是255
字符。超出部分將被截斷。
htdbm
使用的MD5加密算法已經(jīng)被Apache修改過了,僅能夠被Apache識別,不能被其它Web服務(wù)器識別。
用戶最大長度是255
字節(jié),并且不能包含冒號(:
)。