SVN 서버 권한을 올바르게 설정하는 방법은 무엇입니까?

SVN 서버 권한을 올바르게 설정하는 방법은 무엇입니까?

저는 Debian 7을 사용하고 있으며 Subversion이 설치되어 있습니다.

저장소를 생성한 후 저장소에 어떤 권한과 소유자를 설정해야 할지 알 수 없습니다.

두 가지 유형의 저장소를 갖고 싶습니다.

1) svn/private/*- 지정된 한 명의 사용자만 읽고 쓸 수 있습니다.

2) svn/public/*- 지정된 사용자 그룹만 여기에서 읽고 쓸 수 있습니다.

*거기에 여러 저장소가 있음을 의미합니다.

모든 사용자를 Linux 시스템에서 가져오고 passwd 파일이나 다른 파일에 지정하지 않기를 원합니다. 그렇다면 이를 달성하기 위해 어떻게 저장소 권한을 올바르게 설정합니까(Linux 권한에 대해 이야기)?

또한 공개 저장소를 사용하면 승인된 사용자가 커밋할 수 있어야 하며 이로 인해 저장소가 손상되지 않습니다(이전에 이와 같은 문제가 있었던 것처럼).

우리는 svn+ssh 액세스에 대해서만 논의합니다.

나는 인터넷에서 많은 튜토리얼을 읽었지만 그 중 어느 것도 나에게 필요한 내용을 담고 있지 않습니다.

도와주세요?

답변1

svn+ssh를 사용하여 Subversion 저장소에 연결하면 저장소의 파일에 대한 표준 Unix 파일 권한을 사용합니다. 사용자가 원격 서버에 효과적으로 SSH를 연결하고 해당 서버에서 로컬로 svn 명령을 실행할 수 있기 때문입니다.

사용자 x가 해당 파일에 대한 읽기/쓰기 권한을 갖고 있는 경우 사용자 x는 저장소에 대한 변경 사항을 커밋할 수 있습니다. 사용자 y에게 이러한 파일에 대한 읽기/쓰기 권한이 없으면 사용자 y는 변경 사항을 커밋할 수 없으며 읽기 액세스 권한이 없으면 저장소의 내용을 볼(체크아웃) 수도 없습니다.

가장 간단한 모드에서는 chown 및 chmod를 사용하여 각 사용자의 저장소 소유권과 권한을 설정합니다.

$chown user:group /wherever/svn/private
$chmod 770 /wherever/svn/private

등.

보다 복잡한 권한의 경우 http 서버를 통해 svn을 사용해야 하며 http 서버의 액세스 제어를 사용하여 저장소의 특정 경로에 액세스해야 합니다.

참고: 사용자가 특정 저장소에 대한 읽기/쓰기 액세스 권한을 갖고 있는 경우 해당 저장소가 손상될 수 있습니다. 따라서 svn+ssh를 사용하는 한 이러한 사용자에게 상당한 액세스 권한을 부여하는 것입니다. 이제 더 제한적인 경우에도 사용자가 저장소에 변경 사항을 적용할 수 있는 한 손상이 발생할 수 있습니다. 일반적으로 이러한 손상은 롤백이 가능합니다.

SVN 문서의 관련 섹션으로 연결하는 동안 잠시 기다려 주십시오.

svn+ssh 구성 부분입니다

HTTP 설정에 관한 부분입니다.

이 책의 요점은 svn+ssh가 간단하고 안전하지만 한계가 있는 반면, http는 더 강력하지만 더 복잡하다는 것입니다. 나는 내가 원하는 사람들에게 읽기 전용 액세스 권한을 부여하기 위해 거의 HTTP 방법을 사용하고, 다른 모든 사람들은 svn+ssh를 통해 액세스 권한을 가지는데, 나는 이를 심각하게 제한하고 광범위한 백업을 수행합니다. 내가 아는 한, 나는 svnserve 메소드를 시도해 본 적이 없습니다.

관련 정보