1。創(chuàng)建cvs庫(kù)

系統(tǒng)管理員登陸CVS服務(wù)器,創(chuàng)建CVS庫(kù)的存放目錄,比如C:\cvs\cvsrep。使用“cvs -d /cvs/cvsrep init ”初始化目錄,該命令會(huì)自動(dòng)創(chuàng)建CVSROOT,CVS等目錄。然后,在CVS的配置文件里,同時(shí)為該庫(kù)起一個(gè)別名,比如/cvs/cvsrep,以防止用戶(hù)知道系統(tǒng)的真實(shí)的目錄結(jié)果。別名的設(shè)置,在Unix下,是在/etc/cvsnt/PServer文件里;Windows下,可以通過(guò)CVSNT Control Panel來(lái)進(jìn)行。

 

了簡(jiǎn)化操作,我們先設(shè)置環(huán)境變量,比如"set cvsroot=c:\cvs\cvsrep"。這樣,就不用每次指定CVSROOT的位置了。

 

2。創(chuàng)建cvs庫(kù)管理員

系統(tǒng)管理員使用passwd命令創(chuàng)建用戶(hù)(同時(shí)設(shè)置初始口令),然后把新建的用戶(hù)名列在CVSROOT/admin里,這些用戶(hù)就成為了CVS庫(kù)管理員。

 

比如通過(guò)“cvs passwd -r cvsuser -u repadmin”創(chuàng)建一個(gè)叫repadmin的用戶(hù)。這里,cvs服務(wù)器上必須存在一個(gè)cvsuser的系統(tǒng)用戶(hù),該用戶(hù)必須有對(duì)C:\cvs\cvsrep的完全訪(fǎng)問(wèn)權(quán)限。cvsuser賬戶(hù),可以為多個(gè)cvs庫(kù)用戶(hù)所共享。repadmin對(duì)cvs的遠(yuǎn)程訪(fǎng)問(wèn),是以cvsuser的身份運(yùn)行的。

 

系統(tǒng)管理員使用chacl命令把根目錄的確省權(quán)限設(shè)為read,nowrite,nocontrol,nocreate,notag。當(dāng)然,這些工作也可以交由cvs庫(kù)管理員來(lái)做。

比如:cvs chacl -a read,nowrite,nocontrol,nocreate,notag

如果子目錄不重新設(shè)置權(quán)限,自動(dòng)繼承父目錄的權(quán)限。

 

 

系統(tǒng)管理員通過(guò)emai把賬號(hào)、密碼以及CVSROOT的路徑發(fā)送給cvs庫(kù)管理員。

 

cvs庫(kù)管理遠(yuǎn)程訪(fǎng)問(wèn)cvs庫(kù),比如通過(guò)pserver協(xié)議。

 

設(shè)置環(huán)境變量,set cvsroot=:pserver:repadmin@servername:/cvs/cvsrep.

 

轉(zhuǎn)到工作目錄,登陸,并初始化當(dāng)前目錄

cd workdir

cvs login

cvs co .

 

修改密碼

cvs passwd

 

 

3。創(chuàng)建普通用戶(hù)

cvs庫(kù)管理員通過(guò)passwd創(chuàng)建用戶(hù),同時(shí)設(shè)置初始密碼,然后通email告知相關(guān)信息。

cvs passwd -a -r cvsuser -u testuser

 

 

4。創(chuàng)建目錄樹(shù)

cvs庫(kù)管理員通過(guò)importadd命令創(chuàng)建目錄樹(shù),并使用chacl命令給用戶(hù)分配權(quán)限。

可以通過(guò)lsacl命令來(lái)檢查權(quán)限的分配情況。

 

添加一個(gè)目錄

cvs add subdir

 

testuser分配subdir的讀寫(xiě)權(quán)限

cvs chacl -a read,write -u testuser subdir

 

5Check in / Check out

現(xiàn)在普通用戶(hù)可以使用check out數(shù)據(jù),并修改和提交了。

 

set cvsroot=:pserver:testuser@servername:/cvs/cvsrep.

cd workdir

cvs co .

 

…modify files…

 

cvs commit -m "do some change"

 

結(jié)論:

1。我們不需要給cvs管理員以服務(wù)器的root賬號(hào)。而只需要一個(gè)公共的,可以訪(fǎng)問(wèn)cvs庫(kù)目錄的賬號(hào)就可以。這個(gè)賬戶(hù)甚至不需要對(duì)外公布密碼,也不允許遠(yuǎn)程登錄。

2。我們不需要為每個(gè)cvs用戶(hù)創(chuàng)建cvs服務(wù)器的系統(tǒng)賬號(hào),也無(wú)需依賴(lài)文件系統(tǒng)的訪(fǎng)問(wèn)控制。

3。我們可以為每個(gè)cvs庫(kù)指定庫(kù)管理員,由其對(duì)各自的cvs庫(kù)進(jìn)行用戶(hù)的創(chuàng)建和權(quán)限分配。

4。普通用戶(hù)可以自行修改cvs賬戶(hù)的密碼,無(wú)需管理員干預(yù)。

5cvs服務(wù)器管理員的工作主要是創(chuàng)建cvs庫(kù)(可以創(chuàng)建特定的系統(tǒng)賬戶(hù)以負(fù)責(zé)cvs庫(kù)的創(chuàng)建和管理,不需要root賬戶(hù)),并負(fù)責(zé)服務(wù)器的日常維護(hù),而日常的cvs管理由cvs庫(kù)各自的管理員完成。