2010-06-24 4 views
1

내 호스팅 계정에 SVN 서버를 설치했습니다. 사용자는 체크인 및 체크 아웃 할 수 있지만 내 저장소 전체에 액세스 할 수 있습니다.SVN 사용자 그룹 및 권한

것은 내 계정에 사용자에게 공개 키를 발행 한 후 나는 다음과 같습니다 내 ~/스푸핑 안에 내 "의 authorized_keys"파일에 행을 추가, 사람들에게 액세스 권한을 부여하려면 다음

command="/home/user/packages/bin/svnserve -t -r /home/user/repository --tunnel-user=diogo",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-rsa [KEY DATA IN HERE]== [email protected] 

사용자 수 다음과 같은 터널을 통해 내 서버에서 체크 아웃 :

svn+ssh://host.com/project/trunk 

내 질문은 특정 사용자가 특정 프로젝트에 액세스하도록 제한 할 수 있습니까?

답변

1

SSH 터널을 사용 중입니다. 내가 제대로 svn book을 읽을 경우, 저장소 당신이로 로그인 사용자에 대한 파일 자체에 대한 사용 권한을 설정해야합니다,하지만 당신은 또한 conf의 파일에 직접 사용자를 차단할 수 있습니다

이 터널을 통해 실행 권한 부여는 주로 저장소의 데이터베이스 파일에 대한 운영 체제 권한에 의해 제어됩니다. 해리가 file : /// URL을 통해 저장소에 직접 액세스하는 것과 매우 흡사합니다.

여러 시스템 사용자가 저장소에 직접 액세스하려는 경우 해당 사용자를 공통 그룹에 배치하려는 경우 umask에주의해야합니다. ("다중 저장소 액세스 방법 지원"절을 읽어야합니다.)

터널링의 경우에도 svnserve.conf 파일은 단순히 auth-access = read를 설정하여 액세스를 차단하는 데 사용할 수 있습니다 또는 auth-access = none. 그런데

("SSH 인증 및 권한 부여"에서)

, 당신은 당신이 당신의 호스팅 계정에이 일을 말한다. 한번 시도해 보았지만 새로운 SSH 사용자를 추가 할 수 없기 때문에 포기해야했습니다. SSH 사용자 계정을 추가 할 수 없으면 터널을 통해 세분화 된 인증을 수행 할 수 없습니다. 사용자는 항상 레포에 대한 모든 액세스 권한을 갖습니다.

SSH와 독립적으로 다중 사용자 인증을 사용하려면 Apache와 svn을 통합해야합니다. 이는 일반적으로 공유 환경에서는 불가능합니다.

작은 Windows 기반 가상 서버로 전환하고 Brain-dead 쉬운 svn 래퍼 VisualSVN Server을 설치했습니다. 그것은 약간의 돈 (약 20 유로/달, 나는 리눅스 기반 가상 서버가 10 달러부터 시작하는 것을 보았다)을 지불하지만, 그 이후로 계속 행복했다. (물론 Linux 만 사용하고 Apache에서 svn을 설정할 수 있습니다. VisualSVN이 내부적으로 수행하는 것입니다.)

+0

내 호스팅 계정은 hostmonster를 통해 이루어 지므로 단일 사용자 로그인 만 제공하므로 나는 할 수 없습니다. 사용자가 1 명이므로 파일에 대한 사용자 권한을 설정합니다. 다른 방법이나 새로운 사용자를 추가하는 방법이 있습니까? 감사합니다 – Martin

+0

@ 마틴 ㅎ, 무슨 우연의 일치 :) 내 업데이 트를 확인하십시오. –

+0

@Martin 당신의 공급자가 당신을 허용하지 않으면 새로운 사용자를 추가 할 방법이 없다고 생각합니다. 시스템 수준의 사용자 계정입니다. –