Apache HTTP サーバ バージョン 2.4

| 説明: | ファイルの所有者に基づいた承認 | 
|---|---|
| ステータス: | Extension | 
| モジュール識別子: | authz_owner_module | 
| ソースファイル: | mod_authz_owner.c | 
| 互換性: | Apache 2.1 以降で使用可能 | 
このモジュールはリクエストされたファイルのファイルシステムの
    所有者やグループを HTTP 認証に使われたユーザ ID (ウェブユーザ ID) と
    比較することでアクセスを承認します。提供されたユーザ名とパスワードは
    mod_auth_basic や
    mod_auth_digest のような認証モジュールで既に
    適切に検証されている必要があります。mod_authz_owner
    は以下のように、Require ディレクティブの file-owner と
    file-group という二つの引数を認識します:
file-ownerjones により所有されている
      と言ったときは、ウェブからのアクセスに使われるユーザ名も
      jones でなければなりません。file-groupmod_authz_groupfile や mod_authz_dbm
      により提供されるグループデータベースに存在していて、
      ウェブユーザ名がそのグループに属していなければなりません。
      例えば、オペレーティングシステムがファイルは (システムの) グループ
      accounts により所有されていると言ったときは、
      accounts がグループデータベースに存在して、
      リクエストに使用されたウェブユーザ名がそのグループに属している
      必要があります。ファイルシステムに実際には存在しないリソース
      (つまり バーチャルなリソース) の承認に
      mod_authz_owner が使用されたときは、
      アクセスは拒否されます。
特に、コンテント ネゴシエーションされた"MultiViews" のリソースは 決して承認しません。
複数ユーザのシステムで Apache ウェブサーバが実行されていて、
      ~/public_html/private に各ユーザがファイルを置いているとします。
      AuthDBMUserFile
      データベースが一つだけあり、すべてのウェブユーザ名が列挙されており、
      このユーザ名がサーバで実際にファイルを所有しているユーザ名と一致している場合、
      次の節のような設定で、ユーザが自分自身のファイルにアクセスできるようになります。
      /home/smith/public_html/private の中のファイルは、所有者が
      smith の代わりに jones になっていない限り、
      jones にはアクセスは許可されません。
        <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 というグループに属している、とします。
      jones とsmith の二人共がグループ
      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>