특정 디렉토리/파일 권한 설정
목적 : 계정별로 특정 디렉토리나 파일에 대한 읽기/쓰기 권한을 설정하여 승인된 사용자들만 수정할 수 있도록 하여 의도치 않은 변경을 방지한다.
설정순서 :
- svnserve.conf 수정
- passwd 수정
- authz 수정
TEST 환경
- Repository Root : C:\SVNRepository
- Repository : TEST_Repository
1. svnserve.conf 수정
위치 : Repository Root\Repository\svnserve.conf
ex) C:\SVNRepository\TEST_Repository\svnserve.conf
아래 항목에 대한 주석을 해제하고 환경에 맞게 지정한다.
anon-access = read
# 인증된 사용자는 write 가능
auth-access = write
# 계정과 비밀번호를 설정할 파일 지정
password-db = passwd
# 인증정보를 설정할 파일 지정
authz-db = authz
# 저장소의 인증영역 지정
realm = TEST_Repository
2. passwd 수정
계정과 해당 계정의 비밀번호를 지정한다. 한줄에 하나의 계정에 대한 설정만 가능하다.
ex) mugrammer = mugrammer
패스워드를 해당 계정 사용자가 직접 변경할 수 없다는 점이 좀 흠이라 생각한다.
변경할 수 있나?? 잘 모르겠다..
3. authz 수정
그룹을 지정하고 해당 그룹에 소속될 계정을 설정한다.
위의 요구사항에 따른 권한 그룹을 설정을 해보자면 다음과 같다.
admin 그룹을 생성하고 그룹구성원으로 mugrammer를 지정하고 user의 그룹구성원으로는 testuser를 지정한다.
admin = mugrammer
user = testuser
repository에 형상관리 소스를 추가할 수 있게 하기 위하여 Repository Root에 write 권한을 admin에게 부여한다. 그리고 일반 사용자는 해당 항목을 checkout 할 수 있도록 read 권한만 부여한다. read 권한이 없으면 일반 사용자는 접근 자체가 제한된다.
@admin = rw
@user = r
만약 / 에 read 권한이 없으면 접근 자체가 되질 않는다.
예) / 에 read 권한을 부여하지 않고 svn://localhost/TEST_Repository 실행시
components 디렉토리는 admin, user 모두 수정 가능
@admin = rw
@user = rw
shared는 admin만 수정 가능
@admin = rw
@user = r
webapps는 admin, user 모두 수정 가능
@admin = rw
@user = rw
webapps 하위 파일들 중 xml과 cmd 파일은 admin만 수정 가능
@admin = rw
@user = r
[/webapps/*.cmd]
@admin = rw
@user = r
write 권한이 없음에도 불구하고 수정 후 commit을 하려 하면 아래와 같은 메시지 창이 뜬다.
이상으로 디렉토리별 권한 설정에 대해서 알아보았다.
물론 이 설정이 완벽하다고 자신있게 말을 할 수 있는건 아니다.
어떠한 설정이 최적인지는 조금더 다양한 테스트를 해봐야 하겠지만 우선 이러한 방법도 있다는 참고 사항 정도로는 적합하다 생각이 든다.
좀 더 쉽고 간편하게 설정할 수 있는 방법이 있으면 좋으련만..
참고로 passwd와 authz 파일은 수정 후 재기동을 굳이 하지 않아도 된다.
'ETC' 카테고리의 다른 글
[SVN] 이번엔 svn needs-lock이다.. (0) | 2012.02.06 |
---|---|
[SVN]Path-Based Authorization (0) | 2012.02.06 |
[SVN] Repository 생성 (0) | 2012.02.03 |
Weblogic10.0 + jdk 1.6 설치 (0) | 2012.02.01 |
공백포함 파일 검색 및 처리 (0) | 2012.01.30 |