centos7: cvs server Hint

yum install cvs xinetd

adduser cvs

passwd cvs

su -l cvs

$ cvs -d /home/cvs/testDir init

$ vi /home/cvs/testDir/CVSROOT/passwd


cvsuserid1:$1$ss$unix_passwd.:cvs

cvsuserid2:$1$ss$xxxxxxxxxxg.:cvs


  • passwd must be unix crypted
  • like /etc/shadow

otherwide... make Unix passwd by perl Hint

  • not tested

#!/usr/bin/perl crypt.pl

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";

$ exit

# vi /etc/xinetd.d/cvspserver


service cvspserver

{

        disable = no

        flags = REUSE

        log_type = FILE /var/log/cvspserver

        log_on_failure += USERID

        port        = 2401

        socket_type = stream

        protocol    = tcp

        wait        = no

        user        = cvs

        server      = /usr/bin/cvs

        server_args = -f --allow-root=/home/cvs/testDir --allow-root=/home/cvs/testDir1 pserver

}


systemctl restart xinetd.service

test cvs server connection

export CVSROOT=:pserver:cvsuserid1@localhost:/home/cvs/testDir

cvs login