RHEL6.3配置Apache服务器(4) 基于用户的访问控制
在上篇博文中介紹了基于客戶端地址的訪問控制,這種方法設(shè)置起來相對(duì)比較簡(jiǎn)單,但是不具備太大的實(shí)用價(jià)值。在實(shí)際應(yīng)用中,我們大都是希望通過對(duì)用戶進(jìn)行身份驗(yàn)證從而來進(jìn)行訪問控制,在這篇博文中將主要介紹這種基于用戶的訪問控制方法。
在前面介紹IIS的時(shí)候曾提到過,在IIS中進(jìn)行用戶身份驗(yàn)證有3種方法,按照安全級(jí)別由高到低分別是:Windows身份驗(yàn)證、摘要式身份驗(yàn)證、基本身份驗(yàn)證。其中使用比較多的是基本身份驗(yàn)證。
Apache支持的身份驗(yàn)證方法有基本認(rèn)證(Basic)和摘要認(rèn)證(Digest)兩種,應(yīng)用較多的同樣也是基本認(rèn)證。下面就以基本認(rèn)證為例來進(jìn)行介紹。
同基于客戶端地址的訪問控制一樣,基于用戶的訪問控制也是只能針對(duì)服務(wù)器上的某個(gè)目錄進(jìn)行設(shè)置,設(shè)置內(nèi)容必須包含在<Directory?目錄>?……?</Directory>的區(qū)域中。
我們?nèi)砸詗ww.example.com站點(diǎn)中的虛擬目錄/movie為例來進(jìn)行設(shè)置,要求只有輸入用戶名harry或natasha以及相應(yīng)的密碼才能訪問www.example.com/movie。
修改配置文件/etc/httpd/conf/httpd.conf,在www.example.com站點(diǎn)的虛擬主機(jī)區(qū)域設(shè)置部分中添加如下的內(nèi)容:
如果Apache中并沒有啟用虛擬主機(jī),那么可以將下面圖中的這部分區(qū)域設(shè)置內(nèi)容添加在配置文件中的Main?server部分。
?
下面對(duì)其中的設(shè)置項(xiàng)目進(jìn)行解釋:
-
??<Directory?“/movie”>……</Directory>,表示對(duì)目錄“/movie”進(jìn)行訪問控制設(shè)置。
-
??AuthName:定義受保護(hù)的領(lǐng)域名稱,客戶端訪問時(shí)在彈出的認(rèn)證登陸對(duì)話框中將顯示該名稱。
-
??AuthType:設(shè)置認(rèn)證的類型,Basic為基本認(rèn)證
-
??AuthUserFile:設(shè)置用于保存用戶帳號(hào)、密碼的認(rèn)證文件路徑。(文件可以自由定義,但通常都是保存于/etc/httpd/conf目錄中,并采用.htpasswd的文件名,文件名前面加.表示隱藏文件。)
-
??require?valid-user:授權(quán)給認(rèn)證文件中的所有有效用戶。這一項(xiàng)也可以寫成“require?user?[用戶名]”,指定一個(gè)具體的用戶,這樣無論認(rèn)證文件中如何定義,也只有該用戶才可以訪問。
修改完配置文件后,保存退出。
下面再來添加認(rèn)證用戶,需要注意的是,這個(gè)認(rèn)證用戶與系統(tǒng)用戶沒有任何關(guān)系,也就是說我們并不需要先創(chuàng)建相應(yīng)的系統(tǒng)用戶,而是可以直接來添加認(rèn)證用戶。
對(duì)認(rèn)證用戶進(jìn)行管理需要用到htpasswd命令,執(zhí)行下面的命令創(chuàng)建.htpasswd文件并向其中添加harry用戶。
命令中用到的兩個(gè)選項(xiàng)的含義:
-c,創(chuàng)建用戶認(rèn)證文件???-m,MD5加密
如果要再加入別的用戶,那么就不再需要-c選項(xiàng)。下面繼續(xù)將natasha添加為認(rèn)證用戶:
我們可以查看一下這個(gè)認(rèn)證用戶文件,其中的用戶密碼都經(jīng)過了MD5加密:
全部設(shè)置完成后,重啟httpd服務(wù)使配置生效:
#?service?httpd?restart
最后在客戶端訪問測(cè)試,在訪問www.example.com/movie時(shí)提示要輸入用戶名和密碼。成功通過驗(yàn)證后,可以順利訪問到該頁面。
本文轉(zhuǎn)自 yttitan 51CTO博客,原文鏈接:http://blog.51cto.com/yttitan/1207231
總結(jié)
以上是生活随笔為你收集整理的RHEL6.3配置Apache服务器(4) 基于用户的访问控制的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 获取绝对地址
- 下一篇: 批量域更改客户端本地administra