當前位置:
首頁 > 知識 > httpd網頁身份認證

httpd網頁身份認證


1.1 htpasswd命令

htpasswd用於為指定用戶生成基於網頁用戶身份認證的密碼,由httpd-tools軟體包提供。支持3種加密演算法:MD5、SHA和系統上的crypt()函數,不指定演算法時,默認為md5。

httpd網頁身份認證

httpd網頁身份認證


1.2 身份認證類基本指令

httpd網頁身份認證

基於basic類型的認證就這麼幾個指令,最主要的還是require指令的使用。更多的認證方法見官方手冊的auth類模塊。

1.3 Require指令

該指令只能放在Directory容器中,用於控制對目錄的訪問許可權。它的主要功能是由mod_authz_core模塊提供,但有些身份認證類模塊也提供它額外的功能,這時它可以放在< Directory >、< Files >或< Location >容器中。

主要功能:

  • Require all granted

    無條件允許所有人訪問該目錄

  • Require all denied

    無條件拒絕所有人訪問該目錄

  • Require env env-var [env-var] ...

    只有給定的環境變數var-env已經定義才允許訪問該目錄

  • Require method http-method [http-method] ...

    只有給定的HTTP請求方法才允許訪問該目錄,如只允許GET才能訪問

  • Require expr expression

    只有給定的表達式為true才允許訪問該目錄

身份認證類模塊提供的require指令功能包括:

  • mod_authz_user為require指令提供的功能:

  • Require user userid [userid] ...:認證列表中只有指定的userid才能訪問

  • Require valid-user:認證列表中的所有用戶都可以訪問

  • mod_authz_groupfile為require指令提供的功能:

  • Require group group1 [group2] ...:指定組內的用戶都可以訪問

  • 本地文件系統身份參考類:

  • Require file-owner:要求web用戶名必須和請求文件的uid對應的username完全相同

  • Require file-group:要求web用戶名必須為請求文件的gid組中的一員

  • mod_authz_host為require指令提供的ip和host功能:

  • Require ip 192.168.1.104 192.168.1.205

  • Require ip 10.1

  • Require ip 10 172.20 192.168.2

  • Require ip 10.1.0.0/255.255.0.0

  • Require ip 10.1.0.0/16

  • Require host www.example.org

  • Require host example.org

  • Require host .net example.edu

  • Require local

可以在require指令後緊跟not關鍵字,表示取反。例如"require not group group1"、"require not local"等。

還支持require條件容器,包括< RequireAll >、< RequireAny >和< RequireNone >,當require指令沒有寫在任何Require容器中時,它們隱式包含在一個< RequireAny >容器中。

  • < RequireAll >:其內封裝的Require指令必須全都不能失敗,且至少有一個成功時,該容器成功。如果其內所有指令既不成功又不失敗,則該容器中立。其餘所有情況都會導致該容器失敗。

  • < RequireAny >:其內封裝的Require指令只要有一個成功,該容器就成功。如果其內所有指令既不成功又不失敗,則該容器中立。其餘所有情況(即全部失敗時)都會導致該容器失敗。

  • < RequireNone >:其內封裝的Require指令只要有一個成功時該容器就失敗,否則就中立。

1.4 web身份認證示例

以最常見的Basic認證方式為例。支持基於用戶的認證和基於組的認證。

1.4.1 基於用戶的認證

先創建一個web用戶及其密碼列表文件。其內有4個用戶:Jim、Bob、Alice和Tom。

httpd網頁身份認證

再測試訪問。

httpd網頁身份認證

1.4.2 基於組的認證

基於組的認證只需創建一個組文件,文件中包含的是組名和組中用戶成員。

例如,將Tom和Alice加入到allow組,使它們也可以訪問a.com目錄。

httpd網頁身份認證

再重啟進行測試。


學IT,就來中公優就業:http://www.ujiuye.com/

更有海量免費乾貨:http://xue.ujiuye.com

500萬的就業基金等你拿:http://www.ujiuye.com/zt/jycj/?wt.bd=lsw41106sh

什麼?海量IT學習資料白給你都不要?別想了,加群搶:584539956

本文作者:駿馬金龍

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT優就業 的精彩文章:

CSS常見布局方式
python郵件SMTP的GUI編程
web端 css hack
css|浮動和清除浮動
MYSQL INNODB引擎下:根據.frm和.ibd文件恢復表結構和數據

TAG:IT優就業 |