AUTH -- 身份认证

王朝other·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

新建祕密基地 所屬資料夾(本範例是假設祕密基地位於 /usr/local/apache/sec )

cd /usr/local/apache

mkdir sec

這個祕密基地必須要有二個檔案:

.htaccess 設定檔

.htpasswd 帳號、密碼檔

建立 /usr/local/apache/sec/.htaccess

cd /usr/local/apache/sec

.htaccess 檔案的範例如下:(使用vi編輯器)

AuthName "祕密基地"

AuthType Basic

AuthUserFile "/usr/local/apache/sec/.htpasswd"

require valid-user

建立 /usr/local/apache/sec/.htpasswd

用 touch 指令建立空檔案:

touch .htpasswd

再用 htpasswd 指令一筆筆新增帳號與密碼(htpasswd程式應當與httpd放在同一資料夾中,找找看。):

htpasswd -m .htpasswd $username (一次建立一筆,$username是帳號,系統稍後會要求您輸入密碼)

htpasswd -b .htpasswd $username $passwd (一次建立一筆,$username是帳號,$passwd是該帳號之密碼,系統不會出現要求您輸入密碼的對話)

只有打htpasswd的話,系統會顯示出相關的語法。

設定相關檔案權限(應依據httpd.conf中之User、Group的設定值而決定檔案擁有者是誰--該檔案的讀取權與suExec有關):

chown nobody.nogroup .ht*

chmod 600 .ht*

用 ls -al指令檢查,結果如下:

drwxr-xr-x 2 nobody nogroup 512 28 Dec 17:18 .

drwxrwxr-x 34 nobody nogroup 1024 28 Dec 17:12 ..

-rw-r--r-- 1 nobody nogroup 97 28 Dec

17:36 .htaccess

-rw-r--r-- 1 nobody nogroup 130 28 Dec 18:38 .htpasswd

--

編輯 Apache Server 的設定檔:httpd.conf

自行加入下列四行:

Alias /sec/ "/usr/local/apache/sec/"

<Directory "/usr/local/apache/sec">

AllowOverride All

</Directory>

(如果還有其他目錄要如此,請比照。)

重新啟動 Apache Server

apachectl restart

使用網頁瀏覽器測試祕密基地

在網址列輸入 httpd://貴校網址/sec/

例如

請問於 Apache Server 中,如何避免讓別人以瀏覽目錄方式看到User的檔案表列?

修改 httpd.conf 中有關 User 網頁設定的部份:

<Directory /home/*/public_html>

Options MultiViews Indexes SymLinksIfOwnerMatch Includes ExecCGI

AllowOverride None

Order allow,deny

Allow from all

</Directory>

將其中之

AllowOverride None

改為

AllowOverride All

然後重新啟動Apache。

--------------------------

User只要建立$HOME/public_html/.htaccess檔案,並寫入一行:

Options -Indexes

--------------------------

http://www.lab.mlc.edu.tw/~lulu/

http://www.lab.mlc.edu.tw/~tim/

這兩個網址都沒有 index.html

lulu沒有建立.htaccess,而tim則建立了.htaccess。

上面的例子是User的網站設定,系統主網站的設定方式可比照辦理。

只允許特定網域(如學術網域 .edu.tw)才能瀏覽網頁:

假設是 http://www.lab.mlc.edu.tw/~tim/test_allow/ 這個資料要做管制,請於該資料夾中再建立 .htaccess ,並設定如下:

Order deny,allow

Deny from all

Allow from .edu.tw

先deny再allow,把全部的連線都deny掉之後,才allow部份的連線。

測試網址:http://www.lab.mlc.edu.tw/~tim/test_allow/

這個資料夾有建立 index.html 。

PS.我真的是這樣設,所以只有學術網路的朋友才能看見該測試網頁,而且你的IP要有FQDN。

這些是我在臺中師院宿網中測試,宿網似乎強制經過proxy系統,中師的proxy有FQDN,但是它的parent卻沒有,所以目前這個proxy系統的FQDN是不正常的,我自己要看也很困難。

這裡除了使用FQDN方式來設定,您也可以使用IP的方式,例如:

Allow from 163.19.

修改過 .htaccess 檔案後,不需要重新啟動 Apache ,設定值可立即生效。

最後再強調一次,要讓 .htaccess 檔案的設定能讓 Apache 讀取與生效,必須在 httpd.conf 中相關目錄的 AllowOverride 的值設定為 All 。

參考書目:

博碩文化--Apache Server徹底研究,頁106認證和安全組態指令。

旗標--Apache Server管裡手冊,頁3-48驗證與安全指示命令。

清大網管班88.12.22作業

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航