大学のラボ用にSVNサーバー(Windows XPマシン))をセットアップしました。現在、誰でも匿名でリポジトリにアクセスしてコミットできます。
ADドメインの特定のユーザーのみにリポジトリへのアクセスを許可したい。可能であれば、パスワードもドメインのパスワードと同じにする必要があります。
これは可能ですか?
Mod_auth_sspiをインストールし、httpd.confを次のように構成しました。
DAV svn SVNPath "R:\ SVN"
AuthName "SVN Server"
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIDomain AD
SSPIOfferBasic On
Require valid-user
AuthzSVNAccessFile "r:/svn/svnaccess.conf"
およびsvnaccess.conf内:
[groups]
dev = AD\user1, user1, AD\user2, user2
[/]
@dev = rw
Apacheを使用している場合は、はい。 mod_auth_sspiがインストールされていることを確認してください。次に、適切な設定でディレクトリを構成します。
<Directory />
Options FollowSymLinks
AllowOverride None
AuthType SSPI
AuthName "YOURDOMAIN"
SSPIAuth On
SSPIAuthoritative Off
SSPIDomain dc.yourdomain.com
SSPIOmitDomain Off
SSPIOfferBasic On
SSPIUsernameCase lower
Require group "YOURDOMAIN\AuthorizedGroup"
</Directory>
Svnpasswdファイルでは、完全なドメイン名でユーザーを指定するだけです。
developers = mydomain\myuser
[/]
@developers = rw
それが少し役立つことを願っています。
Subversionがどのように提供されるかを明示的に述べていませんが、タグに基づいて、Apacheを想定しています。 Apache 2.2を使用して、ADによる認証でSubversionを提供するのは非常に簡単です。
Apache構成で、適切なAuthパラメーターをリポジトリーのロケーション・ブロックに追加する必要があります。
例(制限された読み取りおよび書き込みアクセス):
<Location /repo>
DAV svn
SVNPath /var/svn/repo
AuthName "Subversion WebDAV"
AuthType Basic
AuthLDAPURL "<ldap_url>"
AuthLDAPBindDN "<ldap_bind_dn>"
AuthLDAPBindPassword "<password>"
Require valid-user
</Location>
ADへの接続に使用するApacheのサービスアカウントを設定するには、AD管理者に相談する必要がある場合があります(ADで検索を実行する前にバインドする必要がある場合)。
ユーザーに書き込みの認証を要求しながら匿名の読み取りを許可する場合は、上記のRequire valid-user
行を次のように置き換えます。
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
WindowsでSubversionリポジトリをホストするための他の2つのオプションは、SVNIsapiとVisualSVNです。
SVNIsapi はIISプラグインIIS 6.0以降。ADセキュリティはIISによって提供されます。
Visual SVN リポジトリを管理するためのApache、svn、およびGUIツールがバンドルされています。 ADセキュリティはApacheモジュールによって提供され、GUIツールを介して構成されます。