같은 프로젝트 내에서 계정에 따라 폴더 접근 권한을 다르게 설정하기 위한 방법이다.
프로젝트 내 conf 폴더 아래 있는 authz, passwd, svnserv.conf 파일을 이용해서 설정할 수 있다.
우선 passwd 에 계정을 생성한다.
[users]
dev1 = 111
dev2 = 222
design = 333
이제 authz 파일을 열어서 전체를 접근할 그룹과 특정 폴더만 접근할 그룹을 나눠서 설정해주고, 폴더 권한을 지정해야 한다.
프로젝트 내 폴더 구조가 아래와 같다.
이중 design 계정은 view만 접근하고 dev1, dev2 계정은 전체 접근이 가능하도록 설정해보자.
test (프로젝트)
- module
- lib
- view
authz 파일을 열고 우선 그룹을 지정한다.
[groups]
allaccess = dev1, dev2
someaccess = design
[/]
@allaccess = rw
[test:/view]
@someaccess = rw
접근권하는 rw는 read,write 이고 r은 읽기전용.
아무것도 주지 않으면 접근 불가가 된다.
예를 들어 lib 폴더에는 접근을 못하게 하고 싶다면
[test:/lib]
@someaccess =
이렇게만 주면 접근 권한이 없어진다.
처음 권한 설정을 할때 디자이너는 전체에는 접근을 할 수 없도록 해야 한다는 생각에
[/]
@allaccess = rw
@someaccess =
라고 줬었는데, 그랬더니 프로젝트 내부에 전혀 접근을 할 수 없는 사태가 벌어졌다.
(ㅡㅅㅡ);
자~ 요렇게 설정을 하면 기본 설정은 다 끝났는데, 이걸 svn에서 적용하도록 하기 위해서 svnserve.conf 파일을 수정해 줘야 한다.
주석으로 장황하게 처리된 구문 중 authz-db = authz 라는 구문을 찿아서 주석을 해제해줘도 되고, 직접 타이핑 해줘도 된다. 타이핑시엔 오타주의!!
특정폴더만 접근권한을 주었기 때문에 dev1, dev2 계정은 svn://주소/test 라고 입력하면 전체 프로젝트를 받을 수 있고, view만 접근 가능한 design 계정은 svn://주소/test/view 라고 입력해서 다운을 받아야 한다. 전체 접근은 권한이 없기때문에 권한 오류가 출력된다 ^^
p.s) authz에서 폴더 지정시 프로젝트명 부분은 프로젝트 별로 authz 파일을 따로 쓴다면 생략해도 된다.
[오라클] 데이터베이스 링크 (0) | 2013.03.13 |
---|---|
[오라클] 문자열 조작 함수 정리 (0) | 2013.02.07 |
HipHop for PHP : Move Fast 번역본 퍼옴. (0) | 2012.07.02 |
Windows Azure - 2012.06.21 (0) | 2012.06.21 |
Windows Azure - 2012.06.20 (0) | 2012.06.20 |