apache是目前流行的web服務器,可運行在linux、unix、windows等操作系統下,它可以很好地解決“用戶名+密碼”的認證問題。apache用戶認證所需要的用戶名和密碼有兩種不同的存貯方式:一種是文本文件;另一種是msql、 oracle、mysql等數據庫。下面以linux的apache為例,就這兩種存貯方式,同時能對windows的 apache用戶認證作簡要的說明。下面我們來介紹下通過文本認證而實現的方式。
建立用戶的認證授權需要三個步驟:
1、建立用戶庫
2、配置服務器的保護域
3、告訴服務器哪些用戶擁有資源的訪問權限
廢話不多少舉例最清楚拉!~假如某一目錄下的文件如/home/ftp/pub需要做到用戶認證
創建認證用戶
|
創建認證組
|
基本的apache用戶認證方法:
在httpd.conf中加入下面的行
|
或者加到 /etc/httpd/conf.d/ 新建個文件名為.conf結尾的配置文件
|
用在目錄/home/ftp/pub下放文件.htaccess,內容如下:
|
用隨apache來的程序htpasswd 生成文件/etc/.passwd,每行一個用戶名:密碼
只要能提供正確的用戶名和密碼對,就允許登錄訪問,這是針對任何地址來的
請求都要求提供用戶名和密碼認證。
針對部分網段或地址要求認證。
若公司lan所在網段為10.45.63.0/24,且有一防火墻專線接入internet,
內部網卡的地址為10.45.63.1/32,則現在希望所有通過撥本地633通過
防火墻上的apache反向代理向lan上的另一www服務器訪問時需要認證,而本地
lan上的用戶不需認證??梢栽趆ttpd.conf中放入:
|
且在/home/ftp/pub/.htaccess中放入:
|
對同一目錄及其下的子目錄有不同的權限,僅某些人可以存取一目錄下的子目錄。
如有一目錄/home/ftp/pub/host,有三個用戶user1,user2,user3都需要用戶名
和密碼進入/home/ftp/pub,但僅user1,user2能進入/home/ftp/pub/host.則
放下面的行到httpd.conf
|
且看/home/ftp/pub/.htaccess為:
authname "shared files"
authtype basic
authuserfile /etc/.passwd
require valid-user
且看/home/ftp/pub/host/.htaccess
authname "shared files"
authtype basic
authuserfile /etc/.passwd
authgroupfile /etc/.hostgroup
require group manager
且文件/etc/.passwd內容為:
user1:passwd1
user2:passwd2
user3:passwd3
且文件/etc/.hostgroup內容為:
manager: user1 user2
新聞熱點
疑難解答