Apache HTTP Server 2.4 版本
說明 | 使用 DBM 檔案進行群組授權 |
---|---|
狀態 | 擴充 |
模組識別 | authz_dbm_module |
來源檔案 | mod_authz_dbm.c |
相容性 | 在 Apache 2.1 及更高版本中提供 |
此模組提供授權功能,讓已驗證使用者能夠透過群組身分來允許或拒絕存取網站的部分內容。類似的功能由 mod_authz_groupfile
提供。
Apache 的 Require
指令在授權階段使用,以確保使用者能存取資源。mod_authz_dbm 將授權類型擴充為 dbm-group
。
自 v2.4.8 起,在 DBM require 指令中 支援運算式。
此指令指定使用者取得存取權所需的群組身分。
Require dbm-group admin
如果指定此指令,使用者必須是正在存取之檔案指定群組的成員。
Require dbm-file-group
請注意,使用 mod_authz_dbm 需要您要求 dbm-group
,而不是 group
<Directory "/foo/bar"> AuthType Basic AuthName "Secure Area" AuthBasicProvider dbm AuthDBMUserFile "site/data/users" AuthDBMGroupFile "site/data/users" Require dbm-group admin </Directory>
說明 | 設定載有授權使用者群組清單的資料庫檔名稱 |
---|---|
語法 | AuthDBMGroupFile 檔案路徑 |
內容 | 目錄、.htaccess |
覆寫 | AuthConfig |
狀態 | 擴充 |
模組 | mod_authz_dbm |
AuthDBMGroupFile
指令設定包含使用者授權使用者群組清單的 DBM 檔案名稱。 File-path 是群組檔案的絕對路徑。
群組檔案是以使用者名稱為金鑰。使用者的值是以逗號分隔的群組清單,使用者所屬的群組。值內不能有空白,並且不能包含任何冒號。
請確定 AuthDBMGroupFile
儲存在網頁伺服器的文件樹外部。不要將它放在它所保護的目錄中。否則,客戶端將可以下載 AuthDBMGroupFile
,除非另作保護。
結合群組和密碼 DBM 檔案:在某些情況下,管理包含每個使用者的密碼和群組詳細資料的單一資料庫會比較容易。這簡化了任何需要編寫的支援程式:它們現在只需要負責寫入和鎖定單一 DBM 檔案即可。這可透過先設定群組和密碼檔案指向同一個 DBM 來達成
AuthDBMGroupFile "/www/userbase" AuthDBMUserFile "/www/userbase"
單一 DBM 的金鑰是使用者名稱。值包含
加密密碼:群組清單 [: (略過)]
如前所述,密碼部分包含加密密碼。其後是冒號和以逗號分隔的群組清單。可在另一個冒號後選擇性地在 DBM 檔案中留下其他資料;授權模組會略過它。這是 www.telescope.org 用於其結合密碼和群組資料庫的方式。