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服務是否已經(jīng)啟動:
#> netstat -l |grep cvspserver
應該有如下結(jié)果:
tcp 0 0 *:cvspserver *:* LISTEN
二。CVS服務的用戶管理:
上面我們已經(jīng)建立了project1和project2兩個CVS倉庫,下面我們分別給兩個倉庫建立cvs用戶。
13。創(chuàng)建可以登陸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的使用權(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。如果你想生成一個密碼是“123456”,則:
#> /cvsroot/passwd.pl “123456”
回車即可得到加密密碼,用其替換passwd文件中的*****
16。Ok,cvs現(xiàn)在已經(jīng)全部安裝完成了,如果你想讓一個用戶擁有project1的權(quán)限,你在/cvsroot/project1/CVSROOT/passwd中給他加入一個用戶;如果你想讓一個用戶同時具有project1和project2的權(quán)限,你給/cvsroot/project1/CVSROOT/passwd和/cvsroot/project2/CVSROOT/passwd里給他加一個用戶名和密碼相同的用戶即可。后,我們試用一下:
#> cvs -d :pserver:trotter@192.168.1.200:/cvsroot/project1 login
敲入命令回車后提示輸入trotter的密碼,你按照自己設置的密碼輸入,如果沒有什么錯誤信息出現(xiàn)是成功了(我的機器IP地址是192.168.1.200)
***CVS服務器建立和權(quán)限配置
建立一個源代碼庫主要有以下幾步:
(1)初始化cvs服務器環(huán)境。
#cvs -d/usr/local/source init
之后進入/usr/local/source,可以看到有一個目錄CVSROOT,下面是初始化后的CVS服務器配置文件。暫且保持不動。
(2)把cvs服務放到xinetd系統(tǒng)服務中。
首先在/etc/xinetd.d目錄下生成任務配置文件cvspserver,文件名稱可以隨便用。
其中內(nèi)容大致如下:
service cvspserver
{
flags = REUSE
socket_type = stream
wait = no
user = root
protocol = tcp
server = /usr/bin/cvs
server_args = -f --allow-root=/usr/local/source pserver
disable = no
}
其中server_args一個參數(shù)指定了源代碼庫路徑,一個指定了服務器使用密碼認證方式。
第二,要確認/etc/services文件中,有cvspserver關鍵詞,并分配了端口,如:cvspserver 2401/tcp。
第三,重新啟動xinetd服務,cvs服務可以用了。
(3)測試。假定cvs服務器在192.168.0.205上,系統(tǒng)上有一個用戶cvs。登陸另一臺linxu機器,執(zhí)行下列命令可以完成測試:
$export CVSROOT=:pserver:cvs@192.168.0.205:2401/usr/local/source
$cvs login
輸入密碼,沒有出錯提示表示登陸成功。
如果想在一個linux系統(tǒng)上建多個源代碼庫,分別提供cvs服務。重復上面步驟可以了。
第一步時候要注意使用一個不同路徑。
第二步放到xinetd系統(tǒng)服務中稍微麻煩點。/etc/xinetd.d目錄下要生成一個新的任務配置文件,例如cvspserver1,文件中service名稱一定要區(qū)分第一個,例如service cvspserver1,server_args做相應變動。還要在/etc/services文件中,加入新的服務端口號,例如:cvspserver1 2402/tcp。重新啟動xinetd服務.
第三步測試時候,可以這樣設定:
$export CVSROOT=:pserver:cvs@192.168.0.205:2402/usr/local/source1
......