Q:リポジトリ内でアクセス制限する方法
Subversionリポジトリ内でのアクセス権限についてご質問です。 現在のプロジェクトでは特定のグループに対しては特定のフォルダのみアクセスの許可を与えたいと思っております。
最下層のフォルダのみのファイル閲覧可能という設定は可能でしょうか? 中間フォルダにおいてあるファイルへのアクセス制限を掛けたいのですがこのような設定は可能なのでしょうか?
A:最下層のフォルダのみファイル閲覧可能という設定は可能です
設定は可能です。
trunk の配下が以下のような構造になっているとします。
https://***.tracpath.com/svn/reponame/trunk/ + foo/ + foo/bar/ + foo/bar/baz/ + foo/bar/baz/qux/ + foo/bar/baz/qux/file1.txt + foo/bar/baz/qux/file2.txt
trunk/foo/ 配下を見せないが trunk/foo/bar/baz/qux/ 配下にだけ見せたい場合は以下のように設定します。
[reponame:/trunk/foo] username = [reponame:/trunk/foo/bar/baz/qux] username = rw
また trunk/foo/ 配下を見せないが trunk/foo/bar/baz/qux/file2.txt だけ見せたい場合は以下のようにと設定ください。
[reponame:/trunk/foo] username = [reponame:/trunk/foo/bar/baz/file2.txt] username = rw
Subversionのアクセス制御もご確認ください。
追加Q:ブラウザからのアクセスはできたがチェックアウトができない
上記の設定で特定のファイルへのみアクセス許可を与えたところ、ブラウザからのアクセスはできたのですがファイルのチェックアウトを試みたところ、親フォルダへのアクセス権限が無いためチェックアウトができませんでした。 ファイルをチェックアウトしたい場合は親フォルダに閲覧権限を与える必要があるということでしょうか?
A:チェックアウトができないため事実上コミットできません
そのご認識であっています。
ファイルにだけ権限を設定する場合 svn cat URL コマンド(または svn export URL) でそのファイルを取り出すことは可能ですが、チェックアウトができないため事実上コミットできません。
関連ページ