一 CVS服務(wù)器的安裝:
1。查看你的操作系統(tǒng)上是否安裝了CVS:
#> rpm -qa|grep cvs
如果沒(méi)有安裝你可以在Redhat 第2張光盤上找到,另外你也可以在網(wǎng)上下載到最新的rpm包。很容易找,其實(shí)不存在什么linux版本。
2。建立cvs用戶組:
#> groupadd cvs
3。建立cvs組的cvsroot用戶和所屬的目錄:
#> useradd -g cvs -G cvs –d /cvsroot cvsroot
4。為cvsroot用戶添加密碼:
#> passwd cvsroot
5。改變 /cvsroot/ 的目錄屬性:
#> chmod –R 770 /cvsroot
6。改變用戶登陸身份:
#> su cvsroot
7。開(kāi)始創(chuàng)建單個(gè)項(xiàng)目:
#> cd /cvsroot
#> mkdir project1
#>mkdir project2
8。開(kāi)始建立倉(cāng)庫(kù):
#> cvs –d /cvsroot/project1 init
#> cvs –d /cvsroot/project2 init
#> chmod –R 770 ./project1/ ./project2/
9。建立CVS服務(wù)啟動(dòng)文件,我們使用xinetd方式:
#> [Crtl]+[d] 切換到root用戶身份
#> cd /etc/xinetd.d
#> vi cvspserver
service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server= /usr/bin/cvs
server_args= -f --allow-root=/home2/cvsroot/project1 --allow-root=/home2/cvsroot/project2 pserver
log_on_failure += USERID
}
注:由于xinetd的server_args長(zhǎng)度限制,當(dāng)你想運(yùn)行很多的單個(gè)倉(cāng)庫(kù)的時(shí)候,可以這么做:
#> vi cvspserver
service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /cvsroot/cvs.run
log_on_failure += USERID
}
編寫cvs.run腳本
#> vi /cvsroot/cvs.run
#!/bin/bash
/usr/bin/cvs -f \
--allow-root=/cvsroot/project1 \
--allow-root=/cvsroot/project2 \
pserver
#>chmod +x /cvsroot/cvs.run
10。加入cvs服務(wù):
#>vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service
11。啟動(dòng)cvs服務(wù):
#> /etc/init.d/xinetd restart
12。檢查cvspserver服務(wù)是否已經(jīng)啟動(dòng):
#> netstat -l |grep cvspserver
應(yīng)該有如下結(jié)果:
tcp 0 0 *:cvspserver *:* LISTEN
二。CVS服務(wù)的用戶管理:
上面我們已經(jīng)建立了project1和project2兩個(gè)CVS倉(cāng)庫(kù),下面我們分別給兩個(gè)倉(cāng)庫(kù)建立cvs用戶。
13。創(chuàng)建可以登陸cvs服務(wù)器的用戶名和密碼:
#> su cvsroot
#> vi /cvsroot/project1/CVSROOT/passwd
trotter:*****:cvsroot
mimi:*****:cvsroot
#>vi /cvsroot/project2/CVSROOT/passwd
trotter:*****:cvsroot
gary:*****:cvsroot
這兩個(gè)文件的意思是有trotter,mimi,gary三個(gè)cvs用戶,mimi擁有project1的使用權(quán)限,gary擁有project2的使用權(quán)限,trotter擁有project1和project2的使用權(quán)限。登陸后的權(quán)限是cvsroot權(quán)限。
注意:這里的cvs用戶和系統(tǒng)用戶是不同的。
14。*****為密碼,由以下文件生成:
#> 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}
";
#>chmod a+x /cvsroot/passwd.pl
15。如果你想生成一個(gè)密碼是“123456”,則:
#> /cvsroot/passwd.pl “123456”
回車即可得到加密密碼,用其替換passwd文件中的*****
16。Ok,cvs現(xiàn)在已經(jīng)全部安裝完成了,如果你想讓一個(gè)用戶擁有project1的權(quán)限,你就在/cvsroot/project1/CVSROOT/passwd中給他加入一個(gè)用戶;如果你想讓一個(gè)用戶同時(shí)具有project1和project2的權(quán)限,你就給/cvsroot/project1/CVSROOT/passwd和/cvsroot/project2/CVSROOT/passwd里給他加一個(gè)用戶名和密碼相同的用戶即可。最后,我們?cè)囉靡幌拢?/p>
#> cvs -d :pserver:trotter@192.168.1.200:/cvsroot/project1 login
敲入命令回車后提示輸入trotter的密碼,你按照自己設(shè)置的密碼輸入,如果沒(méi)有什么錯(cuò)誤信息出現(xiàn)就是成功了(我的機(jī)器IP地址是192.168.1.200)
聯(lián)系客服