爛泥:apache密碼生成工具htpasswd的應用

本文首發於爛泥行天下

1、 htpasswd的作用與安裝

2、 htpasswd命令詳解

3、 htpasswd的實例

4、 htpasswd的應用

一、htpasswd的作用與安裝

htpasswd是apache的一個工具,該工具主要用於建立和更新存儲用戶名、密碼的文本文件,主要用於對基於http用戶的認證。

htpasswd的安裝很簡單,它是隨apache的安裝而生成。這點與ab工具是一樣的,如果哪位童鞋有不明白的地方可以查看《爛泥:apache性能測試工具ab的應用》這篇文章。

如果apache是通過RPM的yum方式進行安裝的話,該命令存放在/usr/bin/目錄下,如下:

which htpasswd

/usr/bin/htpasswd

clip_p_w_picpath001

如果apache是源碼方式安裝的話,該命令存放在apache安裝目錄的bin目錄下,如下:

/usr/local/apache2/bin

clip_p_w_picpath002

htpasswd命令用法,我們可以通過htpasswd的幫助進行查看,如下:

htpasswd -h

clip_p_w_picpath003

二、htpasswd命令詳解

在第一部分中,我們查看了htpasswd的幫助信息。現在我們來講解下幫助信息中的相關參數。

htpasswd的幫助信息如下:

htpasswd -h

clip_p_w_picpath003[1]

htpasswd [-cmdpsD] passwordfile username

htpasswd -b[cmdpsD] passwordfile username password

htpasswd -n[mdps] username

htpasswd -nb[mdps] username password

htpasswd命令選項參數說明:

-c創建一個加密文件。

-n不更新加密文件,只將htpasswd命令加密後的用戶名和密碼顯示在屏幕上。

-m默認htpassswd命令採用MD5算法對密碼進行加密,該參數默認情況下可以不加。

-d表示htpassswd命令採用CRYPT算法對密碼進行加密。

-s表示htpassswd命令採用SHA算法對密碼進行加密。

-p表示htpassswd命令不對密碼進行進行加密,即明文密碼。

-b表示在htpassswd命令行中一併輸入用戶名和密碼而不是根據提示輸入密碼。

-D表示刪除指定的用戶。

三、htpasswd的實例

在第二步中,我們列出了htpasswd的參數說明,現在我們來通過實例,介紹如何使用這些參數。

3.1利用htpasswd命令添加用戶

通過htpasswd命令來添加一個用戶,我們可以使用-b和-c參數。如下:

htpasswd -bc ilannifile ilanniuser 123456

cat ilannifile

clip_p_w_picpath004

htpasswd -bc ilannifile ilanniuser 123456

表示在當前目錄下生成一個ilannifile密碼文件,並新增一個用戶名爲ilanniuser密碼爲123456的用戶,默認採用MD5加密方式加密。

3.2在原有密碼文件中新增用戶

在原有的密碼文件中新增一個用戶,我們可以使用-b參數。如下:

htpasswd -b ilannifile ilannitwo 123456

cat ilannifile

clip_p_w_picpath005

htpasswd -b ilannifile ilannitwo 123456

表示在ilannifile密碼文件中新增一個用戶名爲ilannitwo,密碼爲123456的用戶。

注意:此時-c參數一定不能添加,否則會覆蓋原來的密碼文件再創建一個新的密碼文件。

3.3不更新密碼文件,只顯示加密後的用戶名和密碼

要不更新密碼文件,而只顯示加密後的用戶名和密碼,我們可以使用-n參數。如下:

htpasswd -n ilannitwo

clip_p_w_picpath006

注意-n參數後面一定要跟密碼文件中已經存在的用戶。說實話,這個參數沒有多大的實際意義。

3.4利用htpasswd命令刪除用戶名和密碼

要刪除已經在密碼文件存在的用戶,我們可以通過-D參數來實現。如下:

htpasswd -D ilannifile ilannitwo

clip_p_w_picpath007

3.5利用htpasswd命令修改用戶密碼

要達到這個目的,我們需要先利用htpasswd命令刪除指定用戶,然後再利用htpasswd創建用戶即可實現修改密碼的功能。如下:

clip_p_w_picpath008

四、htpasswd的應用

htpasswd可以與nagios、SVN、nginx、apache等進行集成使用,在此我們就不一一介紹。我們後續會單獨介紹htpasswd與以上幾個程序的集成使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章