Apache訪問許可權設定

2021-08-03 12:42:54 字數 3322 閱讀 9115

本文的httpd版本號為httpd-2.4.4,事先關閉防火牆和selinux。

要想實現linux下apache對web頁面的訪問控制許可權設定,主要需要修改的是/etc/httpd/httpd.conf這個檔案

切記:一旦修改/etc/httpd/httpd.conf必須重啟httpd服務,否則不能生效。(後面一旦修改檔案自行重啟,我們將不在提到這部分)

我們主要修改

/etc/httpd/httpd.conf裡的這一部分內容

documentroot "/usr/local/apache/htdocs"

options indexes followsymlinks

allowoverride none

require all granted

本機的ip位址為192.168.109.1,虛擬機器的ip位址為192.168.109.40

require all granted :允許所有主機訪問

require all deny:拒絕所有主機訪問

1、基於ip的訪問控制訪問

要想實現基於ip的訪問控制許可權,只需將

require all granted修改為

require ip ip位址。

例如:

現在我們想要192.168.109.4這個ip位址訪問,其餘都不可以訪問只需要

require all granted修改為

require ip 192.168.109.4,我們用主機訪問web頁面時就會出現下圖的情況表示192.168.109.1這個ip沒有訪問許可權。

現在我們想讓主機也有訪問許可權,再加一句

require ip 192.168.109.1即可。如下圖

2、基於主機名的訪問控制訪問

我們主機的ip位址是192.168.109.1,主機名為hxk-pc,把這行內容加進去,如下面:

然後修改

require all granted修改為

require host hxk-pc即可。

例子:documentroot "/usr/local/apache/htdocs"

如果require host hxk-pc,隨便改乙個主機名www.a.com,由於本地主機不是這個主機名,所以會出現下面這個訪問頁面

3、基於使用者的訪問控制訪問

對於某些特定web頁面,我們僅想讓某部分人通過密碼訪問,這就需要用基於使用者的訪問控制許可權

這一項對於httpd-2.4.4可能有問題,我實驗了一上午也沒有成功,最後找到這篇文章。

換做httpd-2.4.3實現這個功能

首先建立使用者

hypasswd -c -m /usr/local/apache/htpasswd tom  (建立了tom使用者)

注意:首次建立時需要加-c,第二次新增使用者時一定不能加-c

然後輸入密碼即可

最後修改httpd.conf這個配置檔案

documentroot "/usr/local/apache/htdocs"

options indexes followsymlinks

allowoverride authconfig

authtype basic

authname "restricted files"

authuserfile /usr/local/apache/htpasswd

require valid-user

需要說明一下:authuserfile的路徑就是剛才建立使用者的路徑。

如果使用 require valid-user表示使用者檔案裡的所使用者用都可以登入。

require user tom表示只要剛才建立檔案裡的tom使用者可以登入。

如圖輸入密碼就可以訪問。

4、基於組的訪問控制訪問

在3的前提下,在建立乙個使用者

htpasswd -m /usr/local/apache/htpasswd jerry

因為是基於組的,所以建立組

vim /usr/local/apache/groups,然後新增組名為mygroup:tom jerry

最後修改配置檔案

documentroot "/usr/local/apache/htdocs"

options indexes followsymlinks

allowoverride authconfig

authtype basic

authname "restricted files"

authuserfile /usr/local/apache/htpasswd

authgroupfile /usr/local/apache/groups

require group mygroup 

ubuntu server 14.04 安裝web伺服器(linux+apache+mysql+php)  

linux下安裝配置php環境(apache2)  

ubuntu 13.04 安裝 lamp\vsftpd\webmin\phpmyadmin 服務及設定

centos 5.9下編譯安裝lamp(apache 2.2.44+mysql 5.6.10+php 5.4.12) 

redhat 5.4下web伺服器架構之原始碼構建lamp環境及應用phpwind 

Apache2 4訪問許可權設定

require all granted 允許所有 訪問 require all denied 拒絕所有 訪問 require local 僅允許本地訪問 require ip 192.168.1.192.168.1.僅上述ip能夠訪問 每個ip空格隔開 require host com 僅允許 co...

apache訪問許可權與驗證

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

apache 設定目錄許可權控制

1。首先要有apache 的認證模組,預設都會安裝。2.編輯httpd.conf檔案 修改工作目錄下的配置,將allowoverride 更改為 authconfig 3.用htpasswd建立乙個密碼檔案,比如檔案名叫 my.pass 建立htpasswd c b my.pass myuserna...