>> Edit article
이름
제목
패스워드
암호를 빼먹어서 수정이 안되는군요. 저 아래 mkcvspass 생성 부분에 기호가 하나 빠졌습니다. 고칠 부분은 아래에 표시해 두었습니다. 참고로 mkcvspass 파일은 bash로 생성하셔야 합니다. : cvs 서버 운영하는건 그리 어렵지 않던데요. : : 간단한 설치법은 다음과 같습니다. : : * 배포판 : Redhat 6.2 : * CVS : cvs-1.11-1 : : : 1. : cvs 사용자 및 그룹을 생성합니다. : # groupadd cvs : # ueradd -g cvs cvs : : : 2. : /etc/inetd.conf 파일에 다음과 같이 넣어줍니다. : (Redhat 7.0이라면 xinet 관련 설정이 되겠지요.) : : cvspserver stream tcp nowait root /usr/bin/cvs cvs -f - - : allow-root=/home/cvs pserver : : /etc/service 파일에 cvspserver 라는 항목이 2401번 포트에 정의되어 있 어 : 야 합니다. : : : 3. : inetd 슈퍼데몬을 재기동합니다. : # killall -HUP inetd : : : 4. : cvs 시스템을 초기화합니다. : # su - cvs : $ cvs -d /home/cvs init <-- 최기화 하는 부분 : $ ls -Al /home/cvs : drwxr-xr-x 4 cvs cvs 4096 3월 29 22:59 . : drwxr-xr-x 14 root root 4096 3월 29 15:28 .. : drwxrwxr-x 3 cvs cvs 4096 3월 29 22:57 CVSROOT : : : 5. : cvs 내부 계정을 발급하고 접근권한을 설정합니다. : 암호생성을 위해 아파치에서 제공하는 htpasswd 명령을 사용할 수도 있지 만 : 저는 다음과 같은 Perl 스크립트(mkcvspass)를 만들어 사용하고 있습니다. : $ cd CVSROOT : $ (cat << _EOF_ : #!/usr/bin/perl : if ($#ARGV ne 1) { : $basename = $ENV{'_'}; $basename =~ s/.*///g; : die "Usage: $basename [CVS ID] [Password]"; : } : $arr : = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./"; : $salt = substr($arr, int(rand(64)), 1) . substr($arr, int(rand : (64)), 1); : print $ARGV[0] . ":" . crypt($ARGV[1], $salt) . ":cvs"; print $ARGV[0] . ":" . crypt($ARGV[1], $salt) . ":cvs"; : _EOF_ : ) > mkcvspass : $ chmod +x mkcvspass : $ ./mkcvspass userid userpass : userid:Cj2XCzR4gyYjQ:cvs : $ : : 추가할 사용자를 위와 같이 ./mkcvspass 명령으로 암호를 생성한 후 : 다음과 같이 passwd 파일에 기록합니다. : : $ cat passwd : cvs:t1tSih91v8R7o:cvs : myway:9zzGC/u6WEa.:cvs : userid:Cj2XCzR4gyYjQ:cvs : $ : : 위 정보는 : 기호를 구분자로 하여 다음과 같은 의미를 지닙니다. : cvsID:암호:시스템 실제 cvs 계정 : : 암호를 passwd 파일에 기록하기 위해서는 다음과 같이 바로 리다이렉션 : 해도 되겠지요. : ./mkcvspass userid userpass >> passwd : : : 읽기만 허용할 사용자를 readers 파일에 지정합니다. : 다음의 경우 cvs로 cvs 시스템에 로그인한 사용자는 cvs 트리의 소스코드 를 : 읽는 권한만 지니게 됩니다. : $ cat readers : cvs : $ : : : 6. : 로그인을 시험합니다. : 로컬 또는 원격 사용자는 다음과 같이 cvs 시스템에 접근할 수 있습니다. : (다음의 경우 myway 라는 cvs ID를 사용하였습니다.) : $ cvs -d :pserver:myway@127.0.0.1:/home/cvs login : (Logging in to myway@127.0.0.1) : CVS password: : $ : : 아무 메세지가 출력되지 않았다면 정상 로그인된 것입니다. : : cvs 명령에서 -d 옵션은 cvs root 를 뜻하는 것입니다. : : 만약 로컬 시스템이라면 바로 -d /home/cvs 와 같이 접근해도 되지만 파일 : 및 그룹의 접근권한 설정이 좀 번거롭기 때문에 로컬 시스템 사용자라도 : 위와 같이 cvs 서버로 로그인하도록 하는게 좋은것 같더군요. : : 모든 cvs 명령에 cvs root 정보가 동반되어야 하므로 -d 옵션으로 매번 넣 어 : 주는게 귀찮다면(원격 시스템은 더더욱) CVSROOT 환경변수에 미리 정의해 두 : 거나, 저처럼 alias 걸어두셔도 좋습니다. : : bash의 경우 다음과 같이 해두었습니다. : export CVSROOT=:pserver:myway@127.0.0.1:/home/cvs : 또는, : alias cvs='cvs -d :pserver:myway@127.0.0.1:/home/cvs' : : 이제부터는 -d 옵션 없이 cvs 명령을 수행해도 됩니다. : $ cvs login : (Logging in to myway@127.0.0.1) : CVS password: : $ : : : : 프로젝트 초기화 및 사용법은 다른 문서를 참고하시기 바랍니다. : : : : : : : 현재 개발중인 소스를 체계적으로 정리하고자 CVS 를 사용하려고 합니 다. : : 설명서에 나와있는대로 저장소를 지정하고 사용자, 그룹을 추가했는데, : : 사용자계정에 암호인증방식으로 접속을 시도해봐도, 도무지 접속이 되지 : : 않아, 이렇게 도움을 청합니다. : : 개발자들 사이에서는 많이 사용되고 있는것 같은데, 문서에 나와있는대 로 : : 따라해봐도, 도무지 접속이 되지 않네요.... : : 원격접속은 물론이고, localhost로 접속을 해도 Connection Refused 란 메 : 시지만 계속 뜨고.. : : 며칠째 자료를 뒤져봤지만, 마땅히 설정에 관한 자료는 찾아보기가 힘들 어 : 서.. : : 도움을 청합니다. : : 혹시, httpd.conf나 smb.conf 처럼 환경설정해주는 부분이 있는건지.. : : 참고로, 실행환경은 Wow Linux 7.0 에 기본설치되어있는 cvs-1.10.8-8 버 : 전을 사용하고 있습니다. : : 도움주시면 정말 감사하겠습니다.
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved