原创:铁彬 博客:ironurbane.iteye.com 转载请注明
1: 安装cvsnt
sudo apt-get install cvsnt
2: 指定一个目录,用来初始化,可以是任意的,但是这个目录就是cvs的home目录,其他配置文件要用到这个目录
sudo mkdir /cvsroot
3: 使用默认配置文件模板建立配置文件。
sudo cp /etc/cvsnt/PServer.example /etc/cvsnt/PServer
sudo cp /etc/cvsnt/Plugins.example /etc/cvsnt/Plugins
PServer包含了各种服务配置的信息,Plugins里面则定义了CVSNT各种协议插件的启用情况,默认是全部启用的。
如果改动了这两个文件要重启CVS服务。
4: 确认/etc/services中有没有包含
cvspserver 2401/tcp
cvspserver 2401/udp
如果没有包含,则需要添加上。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5: CVS服务的控制需要super-server daemon[2],通常有两个选择inetd和xinetd[3]。Ubuntu默认安装并不包含它们当中的任意一个,所 以需要你根据自己的需要选择到底是使用inetd还是xinetd。
(我选择第一种Xinetd)
a. 如果是使用的Xinetd
安装:
sudo apt-get install xinetd
创建/etc/xinetd.d/cvspserver文件(cvs这个文件名是任意的),内容如下:
service cvspserver
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/bin/cvsnt
#/cvsroot就是前面建的cvsnt的home目录
server_args = -f --allow-root=/cvsroot pserver
#server_args = authserver
}
修改权限:
chmod 644 cvspserver
重启Xinetd服务:
sudo /etc/init.d/xinetd restart
b. 如果是使用的inetd
inetd也有几种不同包可以选择,这里使用openbsd-inetd,
sudo apt-get install openbsd-inetd
添加下面的内容到/etc/inetd.conf文件中(不需要换行):
cvspserver stream tcp nowait root /usr/bin/cvsnt cvsnt authserver
然后,重启inetd:(killall -HUP inetd生效)
sudo /etc/init.d/openbsd-inetd restart
Lock Service
如果用的是 inetd 的系统,在 /etc/inetd.conf 里加入:
cvspserver stream tcp nowait root /usr/bin/cvs cvs -f --allow-root=/cvs-home pserver
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cvsnt包默认会安装cvsnt服务,这个cvsnt服务其实是cvs lock service。
6: netstat –l 看2401和2402有没有监听
如果有:
tcp 0 0 *:cvspserver *:* LISTEN
cvsnt服务已经正常启动
7: 添加CVS组
sudo groupadd cvs
8: 在目录/home下创建用户liyuanchun ,属主组cvs:
sudo useradd -g cvs -d /home/liyuanchun -m liyuanchun
更改密码:
sudo passwd liyuanchun
9: 初始化仓库位置可以根据需要选定,我们在开始sudo mkdir cvsroot,所以对cvsroot初始化(会在/etc/cvsnt/PServer 文件末尾增加
记录)
sudo cvs -d /cvsroot init
10: 更改liyuanchun用户在cvsroot目录上的权限。
sudo chown -R liyuanchun:cvs /cvsroot
11: 查看下文件内容:sudo vi /etc/cvsnt/PServer
Repository0=/cvsroot/test
Repository0Name=/cvsroot/test
后面的Repository0Name就是用于cvs客户端访时提供的工程模块名字。
12: 设置/cvsroot权限,只有主组cvs的用户才能访问
sudo chmod 750 cvsroot
13: 用户控制:
CVS有两种方式控制用户:
第一种就是cvs本身通过passwd设置密码进行访问
第二种就是创建系统用户
第二种就不再详细讲了,和用户liyuanchun创建是一样的
主要说一下第一种:
13.1: 切换用户:
su liyuanchun
13.2: passwd文件中的密码是加过密的,所以需要创建一下文件:
vi /cvsroot/passwd.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}
";
13.3: 赋权限:
chmod a+x /cvsroot/passwd.pl
13.4: 如果你想生成一个密码是 "test",执行:
/cvsroot/passwd.pl "test"
打印输出的最后一行就是加密后的字符串oBV0jMseGSH5w
13.5 生成密码文件:
vi /cvsroot/CVSROOT/passwd
添加一下内容:
#例如 username:passwd:liyuanchun
test:oBV0jMseGSH5w:liyuanchun
备注: CVS官方网站上下载最新版本并安装. 官方主页:
[url]http://www.march-hare.com/cvsnt/features/cvsnt/[/url]
1: 安装cvsnt
sudo apt-get install cvsnt
2: 指定一个目录,用来初始化,可以是任意的,但是这个目录就是cvs的home目录,其他配置文件要用到这个目录
sudo mkdir /cvsroot
3: 使用默认配置文件模板建立配置文件。
sudo cp /etc/cvsnt/PServer.example /etc/cvsnt/PServer
sudo cp /etc/cvsnt/Plugins.example /etc/cvsnt/Plugins
PServer包含了各种服务配置的信息,Plugins里面则定义了CVSNT各种协议插件的启用情况,默认是全部启用的。
如果改动了这两个文件要重启CVS服务。
4: 确认/etc/services中有没有包含
cvspserver 2401/tcp
cvspserver 2401/udp
如果没有包含,则需要添加上。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5: CVS服务的控制需要super-server daemon[2],通常有两个选择inetd和xinetd[3]。Ubuntu默认安装并不包含它们当中的任意一个,所 以需要你根据自己的需要选择到底是使用inetd还是xinetd。
(我选择第一种Xinetd)
a. 如果是使用的Xinetd
安装:
sudo apt-get install xinetd
创建/etc/xinetd.d/cvspserver文件(cvs这个文件名是任意的),内容如下:
service cvspserver
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/bin/cvsnt
#/cvsroot就是前面建的cvsnt的home目录
server_args = -f --allow-root=/cvsroot pserver
#server_args = authserver
}
修改权限:
chmod 644 cvspserver
重启Xinetd服务:
sudo /etc/init.d/xinetd restart
b. 如果是使用的inetd
inetd也有几种不同包可以选择,这里使用openbsd-inetd,
sudo apt-get install openbsd-inetd
添加下面的内容到/etc/inetd.conf文件中(不需要换行):
cvspserver stream tcp nowait root /usr/bin/cvsnt cvsnt authserver
然后,重启inetd:(killall -HUP inetd生效)
sudo /etc/init.d/openbsd-inetd restart
Lock Service
如果用的是 inetd 的系统,在 /etc/inetd.conf 里加入:
cvspserver stream tcp nowait root /usr/bin/cvs cvs -f --allow-root=/cvs-home pserver
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cvsnt包默认会安装cvsnt服务,这个cvsnt服务其实是cvs lock service。
6: netstat –l 看2401和2402有没有监听
如果有:
tcp 0 0 *:cvspserver *:* LISTEN
cvsnt服务已经正常启动
7: 添加CVS组
sudo groupadd cvs
8: 在目录/home下创建用户liyuanchun ,属主组cvs:
sudo useradd -g cvs -d /home/liyuanchun -m liyuanchun
更改密码:
sudo passwd liyuanchun
9: 初始化仓库位置可以根据需要选定,我们在开始sudo mkdir cvsroot,所以对cvsroot初始化(会在/etc/cvsnt/PServer 文件末尾增加
记录)
sudo cvs -d /cvsroot init
10: 更改liyuanchun用户在cvsroot目录上的权限。
sudo chown -R liyuanchun:cvs /cvsroot
11: 查看下文件内容:sudo vi /etc/cvsnt/PServer
Repository0=/cvsroot/test
Repository0Name=/cvsroot/test
后面的Repository0Name就是用于cvs客户端访时提供的工程模块名字。
12: 设置/cvsroot权限,只有主组cvs的用户才能访问
sudo chmod 750 cvsroot
13: 用户控制:
CVS有两种方式控制用户:
第一种就是cvs本身通过passwd设置密码进行访问
第二种就是创建系统用户
第二种就不再详细讲了,和用户liyuanchun创建是一样的
主要说一下第一种:
13.1: 切换用户:
su liyuanchun
13.2: passwd文件中的密码是加过密的,所以需要创建一下文件:
vi /cvsroot/passwd.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}
";
13.3: 赋权限:
chmod a+x /cvsroot/passwd.pl
13.4: 如果你想生成一个密码是 "test",执行:
/cvsroot/passwd.pl "test"
打印输出的最后一行就是加密后的字符串oBV0jMseGSH5w
13.5 生成密码文件:
vi /cvsroot/CVSROOT/passwd
添加一下内容:
#例如 username:passwd:liyuanchun
test:oBV0jMseGSH5w:liyuanchun
备注: CVS官方网站上下载最新版本并安装. 官方主页:
[url]http://www.march-hare.com/cvsnt/features/cvsnt/[/url]