RHEL6.3配置Apache服务器(4) 基于用户的访问控制
在上篇博文中介紹了基于客戶端地址的訪問控制,這種方法設置起來相對比較簡單,但是不具備太大的實用價值。在實際應用中,我們大都是希望通過對用戶進行身份驗證從而來進行訪問控制,在這篇博文中將主要介紹這種基于用戶的訪問控制方法。
在前面介紹IIS的時候曾提到過,在IIS中進行用戶身份驗證有3種方法,按照安全級別由高到低分別是:Windows身份驗證、摘要式身份驗證、基本身份驗證。其中使用比較多的是基本身份驗證。
Apache支持的身份驗證方法有基本認證(Basic)和摘要認證(Digest)兩種,應用較多的同樣也是基本認證。下面就以基本認證為例來進行介紹。
同基于客戶端地址的訪問控制一樣,基于用戶的訪問控制也是只能針對服務器上的某個目錄進行設置,設置內容必須包含在<Directory?目錄>?……?</Directory>的區域中。
我們仍以www.example.com站點中的虛擬目錄/movie為例來進行設置,要求只有輸入用戶名harry或natasha以及相應的密碼才能訪問www.example.com/movie。
修改配置文件/etc/httpd/conf/httpd.conf,在www.example.com站點的虛擬主機區域設置部分中添加如下的內容:
如果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
最后在客戶端訪問測試,在訪問www.example.com/movie時提示要輸入用戶名和密碼。成功通過驗證后,可以順利訪問到該頁面。
本文轉自 yttitan 51CTO博客,原文鏈接:http://blog.51cto.com/yttitan/1207231
總結
以上是生活随笔為你收集整理的RHEL6.3配置Apache服务器(4) 基于用户的访问控制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 获取绝对地址
- 下一篇: 批量域更改客户端本地administra