私はローカルのSubversionサーバー上のリポジトリへのアクセスを制限しようとしています。私はApacheとdav_svn_module
とauthz_svn_module
を使って設定しました。現在、それはうまく動作している、ユーザーのログイン、およびうまくいっています。DAV svnアクセスを設定するには?
私が達成したいのは、1人のユーザーだけが読み書きできる単一のリポジトリです。
<Location /svn>
DAV svn
SVNParentPath /var/www/svn
# Limit write permission to list of valid users.
<LimitExcept GET PROPFIND OPTIONS REPORT>
# Require SSL connection for password protection.
# SSLRequireSSL
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile /etc/svn-auth-users
Require valid-user
AuthzSVNAccessFile /etc/svnauthz.conf
</LimitExcept>
</Location>
マイ/etc/svnauthz.conf
は、次のようになり、次のように
私/etc/httpd/conf.d/subversion.conf
は
[groups]
devs = david.yell,user2,user3
[/]
$authenticated = rw
@devs = rw
* =
はしかし、これは現在、理想的な未満であるサーバー、上のすべてのリポジトリへのアクセスを制限されています。単一のリポジトリに固有のアクセスを設定するにはどうすればよいですか?
さらに、これは内部サーバーなので、プロダクションのためのアドバイスはありますが、それは必須ではありません。
更新
私は、リファレンスとしてこれを使用しようとしているhttp://svnbook.red-bean.com/en/1.4/svn.serverconfig.pathbasedauthz.htmlが、それは具体的には、ここで
を引用しています、今
[groups] devs = david.yell,user2,user3 [ProtectedRepo:/] david.yell = rw * = [/] $authenticated = rw @devs = rw * =
を私
svnauthz.conf
ファイルを更新しました:セクション名の値は フォーム[repos-name:path]またはフォーム[path]のいずれかです。 SVNParentPathディレクティブを使用している場合は、セクション内にリポジトリ の名前を指定することが重要です。それらを省略すると、 [/ some/dir]のようなセクションはすべてのリポジトリのパス/ some/dirと一致します。
これは、サーバー上のすべての単一リポジトリを宣言する必要があることを意味しますか?現在約30です
リポジトリ/パスのユーザーへのアクセスを設定します。 http://svnbook.red-bean.com/en/1.4/svn.serverconfig.pathbasedauthz.html –
リンクをありがとう、私は今この設定があります。しかし、私の '保護された;レポはアクセスを許可しません。 –
あなたが使っている "$ authenticated"構文についての発言:私はこれが存在するかどうかはわかりませんでした。これはどこかに書かれていますか?私はhttp://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_repos/authz.cでしか見つけることができません –