我想限制訪問我的本地Subversion服務器上的存儲庫。我已經使用Apache和dav_svn_module
和authz_svn_module
進行設置。目前它運行良好,用戶登錄,並可以提交罰款。如何配置DAV svn訪問?
我想實現的是一個只能由單個用戶讀取和寫入的單一存儲庫。
我/etc/httpd/conf.d/subversion.conf
如下
<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
如下所示,
[groups]
devs = david.yell,user2,user3
[/]
$authenticated = rw
@devs = rw
* =
然而,這是目前限制訪問所有存儲庫中的服務器,這是不太理想的。我如何着手將訪問配置爲特定於單個存儲庫?
另外,這是一個內部服務器,所以儘管我非常感謝生產建議,但這不是必需的。
更新
我已經更新了我現在svnauthz.conf
文件,
[groups]
devs = david.yell,user2,user3
[ProtectedRepo:/]
david.yell = rw
* =
[/]
$authenticated = rw
@devs = rw
* =
我想用這個作爲參考,http://svnbook.red-bean.com/en/1.4/svn.serverconfig.pathbasedauthz.html但在這裏引用
更具體:部分名稱的值是 表單[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找到它 –