1。創建cvs

系統管理員登陸CVS服務器,創建CVS庫的存放目錄,比如C:\cvs\cvsrep。使用“cvs -d /cvs/cvsrep init ”初始化目錄,該命令會自動創建CVSROOT,CVS等目錄。然后,在CVS的配置文件里,同時為該庫起一個別名,比如/cvs/cvsrep,以防止用戶知道系統的真實的目錄結果。別名的設置,在Unix下,是在/etc/cvsnt/PServer文件里;Windows下,可以通過CVSNT Control Panel來進行。

 

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

 

2。創建cvs庫管理員

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

 

比如通過“cvs passwd -r cvsuser -u repadmin”創建一個叫repadmin的用戶。這里,cvs服務器上必須存在一個cvsuser的系統用戶,該用戶必須有對C:\cvs\cvsrep的完全訪問權限。cvsuser賬戶,可以為多個cvs庫用戶所共享。repadmincvs的遠程訪問,是以cvsuser的身份運行的。

 

系統管理員使用chacl命令把根目錄的確省權限設為read,nowrite,nocontrol,nocreate,notag。當然,這些工作也可以交由cvs庫管理員來做。

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

如果子目錄不重新設置權限,自動繼承父目錄的權限。

 

 

系統管理員通過emai把賬號、密碼以及CVSROOT的路徑發送給cvs庫管理員。

 

cvs庫管理遠程訪問cvs庫,比如通過pserver協議。

 

設置環境變量,set cvsroot=:pserver:repadmin@servername:/cvs/cvsrep.

 

轉到工作目錄,登陸,并初始化當前目錄

cd workdir

cvs login

cvs co .

 

修改密碼

cvs passwd

 

 

3。創建普通用戶

cvs庫管理員通過passwd創建用戶,同時設置初始密碼,然后通email告知相關信息。

cvs passwd -a -r cvsuser -u testuser

 

 

4。創建目錄樹

cvs庫管理員通過importadd命令創建目錄樹,并使用chacl命令給用戶分配權限。

可以通過lsacl命令來檢查權限的分配情況。

 

添加一個目錄

cvs add subdir

 

testuser分配subdir的讀寫權限

cvs chacl -a read,write -u testuser subdir

 

5Check in / Check out

現在普通用戶可以使用check out數據,并修改和提交了。

 

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

cd workdir

cvs co .

 

…modify files…

 

cvs commit -m "do some change"

 

結論:

1。我們不需要給cvs管理員以服務器的root賬號。而只需要一個公共的,可以訪問cvs庫目錄的賬號就可以。這個賬戶甚至不需要對外公布密碼,也不允許遠程登錄。

2。我們不需要為每個cvs用戶創建cvs服務器的系統賬號,也無需依賴文件系統的訪問控制。

3。我們可以為每個cvs庫指定庫管理員,由其對各自的cvs庫進行用戶的創建和權限分配。

4。普通用戶可以自行修改cvs賬戶的密碼,無需管理員干預。

5cvs服務器管理員的工作主要是創建cvs庫(可以創建特定的系統賬戶以負責cvs庫的創建和管理,不需要root賬戶),并負責服務器的日常維護,而日常的cvs管理由cvs庫各自的管理員完成。