svn+ssh 사용하고 싶은데...
svn을 설치하여 운영을 하려고 합니다.
이 때 사용하려고 하는 프로토콜을 svn+ssh를 사용하려고 합니다.(보안때문에)
일단 그룹을 만들어 이 그룹들은 특정 폴더에만 접근을 할 수 있도록 하려고 합니다.
그룹은 a그룹 b그룹 c그룹으로 각각 c-1, c-2, c-3에만 접근할 수 있도록 하고 싶습니다.
아래는 디렉토리 구조 입니다. 물론 /repo/svn/안에 svnadmin create 해서 생성된 것 들입니다.
/a
/b
/c ---- /c-1
/c-2
/c-3
svnserve.conf 파일을 보게 되면 authz라는 파일을 편집하여 그룹화 할 수 있습니다.
1. svnserve.conf 파일을 사용하기 위해서는 svn+ssh를 사용할 수 없는지? 즉 반듯이 passwd 파일을 사용해야 하는지?
2. 굳이 passwd 파일을 사용하지 않아도 된다면(제가 현재 사용하는 svn+ssh를 사용할 경우) authz 파일과 함께 사용할 수 있는 지?
현재 저는 svnserve.conf 내용 중 passwd 파일은 주석처리 하고 authz는 주석을 풀었습니다.
여기서 src 디렉토리는 권한을 전부 일반권한(test4)으로 설정 했습니다. 물론 그 안에 있는 파일도 같은 권한입니다.
root의 권한을 가지고 할 경우
#svn import src svn+ssh://IP/repo/svn/c/c-3 할 경우 암호를 넣는 부분이 나오고 암호를 넣으면
Permission denied (publickey,gssapi-with-mic,password).
svn: Connection closed unexpectedly
test4 계정으로 할 경우
test4@IP's password:
svn: Authorization failed
이렇게 나옵니다.
만약 svnserve.conf 파일 내용 중 authz 부분을 주석처리 할 경우 정상적으로 됩니다.
일단 authz 파일 내용도 올립니다.
[groups]
grpagt = test1
grpcon = test2
grpman = test3
grpmiw = test4,root
[/]
@grpagt = rw
@grpcon = rw
@grpman = rw
@grpmiw = rw
* = r
[/3.0/agent]
@grpagt = rw
* = r
[/3.0/console]
@grpcon = rw
* = r
[/3.0/management]
@grpman = rw
* = r
[/3.0/middleware]
@grpmiw = rw
* = r
댓글 달기