一 CVS服務器的安裝:
1。查看你的操作系統上是否安裝了CVS:
#> rpm -qa|grep cvs
如果沒有安裝你可以在Redhat 第2張光盤上找到
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。開始創建單個項目:
#> cd /cvsroot
#> mkdir project1
#>mkdir project2
8。開始建立倉庫:
#> cvs –d /cvsroot/project1 init
#> cvs –d /cvsroot/project2 init
#> chmod –R 770 ./project1/ ./project2/
9。建立CVS服務啟動文件,我們使用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長度限制,當你想運行很多的單個倉庫的時候,可以這么做:
#> 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服務:
#>vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service
11。啟動cvs服務:
#> /etc/init.d/xinetd restart
12。檢查cvspserver服務是否已經啟動:
#> netstat -l |grep cvspserver
應該有如下結果:
tcp 0 0 *:cvspserver *:* LISTEN
二。CVS服務的用戶管理:
上面我們已經建立了project1和project2兩個CVS倉庫,下面我們分別給兩個倉庫建立cvs用戶。
13。創建可以登陸cvs服務器的用戶名和密碼:
#> su cvsroot
#> vi /cvsroot/project1/CVSROOT/passwd
trotter:*****:cvsroot
mimi:*****:cvsroot
#>vi /cvsroot/project2/CVSROOT/passwd
trotter:*****:cvsroot
gary:*****:cvsroot
這兩個文件的意思是有trotter,mimi,gary三個cvs用戶,mimi擁有project1的使用權限,gary擁有project2的使用權限,trotter擁有project1和project2的使用權限。登陸后的權限是cvsroot權限。
注意:這里的cvs用戶和系統用戶是不同的。
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。如果你想生成一個密碼是“123456”,則:
#> /cvsroot/passwd.pl “123456”
回車即可得到加密密碼,用其替換passwd文件中的*****
16。Ok,cvs現在已經全部安裝完成了,如果你想讓一個用戶擁有project1的權限,你就在/cvsroot/project1/CVSROOT/passwd中給他加入一個用戶;如果你想讓一個用戶同時具有project1和project2的權限,你就給/cvsroot/project1/CVSROOT/passwd和/cvsroot/project2/CVSROOT/passwd里給他加一個用戶名和密碼相同的用戶即可。最后,我們試用一下:
#> cvs -d :pserver:trotter@192.168.1.200:/cvsroot/project1 login
敲入命令回車后提示輸入trotter的密碼,你按照自己設置的密碼輸入,如果沒有什么錯誤信息出現就是成功了
posted on 2006-11-16 18:42
Derek.Guo 閱讀(429)
評論(0) 編輯 收藏 所屬分類:
Linux/Unix