SVN에 사용자를 추가하는 방법은 무엇입니까?

SVN에 사용자를 추가하는 방법은 무엇입니까?

업데이트 #3: 찾은 것 같아요.
/etc/httpd/conf.d/subversion.conf

<Location /repos>
        DAV svn
        SVNPath /var/www/svn/repos
        AuthType Basic
        AuthName "Subversion repos"
        AuthUserFile /etc/svn-auth-conf
        Require valid-user
</Location>

svn-auth-conf의 형식은 다음과 같습니다.

user1:$apr1$randome letters ... $random letters and numbers

사용자를 추가하기 위해 일부 명령줄 도구를 사용한 것 같지만 그것이 무엇인지 기억이 나지 않습니다.

업데이트 #2: http.conf를 찾으면 다음과 같은 결과가 나타납니다.

/usr/share/logwatch/default.conf/logfiles/http.conf
/usr/share/logwatch/default.conf/services/http.conf

나는 거기에서 파괴적인 것을 보지 못했습니다. 도움이 된다면 여기에 파일을 게시할 수 있습니다.

원래 질문:

몇 년 전에 저는 Subversion을 설치하고 설정했습니다. 사용자를 어떻게 추가했는지 기억이 나지 않습니다. 이제 다른 파일을 추가해야 하는데 파일을 확인하면 passwd사용자 정의도 없고 svnserve.conf파일에 설정된 것도 없습니다. 둘 다 모든 내용이 주석 처리되어 있습니다. 이것이 Google을 통해 사용자를 추가하는 유일한 방법입니다. 그래서 나는 이것을 시도했습니다 :

비밀번호

user1 = password1
user2 = password2

svnserve.conf

anon-access = none
auth-access = write
pasword-db = passwd
authz-db - authz
realm = repos

그러나 나는 서버의 사용자가 아니더라도 user1linux 를 통해서만 액세스할 수 있습니다 . user1사용자를 추가하는 다른 방법이 있나요? 아니면 내 구성에 문제가 있나요?

고쳐 쓰다:

svnserve.conf 파일에 다음 줄을 추가했습니다.

authz-db = authz

그러면 내 인증 파일은 다음과 같습니다

authz [그룹] devs = user1,user2

[repos:/]
devs = rw

아니면 아닙니다. passwd에 있는 user1의 비밀번호가 로그인에 사용한 비밀번호와 다릅니다. 그래서 Subversion은 인증에 전혀 사용하지 않는다고 생각합니다. 특히 이전에는 파일이 비어 있었지만 여전히 로그인할 수 있었기 때문입니다. 인증을 위해 svnserve, passwd, authz 파일을 사용하는지 확인하는 방법이 있나요? 어딘가에 다른 구성 파일이 있나요?

답변1

Subversion 인증은 일반적으로 두 부분으로 구성됩니다. 첫 번째는 일종의 비밀번호 저장소입니다. 두 번째는 액세스 제어 목록입니다. 비밀번호 목록은 사용자를 인증하고 비밀번호를 확인하는 데 사용되지만, 어떤 사용자가 어떤 리소스에 액세스할 수 있는지도 설정해야 합니다.

여러 가지 비밀번호 저장소 유형이 있습니다. 나는 별로 익숙하지 않다비밀번호내가 사용하는 유형비밀번호Apache가 사용자 인증에 사용하는 것과 동일한 유형의 사용자/비밀번호 파일을 사용하십시오. 나는 을 사용합니다 htpasswd .htpasswd username. 비밀번호 유형에 따라 이 단계를 올바르게 완료한 것 같습니다.

두 번째 부분은 ACL입니다. Subversion에는 access각 저장소에 대한 섹션을 포함하는 어딘가에 이름이 지정된 파일이 있어야 합니다 . username = rw해당 사용자에게 해당 저장소에 대한 읽기/쓰기 액세스 권한을 부여하려면 액세스하려는 저장소 아래에 줄을 추가해야 합니다 .

답변2

SVN 서버 구성은 (주로) 세 가지 파일로 구성됩니다.

  • 승인하다
  • 비밀번호
  • svnserve.conf 이것이 메인 파일입니다 (authz-db=authz)

따라서 두 개의 구성 파일만 제공하면 됩니다. authz 파일에 다음이 포함되어 있는지 확인하세요.

#[the_name_of_repository:/path_in_that_repository]
[test:/]
user1 = rw
user2 = rw

이 프로젝트를 위해시험액세스 권한을 부여하고 싶습니다

답변3

## Create testuser ##
htpasswd -m /etc/svn-auth-users testuser

New password:

Re-type new password:

Adding password for user testuser2

참고: 파일에 사용된 것과 정확히 동일한 파일 이름과 경로 이름을 사용하십시오 subversion.conf. 이 예에서는 /etc/svn-auth-users파일을 사용합니다.

답변4

다음 명령을 사용할 수 있습니다.

sudo htpasswd -cm /etc/apache2/dav_svn.passwd XXXXX
  • XXXXX가 사용자 이름이고 비밀번호를 입력하라는 메시지가 표시됩니다.

이는 Apache를 사용하여 svn을 설정한 경우에만 발생하며, apache는 svn conf 폴더 사용자 이름 비밀번호 conf 파일을 읽지 않습니다.

관련 정보