Linux

Subversion 계정별 권한

Naan 2011. 1. 20. 11:29
320x100
아파치와 연동하여 사용하는 경우입니다. 
0. svn의 repository를 testsvn으로 가정
1. apache.conf 파일(혹은 httpd.conf 파일)을 열어 authz 파일을 설정합니다. 

<limitExcept> 이하를 사용하지 않도록 comment 처리합니다. <limitExcept>를 사용할 경우 authz 파일에서 * = r (anonymous read 권한)을 주지 않을 경우 permission 문제로 rw 권한 그룹이라도 commit할 수 없습니다. 
 <Location /testsvn>
  DAV svn
  SVNPath /home/testsvn
  AuthType Basic
  AuthName "Test SVN Repository"
  AuthUserFile /etc/apache2/passwd_testsvn
  AuthzSVNAccessFile /home/testsvn/conf/authz
  #<LimitExcept GET PROPFIND OPTIONS REPORT>
  #Require valid-user
  #</LimitExcept>
  Require valid-user
</Location>

2. /home/testsvn/conf/authz 파일을 엽니다. 
아래는 testsvn Repository에 대하여 admin1, admin2, admin3에게만 Read/Wriite 권한을 주고 그외의 사용자는 모두 Read 권한을 주는 예제입니다. '@'표시는 그룹을 만들었을 경우 사용하고, 사용자에게 권한을 설정할 경우엔 '@'표시를 하지 않습니다.

 
[groups]
admin_group = admin1,admin2,admin3
read_group = reader1, reader2

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

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

[testsvn:/]
#* = r
@admin_group = rw

@read_group = r

3. apache를 재실행 합니다.
 /etc/init.d/apache2 restart
320x100

'Linux' 카테고리의 다른 글

vim 명령어  (0) 2011.03.31
SCP 옵션  (0) 2011.02.10
ssh 터미널(terminal)접속시 딜레이 생기는 경우  (0) 2011.01.20
리눅스 user kill 명령  (0) 2010.12.21
최초 ssh 접속 시간 지연시 해결방법  (0) 2010.12.17