吉山です。
mod_auth_ldap による認証で、ファイル/ディレクトリの所有者に認証を制限す
る機能を作ってみました。
例えば1万人のユーザのホームディレクトリに対し、WebDAVのアクセスを個々の
ユーザに制限したい場合、従来は1万ディレクトリ分の設定ファイルを書く必要が
ありましたが、それが単一の設定で済むようになります。
但し、ファイルの所有者に依存するという事は、diskquota パッチとの併用が前
提になります。
■コンパイル方法
1.Apache 2.0.47のソースを展開し、添付のパッチを当ててください。
# cd httpd-2.0.47
# patch -p2 < 017_mod_auth_ldap_require_owner
2.普通にコンパイル、インストールしてください。
■設定方法
mod_auth_ldap 用のディレクティブが1つ追加になります。
AuthLDAPCheckOwner <on|off>
on にすると、認証時に認証対象をファイル/ディレクトリの所有者に限定します。
(以前のパッチと異なり、安全性の為に行っていた URL 対象がファイル/ディレク
トリであるかどうかと、root であるかどうかのチェックをしません。)
■設定例
<Directory "/home/*/public_html">
Dav On
Options Indexes FollowSymLinks
AllowOverride None
order allow,deny
allow from all
AuthName "LDAP password required"
AuthType Basic
AuthLDAPUrl "ldap://ldapserver.yourdomain.or.jp:389/ou=People,dc=yourdomain,dc=or,dc=jp?uid?sub"
AuthLDAPCheckOwner on
<Limit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
require valid-user
</Limit>
</Directory>
---
吉山あきら<yosshy@xxxxxxxxxxxx>
Attachment:
017_mod_auth_ldap_require_owner
Description: Binary data