在服務(wù)器端安裝好cvs后,建立一個(gè)或多個(gè)庫,這樣,在每個(gè)庫中自動(dòng)生成CVSROOT文件夾,里面有很多重要的配置文件,有些文件是自動(dòng)存在了的(如config,passwd。其中passwd文件在沒有添加任何用戶時(shí),是不存在的,當(dāng)用命令添加了一個(gè)用戶后,這個(gè)文件便自動(dòng)生成了),而有些是需要cvs系統(tǒng)管理員手動(dòng)建立的(如admin,group)。
1、config文件
控制CVSNT的驗(yàn)證工作方式的是config文件,注意該文件前面的兩行:
#Set this to `no" if pserver shouldn"t check system users/passwords
#SystemAuth=yes
第二行是我們要修改的內(nèi)容,默認(rèn)狀態(tài)是被注釋掉的,SystemAuth有兩個(gè)值yes和no:
yes:pserver將使用Windows系統(tǒng)用戶和CVSNT用戶來共同驗(yàn)證(若CVSNT用戶未定義,則用Windows系統(tǒng)用戶來進(jìn)行驗(yàn)證),默認(rèn)為yes,CVSNT用戶在后面將要介紹的passwd文件中定義。
no:只使用CVSNT用戶來進(jìn)行驗(yàn)證。
config文件不能在服務(wù)器端修改(因?yàn)楦袷綖镕ILE的文件是無法在CVSNT服務(wù)器端進(jìn)行編輯保存的), 但可以將其checkout到客戶端后進(jìn)行修改,將第二行改為SystemAuth=no,再commit到服務(wù)器CVSNT上,則可以啟用單一驗(yàn)證方式了。
注意:?jiǎn)⒂脝我或?yàn)證方式后原來的Windows系統(tǒng)用戶將變?yōu)闊o效,因此要注意執(zhí)行該步驟的時(shí)機(jī)。要保證passwd文件已存在且有用戶了,否則無人可以登陸此庫了,config文件也checkout不下來了,無法修改回去了。 有一個(gè)解決辦法是,從其他庫的CVSROOT目錄下找一個(gè)SystemAuth=yes的config文件,復(fù)制它,覆蓋此庫CVSROOT下的config文件。
config文件在建立庫時(shí)自動(dòng)生成 位于CVSROOT目錄下,這里可以得出結(jié)論,對(duì)于不同的庫,可以給不同的驗(yàn)證方式。所以,在每個(gè)庫建立的時(shí)候要首先設(shè)定好這些前提。
2、 admin文件
設(shè)置systemAuth后,在cvsroot目錄下建立admin文件,這個(gè)文件是保存CVSNT的管理員列表的文件,CVSNT根據(jù)這個(gè)文件來判斷一個(gè)用戶是否是管理員。
有些人喜歡直接在服務(wù)器的CVSROOT目錄下新建admin文件,這樣,如果你想從服務(wù)器checkout CVSROOT目錄到本機(jī),這個(gè)文件將不會(huì)被checkout出來。所以好的辦法是,從服務(wù)器checkout CVSROOT目錄到本機(jī)后,再在本機(jī)客戶端的cvsroot目錄下新建一個(gè)admin文件,然后add,再commit到服務(wù)端,這樣下次文件可以checkout出來了!
在客戶端創(chuàng)建admin文件:
先進(jìn)入cvsroot目錄下,再用命令:echo>>admin
該文件的內(nèi)容很簡(jiǎn)單,形式如下:
User1
User2
User3
每一行定義一個(gè)管理 員用戶,默認(rèn)時(shí)沒有該文件,但你可以在客戶端自己添加并add上去,再commit到CVSNT上,但是光有這個(gè)文件還是不會(huì)生效的,還要將其添加到 checklist文件中,使CVSNT能夠讀取該文件的內(nèi)容,在checkoutlist中添加文件列表的格式為:
[空格]文件名 出錯(cuò)信息
其中文件名前的空格必須要有的,不然會(huì)出錯(cuò)。
我們可以先添加admin文件到CVSNT中,再修改checklist文件commit,可以使admin文件生效了。
Checkoutlist是維護(hù)的一個(gè)文件列表,可以放入系統(tǒng)自動(dòng)build用戶自定義的系統(tǒng)文件列表,注意:對(duì)passwd不生效。