2009年7月7日火曜日

"mod_authz_svn"でSVNのアクセス制限

スズキです。

"mod_authz_svn"でSubversionのリポジトリに、パスベース認証を設定できます。
下記のように、AuthzSVNAccessFileディレクティブを利用します。

--------【subversion.conf】--------
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
  DAV svn
  SVNParentPath /var/lib/svn
  AuthType Basic
  AuthName "Authorization Realm"
  AuthBasicProvider ldap
  AuthLDAPUrl ldap://127.0.0.1/o=aws,dc=suz-lab,dc=com
  AuthzLDAPAuthoritative off
  Require valid-user
  AuthzSVNAccessFile /etc/httpd/conf.d/subversion.access
</Location>
--------

AuthzSVNAccessFileディレクティブで指定するファイルは、下記のようになります。

--------【subversion.access】--------
[groups]
staff = suzuki1,suzuki2

[/]
@staff = rw

[suz-lab-apps:/]
suzuki3 = rw
suzuki4 = rw
--------

上記はsuzuki1、suzuki2が所属するstaffというグループを作成し、
そのグループはすべてのリポジトリに対して、読み込み(r)、書き込み(w)、が可能。

"suz-lab-apps"リポジトリに関しては、さらに、suzuki3、suzuki4、も
読み込み(r)、書き込み(w)、ができるようにしています。

ファイルだけじゃなくて、LDAPやDBとの連携もできたらいいのになー。

--
http://www.suz-lab.com

0 コメント: