svn(Subversion)이 처음 만들어 졌을 때는 권한 설정에 대한 옵션이 약했으나 점점 강화되어 지금은 많이 강해졌다.
권한 설정, 특히 svn의 각 direcotry별로 다른 권한을 설정하는 방법을 알아보자.
Login
svn에 login하는 방법은 svnserve의 passwd파일을 사용하는 방법과 apache의 자체 로긴을 이용하는 방법이 있다.
여기서 apache의 자체 로긴은 access파일을 이용한 것과 기타 로긴 시스템(윈도우 NT 로긴 시스템)을 이용한 것등을 이용할 수 있다.
디렉토리별 권한
directory별 권한 설정은 svnserve와 apache모두 공통적으로 사용한다.
먼저 인증된 ID를 기준으로 그룹을 설정할 수 있다.
그리고 디렉토리 별로 그룹 또는 ID의 권한을 할당할 수 있다.
참조: http://svnbook.red-bean.com/nightly/en/svn.serverconfig.pathbasedauthz.html
독립된 여러 개의 repository 의 운용
apache를 사용하면 독립된 여러 개의 repository를 같이 사용할 수 있다.
회사에서 수행되는 각 프로젝트 마다 하나씩 repository를 할당해 주는 것이 가능한 것이다.
그리고 위에 설명된 '디렉토리별 권한'을 설정해서 사용하면 거의 완벽한 운용이 가능하다.
그런데 이런 것을 자동화 해주는 툴은 없을 까?
UI등을 이용해서 손쉽게 각각의 repository를 생성하고 권한을 설정한다.
또한 각 repository에 있는 directory 별로도 권한을 설정한다.
이런 툴이 있다면 좀더 편한 권한 관리가 가능할 텐데..