티스토리 뷰



서브버전 에지(Subversion EDGE)를 사용하면 사용자 관리와 저장소(리포지터리, repository) 관리 및 모니터링을 콘솔 모드가 아닌 GUI로 편리하게 수행할 수 있지만 개별 저장소에 대한 접근 권한 관리는(Repository Access Rules) 서브 버전(Subversion)에서 전통적으로 사용해 오던 방법을 그대로 사용하고 있습니다. 텍스트 파일에 접근 권한을 기술하는 요령을 다룹니다. 윈도우 시스템에서의 Trac과 서브버전(Subversion) 기반으로한 협업 개발 시스템을 다루고 있는데 아직 설치 이전이라면 시스템 설치는 아래의 두 글을 참조합니다.




■ 아이디가 없는 일반 이용자를 위한 읽기 권한 부여



서브버전 에지(Subversion EDGE)에서의 저장소 접근 권한 관리는 크게 두가지로 나뉘는데 하나는 위의 그림처럼 관리자 메뉴 Administration > Authentication 메뉴에서 "Anonymous Access"를 통해서 익명 사용자에게 저장소에 대한 읽기 접근을 허용할지 여부를 설정하는 것입니다. 읽기 접근을 허용하면 대다수의 오픈 소스 프로젝트가 익명 사용자에 대한 소스 체크 아웃을 허용하는 것과 같은 효과를 낼 수 있습니다. 소스 체크 아웃이나 업데이트는 가능하지만 커밋은 허용되지 않습니다.



■ 로그인 사용자/저장소별 접근 권한 설정



서브버전 에지(Subversion EDGE)에서의 저장소 접근 권한 관리의 다른 하나는 위의 그림처럼 관리자 메뉴 Repositories > Access Rules 메뉴에서 텍스트 편집기를 통해서 사용자/저장소별 상세 권한을 설정하는 것입니다.



익명 사용자 읽기를 허용하지 않는 경우에는 클라이언트에서 소스 체크 아웃시 사용자 아이디와 비밀번호를 입력하도록 요구받습니다. 아이디와 비밀번호를 입력하면서 "Save authentication"를 체크해 놓으면 인증 정보를 저장해 놓고 다음 부터는 업데이트나 커밋 시점에 인증 정보를 입력하지 않고 편리하게 사용할 수 있도록 해줍니다.


접근 권한을 수정하려면 [편집]을 눌러 텍스트를 수정합니다.

[/]

* = rw


기본 접근 권한의 의미는 [/]는 모든 저장소를 의미하고 * = rw 는 모든 사용자에게 읽기 및 쓰기 권한을 부여하는 것입니다. 결과적으로 등록된 사용자는 모든 저장소에 읽기 및 쓰기 권한을 가지는 것입니다.




위의 기술 내용은 특정 저장소에 대하여 각 사용자별로 권한을 부여한 예제입니다. [Repository명:/]의 형식으로 특정 Repository에 대한 권한을 지정합니다(예제에서는 test1). 권한은 r은 읽기 권한, rw는 읽기 및 쓰기 권한을 의미하며 다음과 같은 세가지 형식으로 기술합니다.


      • 사용자아이디 = 권한
        특정 아이디를 대상으로 함

      • @그룹명 = 권한
        그룹에 포함된 사용자 아이디들을 대상으로 함
        [groups]
        dept1 = peter, admin, james
        dept2 = matt, david
        그룹 정의는 위와 같이 [groups] 섹션에서 그룹명 = 아이디, 아이디........,아이디와 같은 형식으로 지정합니다.

      • * = 권한
        전체 사용자를 대상으로 함




위의 그림은 위의 예제에서 peter 사용자로 저장소를 체크아웃 받은 다음 코드를 추가하여 커밋한 시점에 보여진 대화창입니다. 읽기 권한이 있어서 소스 체크 아웃은 되었지만 쓰기 권한이 없기 때문에 커밋은 실패한 결과입니다.


[groups]

dept1 = peter, admin, james

dept2 = matt, david


[test1:/]

admin = rw

peter = r


[repo2:/]

@dept1 = rw

@dept2 = r


위의 설정은 그룹을 포함한 설정 예제입니다.





댓글
댓글쓰기 폼