<-
Apache > HTTP 伺服器 > 文件 > 2.4 版 > 模組

Apache 模組 mod_authz_owner

可用語言:  en  |  fr  |  ja  |  ko 

說明根據檔案擁有權進行授權
狀態擴充功能
模組識別碼authz_owner_module
原始檔mod_authz_owner.c
相容性可在 Apache 2.1 及更新版本使用

摘要

此模組透過比較用於 HTTP 驗證的使用者 ID(網頁使用者 ID)與請求檔案的檔案系統擁有者或群組,授權存取檔案。提供的使用者名稱和密碼必須已透過驗證模組正確驗證,例如 mod_auth_basicmod_auth_digestmod_authz_owner 辨識 Require 指令的兩個參數:file-ownerfile-group,如下所示

檔案擁有者
所提供的網頁使用者名稱必須與正在請求之檔案的系統擁有者名稱相符。亦即,如果作業系統指示所請求之檔案為 jones 擁有,則用於透過網頁存取該檔案的使用者名稱也必須為 jones
檔案群組
擁有此檔案的系統群組名稱必須出現在群組資料庫中,例如 mod_authz_groupfilemod_authz_dbm 提供的群組資料庫中,而且網頁使用者名稱必須是該群組的成員。例如,如果作業系統指示所請求的檔案屬於(系統)群組 accounts,則群組 accounts 必須顯示在群組資料庫中,而且請求中使用的網頁使用者名稱必須是該群組的成員。

注意

如果使用 mod_authz_owner 授權在檔案系統中實際上不存在的資源( 虛擬資源),它會拒絕存取。

特別是,它絕不會授權 內容協調「MultiViews」 資源。

Support Apache!

主題

指令

此模組未提供任何指令。

錯誤修訂清單

另請參閱

top

組態範例

需要檔案擁有者

考量執行 Apache Web 伺服器的多使用者系統,每個使用者都在 ~/public_html/private 中擁有自己的檔案。假設有一個清單中包含所有他們網路使用者的單一 AuthDBMUserFile 資料庫,而且這些使用者名稱與實際上擁有伺服器上檔案的系統使用者名稱相符,那麼以下節會僅允許使用者自己存取自己的檔案。使用者 jones 將無法存取 /home/smith/public_html/private 中的檔案,除非它們是由 jones 而不是 smith 所擁有。

<Directory "/home/*/public_html/private">
    AuthType Basic
    AuthName MyPrivateFiles
    AuthBasicProvider dbm
    AuthDBMUserFile "/usr/local/apache2/etc/.htdbm-all"
    Require file-owner
</Directory>

需要檔案群組

考量一個與上述所描述的系統類似的系統,但是其中一些使用者分享他們的專案檔案在 ~/public_html/project-foo 中。這些檔案是由系統群組 foo 所擁有,而且有一個單一 AuthDBMGroupFile 資料庫,其中包含所有網路使用者名稱及其群組成員資格,也就是說,他們至少必須是名為 foo 的群組成員。因此,如果 jonessmith 都是群組 foo 的成員,那麼他們兩個都可以被授權存取彼此的 project-foo 目錄。

<Directory "/home/*/public_html/project-foo">
    AuthType Basic
    AuthName "Project Foo Files"
    AuthBasicProvider dbm
    
    # combined user/group database
    AuthDBMUserFile  "/usr/local/apache2/etc/.htdbm-all"
    AuthDBMGroupFile "/usr/local/apache2/etc/.htdbm-all"
    
    Satisfy All
    Require file-group
</Directory>

可用語言:  en  |  fr  |  ja  |  ko 

top

評論

請注意
這不是問答區。放在這裡的評論應該是針對改善文件或伺服器的建議,而且如果我們的版主發現它們已經被實作或被視為無效/離題,可能會將其移除。有關如何管理 Apache HTTP 伺服器的問題,應導向到我們的 IRC 頻道,#httpd,在 Libera.chat 上,或寄送給我們的郵寄清單