다중 SVN 저장소 로그인

다중 SVN 저장소 로그인

우분투 시스템이 있고 거기에 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

Apache 서버 대신 svnserve를 사용하십시오. 생성한 저장소 내에서 conf 디렉터리를 찾을 수 있습니다. 원하는 텍스트 편집기를 사용하여 다음 변경 사항으로 다음 파일을 편집합니다.


svnserve.conf에서 다음 주석을 제거하세요: [general]

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

저장소는 다음 URL을 사용하여 svn 클라이언트를 사용하여 액세스할 수 있습니다.

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

관련 정보