天天看點

RHEL6.3配置Apache伺服器(4) 基于使用者的通路控制

在上篇博文中介紹了基于用戶端位址的通路控制,這種方法設定起來相對比較簡單,但是不具備太大的實用價值。在實際應用中,我們大都是希望通過對使用者進行身份驗證進而來進行通路控制,在這篇博文中将主要介紹這種基于使用者的通路控制方法。

在前面介紹IIS的時候曾提到過,在IIS中進行使用者身份驗證有3種方法,按照安全級别由高到低分别是:Windows身份驗證、摘要式身份驗證、基本身份驗證。其中使用比較多的是基本身份驗證。

Apache支援的身份驗證方法有基本認證(Basic)和摘要認證(Digest)兩種,應用較多的同樣也是基本認證。下面就以基本認證為例來進行介紹。

同基于用戶端位址的通路控制一樣,基于使用者的通路控制也是隻能針對伺服器上的某個目錄進行設定,設定内容必須包含在<Directory 目錄> …… </Directory>的區域中。

如果Apache中并沒有啟用虛拟主機,那麼可以将下面圖中的這部分區域設定内容添加在配置檔案中的Main server部分。

下面對其中的設定項目進行解釋:

 <Directory “/movie”>……</Directory>,表示對目錄“/movie”進行通路控制設定。

 AuthName:定義受保護的領域名稱,用戶端通路時在彈出的認證登陸對話框中将顯示該名稱。

 AuthType:設定認證的類型,Basic為基本認證

 AuthUserFile:設定用于儲存使用者帳号、密碼的認證檔案路徑。(檔案可以自由定義,但通常都是儲存于/etc/httpd/conf目錄中,并采用.htpasswd的檔案名,檔案名前面加.表示隐藏檔案。)

 require valid-user:授權給認證檔案中的所有有效使用者。這一項也可以寫成“require user [使用者名]”,指定一個具體的使用者,這樣無論認證檔案中如何定義,也隻有該使用者才可以通路。

修改完配置檔案後,儲存退出。

下面再來添加認證使用者,需要注意的是,這個認證使用者與系統使用者沒有任何關系,也就是說我們并不需要先建立相應的系統使用者,而是可以直接來添加認證使用者。

對認證使用者進行管理需要用到htpasswd指令,執行下面的指令建立.htpasswd檔案并向其中添加harry使用者。

指令中用到的兩個選項的含義:

-c,建立使用者認證檔案   -m,MD5加密

如果要再加入别的使用者,那麼就不再需要-c選項。下面繼續将natasha添加為認證使用者:

我們可以檢視一下這個認證使用者檔案,其中的使用者密碼都經過了MD5加密:

全部設定完成後,重新開機httpd服務使配置生效:

# service httpd restart

本文轉自 yttitan 51CTO部落格,原文連結:http://blog.51cto.com/yttitan/1207231