apache訪問許可權與驗證

2021-06-23 00:24:57 字數 3589 閱讀 6260

允許所有請求訪問資源

require all denied

拒絕所有請求訪問資源

require env env-var [env-var] ...

當指定環境變數設定時允許訪問

允許指定的http請求方法訪問資源

require expr expression

當expression返回true時允許訪問資源

require user userid [userid] ...

允許指定的使用者id訪問資源

require group group-name [group-name] ...

允許指定的組內的使用者訪問資源

require valid-user

所有有效的使用者可訪問資源

require ip 10 172.20 192.168.2

允許指定ip的客戶端可訪問資源

require not group select

select組內的使用者不可訪問資源

以下中的表示可選項,實際中不能包含及其內容

一、指定目錄的authtype

authtype basic [none | basic | digest | form]

二、設定authname,該資訊將在客戶端提醒框上顯示

authtype basic [none | basic | digest | form]

authname "entry username and password"

三、指定authuserfile,指定使用者名稱和密碼存放的檔案,密碼檔案的建立參考附錄一

authtype basic [none | basic | digest | form,後三種為不同的加密方式]

authname 請輸入使用者名稱和密碼

authuserfile /usr/file/password

四、設定驗證方式

authtype basic [none | basic | digest | form]

authname "entry username and password"

authuserfile /usr/file/password

require user rote  [驗證方式參考 

附錄一、建立使用者資訊檔案

使用 htpasswd -c /root/apache2/auth/password rote 123

若authtype使用的是digest,則是用htdigest建立金鑰檔案

建立檔案passwd,並初始建立使用者rote,密碼123

驗證、客戶端訪問時會提示「entry username and password」,輸入rote/123才可訪問資源

以下是乙個簡單的目錄上下文配置

authtype basic

authname document

authuserfile /root/apache2/auth/passwd

require user rote

上面是通過authusertype指定的使用者資訊檔案,還可通過下面兩種方式設定授權,效果同上

一、使用者檔案

pwdfile>   

authuserfile /root/apache2/auth/passwd

authtype basic

authname document

authbasicprovider pwdfile

require user rote

二、ldap

authldapbinddn cn=rote,o=ctx

authldapbindpassword 123

authldapurl ldap:

authldapbinddn cn=rote,o=dev

authldapbindpassword 123

authldapurl ldap:

authbasicprovider ldap1 ldap2

authtype basic

authname ldap

require valid-user

authuserfile /root/apache2/auth/userfile

allowoverride none

authtype basic

authname "entry username and password"

authbasicprovider ufile

require valid-user

假如有成百上千個使用者在userfile檔案中,那麼使用這種方式效率極低,應使用

authdbmuserfile,使用步驟如下

1.1 使用htdbm生成dbm檔案

./htdbm -bc /root/apache2/auth/userdbm dbm1 dbm1

上述命令將生成userdbm.dir和userdbm.pag檔案,並建立使用者dbm1,密碼dbm1

1.2 配置authdbmuserfile

allowoverride none

authtype basic

authname "entry username and password"

authbasicprovider dbm

authdbmuserfile /root/apache2/auth/userdbm

按照上述配置後,訪問資源需提供userdbm中存在的使用者。

二、authdbmgroupfile

allowoverride none

authtype basic

authname "entry username and password"

authbasicprovider dbm

authdbmuserfile

/root/apache2/auth/userdbm

authgroupfile /root/apache2/auth/groupfile

require group group1

上述指定只有組group1中的使用者可訪問資源,同樣,如果groupfile中的資料很多,

效率也會很低,應使用authdbmgroupfile,使用如下

allowoverride none

authtype basic

authname "entry username and password"

authbasicprovider dbm

authdbmuserfile /root/apache2/auth/userdbm

authdbmgroupfile /root/apache2/auth/groupfile

require group group1

注:當使用authbasicprovider dbm時,原authuserfile即使指定了apache也不會載入使用其中的使用者!

Apache訪問驗證方式

require all granted 允許所有請求訪問資源 require all denied 拒絕所有請求訪問資源 require env env var env var 當指定環境變數設定時允許訪問 允許指定的http請求方法訪問資源 require expr expression 當exp...

Apache訪問許可權設定

本文的httpd版本號為httpd 2.4.4,事先關閉防火牆和selinux。要想實現linux下apache對web頁面的訪問控制許可權設定,主要需要修改的是 etc httpd httpd.conf這個檔案 切記 一旦修改 etc httpd httpd.conf必須重啟httpd服務,否則不...

Apache目錄訪問許可權配置詳解

給指定的資料夾配置對應的訪問許可權是apache配置中的基礎應用,也是apache使用者的必備技能之一。在apache配置檔案中,給指定目錄設定基本的訪問許可權,主要是靠allow deny order三個指令的配合使用來實現的。1.allow指令 allow指令的作用與其英文單詞的含義一致,用於設...