1 min read

subversion 저장소의 억세스 권한 설정

subversion 저장소의 억세스 권한 설정
Photo by Luca Ambrosi / Unsplash

svnserve를 통한 접근은 conf/svnserve.conf 파일을 설정하면 제한을 걸 수 있지만 ssh 등을 통해 로긴한 상태에서는 프로젝트와 무관한 사용자라도 repository에 접근할 수 있다. 이를 막기 위해 svnusers라는 그룹을 만들어svn을 이용하는 계정만 이 그룹에 등록시키고 repository에 접근할 수 있도록 했다. 이를 위해 새로운 repository를 만들 때마다 다음 bash script를 실행하여 디렉토리 및 파일들의 권한을 수정하도록 했다.

#!/bin/sh

# repository 디렉토리에서만 실행 가능
if [ ! -d conf ] || [ ! -d dav ] || [ ! -d hooks ] || [ ! -d locks ] || [ ! -d db ]; then
    exit 1
fi

chgrp -R svnusers .
chmod -R o-rx .
chmod -R g+X .
chmod g+w . conf/ dav/ hooks/ locks/
chmod -R ug+w db

대략적으로 svnusers 그룹으로 바꾸고, repository 작성자나 svnusers 그룹에 속한 계정이 아닌 다른 계정에 대해서는 모든 접근 권한을 막은 다음, svnusers 그룹 소유 계정을 위해 쓰기 및 실행 권한을 주는 것이다.

— END OF POST.