多個SVN儲存庫登錄

多個SVN儲存庫登錄

我有一個 ubuntu 系統並在其上安裝了 subversion。現在我想在其上建立多個儲存庫。所有儲存庫都必須有自己的登入名稱。

例如---example.com/svn/repo1 : user--1

example.com/svn/repo2 :用戶--2

example.com/svn/repo3 :用戶--3

現在 user1 不能存取 repo2 和 repo3。 & user2 不得存取 repo1 & repo3

我可以建立多個儲存庫,但不能建立登入。請幫幫我。

謝謝

答案1

使用 dav_svn_module

這是一個範例conf,請查看SVN書更深入

LoadModule dav_svn_module /usr/lib/apache/mod_dav_svn.so
LoadModule authz_svn_module /usr/lib/apache/mod_authz_svn.so

<IfModule dav_svn_module>
<IfModule authz_svn_module>
<Location /svn>
    DAV svn
    SVNParentPath /svn

    AuthzSVNAccessFile /etc/apache2/svn_authz
    Satisfy Any
    Require valid-user
    AuthType Basic
    AuthName "Subversion repository"
    AuthUserFile /etc/apache2/svn_passwd
</Location>
</IfModule>
</IfModule>

一個授權範例:

cat /etc/apache2/dav_svn.authz

[groups]
admin      = foo
graph      = bar
developers = foo,baz

[/]
*           =
@admin      = rw
@developers = rw
@graph      = r

[/branches/prod/*]
*           =
@admin      = rw

[ZCS:/]
*           =
@admin      = rw
@developers = rw
@graph      = rw

[SYMFONY_PLUGINS:/]
*           =
@admin      = rw
@developers = rw

[SYMFONY:/]
*           =
@admin      = rw
@developers = rw

答案2

使用 svnserve 而不是 Apache 伺服器。在您建立的儲存庫中,您將找到一個 conf 目錄。使用您喜歡的文字編輯器編輯以下文件並進行以下更改:


在 svnserve.conf 中取消註解以下內容:[一般]

anon-access = read(並將讀取更改為無)

auth-access = write

passwd-db = passwd

在 passwd 檔案中新增使用者名稱及其對應的密碼,格式為使用者名稱 = 密碼

[users]
admin = adminspass
dev1 = devspass

在所有儲存庫中進行類似的更改,並使用以下命令啟動 svnserve: svnserve -d --foreground -r /root/dir/of/repo 即,如果您按照許多教程中的說明在 /home/svn 中建立了儲存庫,則該命令將如下所示svnserve -d --foreground -r /home/svn

可以使用任何 svn 用戶端透過以下 URL 存取該儲存庫:

svn://hostname-or-ip/repo-name

相關內容