본문 바로가기

OS/Linux

[리눅스] SVN 권한 설정


알만한(?) 분들은 다 알지만 SVN의 인증과정을 관리하는 방법중 하나인 SVN Server의 자체 기능이 있다.

그럼 SVN server의 권한 인증을 사용한 한 예를 살펴보자.

X:\저장소\conf\ (윈도우기준)의 svnserve.conf 파일이 그 인증과 관련된 중요 파일이다.
그 파일의 내용은 아래 more버튼을 누르면 알 수 있듯이 매우 긴데 주석 부분을 제거 하고 나면

 


svnserve.conf

[general]
anon-access=none
auth-access = write
password-db = passwd
authz-db = authz
realm = Kanji_Proj

요로코롬 짧아진다. 그럼 각각의 의미를 알아 보자.

[general]
anon-access=none           #인증되지않은(즉 계정이 없는) 사용자에 대해 접근을 거부한다.
auth-access = write          #인증된 사용자에 대해 쓰기 권한을 준다.
password-db = passwd     # 인증된 사용자에 대한 계정 정보(아이디/패스) 정보가 기록된 파일명을 의미한다.(기본값 passwd)
authz-db = authz              # 인증된 사용자에 대해 저장소에 대한 권한 설정이 기록된 파일명(기본값)
#realm = Kanji_Proj             #현재 파일에 해당되는 저장소의 영역에 대해 설정하는 것인데 여기서는 주석처리로 하고 넘어가자.(ㅌㅌ)

즉, 인증된 사용자에게 저장소의 접근권한을 일체 주지 않고, 인증된 사용자에게만 접근을 허용하는 그런 의미를 갖는 svnserve.conf파일이 되겠다.

다음으로 passwd 파일을 살펴보자.

passwd

[users]
# harry = harryssecret
# sally = sallyssecret

aaa = a
bbb = b
ccc = c

= 를 기준으로 왼쪽이 아이디 오른족이 비밀번호가 된다.
id: aaa, pw: a
id: bbb, pw: b 이런식이다.

마지막으로 authz

authz

[groups]
# harry_and_sally = harry,sally
gABC = aaa, bbb, ccc

# [/foo/bar]
# harry = rw
# * =

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r

[/]
@gABC = r

[ABC:/]
* = r
@gABC  = rw

authz 파일의 의미를 살펴보자

[groups]
# harry_and_sally = harry,sally   # 사용자를 그룹단위로 묶을 수 있다.
gABC = aaa, bbb, ccc               # 즉, 사용자 aaa, bbb, ccc를 묶어서 gABC라는 그룹으로 관리.

# [/foo/bar]
# harry = rw
# * =

# [repository:/baz/fuz]             #repository저장소의 /baz/fuz위치에 대한 권한
# @harry_and_sally = rw            #@<-의 의미는 그룹을 뜻한다. harry_and_sally 그룹에 읽기/쓰기권한을 준다.
# * = r                                     # * 는 모든 사용자를 의미한다. 모든 사용자에게 읽기 권한을 준다.           

[ABC:/]                                 #ABC:/저장소
* = r                                       #모든 사용자에게 읽기 권한을 준다.
@gABC  = rw                          #gABC그룹에게 읽기/쓰기 권한을 준다.

여기까지가 SVN server을 사용해 인증관리를 하고 있는 한 예이다.

주의 1. authz 파일에 보면 *(와일드카드)가 모든 사용자를 의미한다고 했는데, 만약 svnserve.conf 파일에 anon-access=none (인증된 사용자에 대한 권한접근을 거부) 설정이 안되 있으면 말 그대로 아이디가 있건 없고 모든 접속한 사용자에 대한 권한이 되 버린다. 하지만 anon-access=none 이 설정되 되어 있다면 아이디/비번을(계정) 을 갖고 있는 사용자들에 대한 권한 설정이 될 것이다.

 

'OS > Linux' 카테고리의 다른 글

[리눅스] yum 을 이용하여 svn 설치하기  (1) 2014.06.20
[리눅스] CentOS JDK 설치  (0) 2014.06.19
CentOS 6.4 + Oracle 11gR2 설치  (0) 2013.12.08
[리눅스] X Window 설치  (0) 2013.12.08
[리눅스] CentOS 에서 Apache Tomcat 설치  (0) 2013.12.08