close
對目錄設密碼保護
在網頁伺服器中,可能有某些特定的目錄只能允許特定人存取
因此必須在該網頁目錄上加上密碼
讓使用者瀏覽到該網頁時必須輸入帳號與密碼才能瀏覽該網頁
以下將介紹如何達成目錄設密碼的功能
1. 開放網頁認證功能 |
目前 Apache 已經採用 DSO (動態公用物件) 的機制 |
因此要啟用目錄密碼保護的功能就必須在啟動伺服器時 |
同時載入 mod_auth 模組 |
請開啟 httpd.conf 設定檔 |
# vi /etc/httpd/conf/httpd.conf |
找到下面的參數行段 |
... |
如果前方有 # 註解符號請 刪除 該 # 註解符號以啟動該功能 |
接著請存檔離開 :wq 並重新請動 Apache 伺服器 |
2. 啟動目錄認證功能 |
接下來管理者則到要開放密碼保護的目錄之參數區塊中 |
加入相關參數使目錄認證功能生效 |
開啟 httpd.conf 設定檔 |
# vi /etc/httpd/conf/httpd.conf |
跳到要啟動密碼保護的目錄參數設定區塊中 |
... |
AllowOverride All 將此項目設定時改為 All 啟動目錄認證功能 |
... 以下參數保持不變 |
存檔離開 :wq |
3. 設定保護目錄的設定檔名稱 |
啟動伺服器的目錄認證功能之後,網頁就可以在需被保護的目錄下 |
自行編寫設定檔,已決定要如何保護此目錄 |
預設值是指定 .htaccess 為預定檔的名稱 |
AccessFileName .htaccess |
其 .htaccess 將在稍後第 7 點介紹 |
4. 建立密碼檔 |
假設管理者想為 test 使用者的 private 網頁目錄作密碼保護 |
並允需 test 的使用者讀取該目錄即可透過以下方式達成 |
首先請切換到 /home/test/public_html 目錄底下 |
# cd /home/test/public_html |
# htpasswd -c .htpasswd test 建立 .htpasswd 密碼檔並新增 test 帳號 |
New password: 請輸入密碼 |
Re-type new password: 請再輸入密碼一次 |
Adding password for user test 看到此行就代表成功的完成新增帳號了 |
當完成以上設定後將再該目錄底下新增一個叫做 .htpasswd 密碼檔 |
我們可以開啟 .htpasswd 密碼檔了解一下內容 |
# cat .htpasswd |
其內容如下 |
test : pbgGjiFilzy 格式為 --> 帳號:編譯過的密碼 |
5. 新增其他使用者 |
在密碼檔 .htpasswd 建立好後,可以再以 htpasswd 指令在新增其他使用者 |
# htpasswd .htpasswd iris |
New password: |
Re-type new password: |
Adding password for user iris |
在完成密碼檔 .htpasswd 建立後在新增使用者時 |
htpasswd 指令後不要再加上 -c 參數就可以直接輸入新的帳號來新增 |
如果後面有再加上 -c 參數後那將會再創一個新的密碼檔 |
但是之前輸入的密碼檔將會被覆蓋過去喔 |
6. 修改使用者密碼 |
建立好密碼檔之後,如果想在更改已設定好的密碼 |
即可執行 htpasswd -m 指令修改 |
# htpasswd -m .htpasswd test 要修改 test 使用者的密碼 |
New password: |
Re-type new password: |
Updating password for user test |
7. 設定目錄保護方式 |
建立好密碼檔之後,接下來也在該目錄底下編寫 .htaccess 設定檔 |
來設定要如何保護此目錄 |
以下就是簡單的範例,首先請新增一個 .htaccess 檔案 |
# vi .htaccess |
打上以下設定值 |
AuthUserFile /home/test/public_html/ .htpasswd 指定密碼檔路徑(要絕對路徑) |
AuthName "Private directory" 設定顯示出要求輸入帳號與密碼的文字 |
AuthType Basic 設定傳送密碼的編碼方式,此例採用"Basic"方式 |
require valid-user 設定可存取此目錄的使用者 |
valid-user 指允許 .htpasswd 密碼檔內所有使用者皆可存取 |
require user 帳號 -- 此格式是指只能再密碼檔中某一位使用者存取 |
require user test -- 表示該目錄只能給密碼檔中的 test 使用者存取 |
完成後請存檔離開 :wq |
接著到 test 使用者網頁瀏覽時會出現要求輸入帳號與密碼視窗即表示完成設定 |
8. 保護設定檔與密碼檔 |
由於 .htaccess 設定檔與 .htpasswd 密碼檔是相當重要檔案 |
所以當然不希望瀏覽者能有機會存取此 2 個檔案 |
此時管理者可在 httpd.conf 設定檔中禁止任何人以網頁方式 |
瀏覽存取該檔案 |
首先請先開啟 httpd.conf 設定檔 |
# vi /etc/httpd/conf/httpd.con |
在設定檔中加入以下設定值 |
... |
Order allow , deny |
Deny form all |
設樣子瀏覽者就無法透過瀏覽器下載瀏覽開頭為 .ht 的檔案了 |
全站熱搜
留言列表