어제 CVS 서버 셋팅하는 방법에 이어, 간단한 팁입니다.
어제 인용한 자료 에 보면 시스템 계정 없이 CVS 만을 이용할 수 있는 계정을 만드는 법에 대해 설명하고 있습니다. cvs 의 루트디렉토리 밑에 있는 CVSROOT 에 passwd 라는 파일을 만드는 것이 그것인데 파일의 내용은 아래와 같습니다. (이 파일을 처음에는 존재하지 않으므로 직접 작성하셔야 합니다.)
[shinnara /home/cvsroot/CVSROOT]$ cat passwd
htuser1:RxOVUZ9NWdT.A:cvs
htuser2:SWE3Q1PGWtIPA:cvs
jmyang:uYpG2ztw34QBs:cvs
htuser1:RxOVUZ9NWdT.A:cvs
htuser2:SWE3Q1PGWtIPA:cvs
jmyang:uYpG2ztw34QBs:cvs
대강 짐작하는 것 처럼 한줄에 하나의 계정을 적게 됩니다. 제일 처음에 아이디, 그리고 패스워드, 마지막으로 시스템 계정. 저의 경우는 cvs 라는 시스템 계정을 만들고 cvs 를 사용할 사용자들이 이 시스템 계정의 권한을 갖도록 하였습니다.
패스워드 항목의 경우, 유닉스 시스템의 crypt 함수를 이용해서 만들게 되는데 이를 편리하게 할 수 있는 펄스크립트를 소개합니다. 어딘가에서 본 내용인데 출처를 모르겠네요. /usr/local/bin 아래에 두었습니다.
[shinnara ~]$ cat /usr/local/bin/cvspasswd.pl
#!/usr/bin/perl
srand (time());
my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";
my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
my $plaintext = shift;
my $crypttext = crypt ($plaintext, $salt);
print "${crypttext}\n";
[shinnara ~]$
#!/usr/bin/perl
srand (time());
my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";
my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
my $plaintext = shift;
my $crypttext = crypt ($plaintext, $salt);
print "${crypttext}\n";
[shinnara ~]$
사용법 역시 간단합니다.
[shinnara ~]$ cvspasswd.pl shinnara
lvzesr7opTtHM
[shinnara ~]$
lvzesr7opTtHM
[shinnara ~]$
생성된 문자열을 패스워드 항목에 붙여넣으시면 됩니다~
댓글을 달아 주세요