|
寫(xiě)下來(lái)備個(gè)案。
這里綜合了網(wǎng)上一些教程的內(nèi)容和本人的實(shí)踐,出處就沒(méi)法一一給出了,如有得罪,還請(qǐng)見(jiàn)諒。
本人用的是CVSNT 2.0.51c,用最新的版本在Eclipse中死活不能列出服務(wù)器里內(nèi)容,換了這個(gè)版本就好了,現(xiàn)在也不知道怎么回事。
首先安裝,如果是使用安裝包的版本,很簡(jiǎn)單,一路NEXT;如果是使用直接解壓的版本,解壓縮后把cvsnt.cpl和setuid.dll復(fù)制到%WINROOT%\system32下,并在當(dāng)前目錄下執(zhí)行以下命令注冊(cè)CVSNT系統(tǒng)服務(wù):
cvsservice -i cvslock -i
完成后可以在控制面版里看到CVS for NT的圖標(biāo),在里面先啟動(dòng)CVS Service和CVS Lock Service,注意如果使用的是解壓的版本,還要在CVSNT目錄下運(yùn)行一下genkey生成SSL的密鑰:
genkey.exe cvsnt-default.pem
并在SSL settings中選擇一下剛剛生成的密鑰文件,這個(gè)好像沒(méi)有SSL登陸就沒(méi)用,假設(shè)一下,沒(méi)用過(guò)。 如圖:
 設(shè)置Repository,就是CVSNT資源庫(kù)的位置,切換到Repositories選項(xiàng)卡,Add添加CVSNT資源庫(kù)的位置,此處Location選為E:/CVSNT/Repository,Name是訪問(wèn)CVSNT服務(wù)器時(shí)使用的路徑名,按默認(rèn)即可,本人是/CVSNT/Repository,如果是新建的目錄,會(huì)提示你是否初始化Repository,同意即可。如圖:
 切換到Advanced,先在Use local users for pserver authentication instead of domain users和Pretend to be a Unix CVS version鉤上,這是讓CVSNT使用本地賬戶(hù)作為pserver認(rèn)證方式以及讓CVSNT服務(wù)器模擬為Unix CVS服務(wù)器,如圖:
 CVSNT服務(wù)器已經(jīng)配置好了,接下來(lái)是我使用過(guò)程中遇到問(wèn)題最多的用戶(hù)配置。
先說(shuō)下CVSNT的用戶(hù)驗(yàn)證方式,CVSNT的用戶(hù)驗(yàn)證方式分兩種:Windows系統(tǒng)用戶(hù)與CVSNT用戶(hù)共存的混合驗(yàn)證方式,及CVSNT用戶(hù)單一驗(yàn)證方式,默認(rèn)工作在混合驗(yàn)證方式下,當(dāng)然使用單一驗(yàn)證方式對(duì)用戶(hù)的管理肯定比較方便一點(diǎn),因此下面的配置就是圍繞該方式進(jìn)行的。各個(gè)資源庫(kù)所使用的驗(yàn)證方式及用戶(hù)配置由其目錄下CVSROOT里的配置文件決定,其中有幾個(gè)比較重要的文件。
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)用戶(hù)和CVSNT用戶(hù)來(lái)共同驗(yàn)證(若CVSNT用戶(hù)未定義,則用Windows系統(tǒng)用戶(hù)來(lái)進(jìn)行驗(yàn)證),默認(rèn)為yes,CVSNT用戶(hù)在后面將要介紹的passwd文件中定義。
no:只使用CVSNT用戶(hù)來(lái)進(jìn)行驗(yàn)證。
該文件可以在客戶(hù)端進(jìn)行修改,因此我們可以將其checkout出來(lái)將第二行改為SystemAuth=no,并commit到CVSNT上就可以啟用單一驗(yàn)證方式了,注意啟用單一驗(yàn)證方式后原來(lái)的Windows系統(tǒng)用戶(hù)將變?yōu)闊o(wú)效,因此要注意執(zhí)行該步驟的時(shí)機(jī)。
2、 admin文件
該文件保存CVSNT管理員用戶(hù)列表,內(nèi)容很簡(jiǎn)單,形式如下: User1 User2 User3 每一行定義一個(gè)管理員用戶(hù),默認(rèn)時(shí)沒(méi)有該文件,但你可以在客戶(hù)端自己添加并add上去,再commit到CVSNT上,但是光有這個(gè)文件還是不會(huì)生效的,還要將其添加到checklist文件中,使CVSNT能夠讀取該文件的內(nèi)容,在checklist中添加文件列表的格式為:
[空格]文件名 出錯(cuò)信息
其中文件名前的空格必須要有的,不然會(huì)出錯(cuò)。 我們可以先添加admin文件到CVSNT中,再修改checklist文件commit,就可以使admin文件生效了。
3、passwd文件
服務(wù)器工作在CVSNT用戶(hù)單一驗(yàn)證方式下的時(shí)候,這個(gè)文件定義了CVSNT的用戶(hù)信息,這里面保存著用戶(hù)名,用戶(hù)密碼,以及別名信息。默認(rèn)狀態(tài)下沒(méi)有該文件,但是我們可以在CVSNT還工作在混合驗(yàn)證方式下時(shí),用系統(tǒng)管理員登錄,通過(guò)添加用戶(hù)命令來(lái)讓CVSNT自動(dòng)建立一個(gè)passwd文件。
添加用戶(hù)的命令的示例:
cvs passwd –r administrator –a cvsadmin
之后系統(tǒng)提示輸入密碼,輸入后服務(wù)器會(huì)新建一個(gè)passwd文件。
該文件的內(nèi)容很簡(jiǎn)單,形式如下:
cvsadmin:fqr1fS4gDghrt:administrator kid:aTXRfS31Bm6JA mystique:Yna4QcXz9dEqd
以第一行為例:cvsadmin為用戶(hù)名,fqr1fS4gDghrt為CVS使用UNIX標(biāo)準(zhǔn)加密函數(shù)對(duì)密碼進(jìn)行加密后的結(jié)果,administrator為該用戶(hù)的別名,當(dāng)使用混合驗(yàn)證方式時(shí)對(duì)應(yīng)Windows系統(tǒng)用戶(hù)名。
注意:這個(gè)文件是不能在客戶(hù)端進(jìn)行修改的,不能checkout出來(lái)。
4、group文件
該文件定義CVSNT中組信息,同組里的用戶(hù)擁有一樣的權(quán)限,對(duì)組權(quán)限的修改和對(duì)用戶(hù)權(quán)限的修改一樣。
group文件的內(nèi)容為
administrators:cvsadmin kid mystique users:User1 User2 User3
可以看到該文件的內(nèi)容也很簡(jiǎn)單,組名:用戶(hù)名,多個(gè)用戶(hù)名之間用空格隔開(kāi)。
Group文件可以在客戶(hù)端修改,不用修改checkoutlist這個(gè)文件,系統(tǒng)會(huì)自動(dòng)使其生效。
作為組里面的特定成員可以賦給特定的權(quán)限。
了解了以上內(nèi)容,下面我說(shuō)一下我自己的配置步驟,我沒(méi)有使用WinCVS進(jìn)行操作,是直接使用命令行進(jìn)行修改的,覺(jué)得這樣思路比較清晰:
1、添加系統(tǒng)變量CVSROOT=E:/CVSNT/Repository,并把E:\CVSNT加入到系統(tǒng)Path路徑。
2、進(jìn)入命令提示符,因?yàn)榇藭r(shí)為混合驗(yàn)證模式,可以不用不用登陸直接進(jìn)行checkout??梢越⒁粋€(gè)工作目錄,在該目錄下進(jìn)行操作,我這里為E:/CVSNT/Works。
檢出CVSROOT目錄: cvs co CVSROOT
3、添加CVSNT系統(tǒng)管理員用戶(hù),此時(shí)會(huì)提示設(shè)置用戶(hù)密碼:
cvs passwd –r administrator –a cvsadmin
4、修改CVSROOT訪問(wèn)權(quán)限:
cd CVSROOT cvs chown cvsadmin //更改所有者為cvsadmin cvs chacl default:n //默認(rèn)權(quán)限為n cvs chacl cvsadmin:rwc //添加cvsadmin
5、修改config文件,按上面的方法修改后commit:
cvs ci
6、此時(shí)單一驗(yàn)證方式已經(jīng)啟用了,也就是只能使用剛才添加的cvsadmin進(jìn)行登錄,此時(shí)可以把CVSNT控制面板上的Use local users for pserver authentication instead of domain users關(guān)掉。登錄前還要改一下系統(tǒng)變量CVSROOT,關(guān)閉命令提示符窗口,修改CVSROOT為:
:pserver:cvsadmin@192.168.0.1:4021/CVSNT/Repository
這里的192.168.0.1是服務(wù)器的IP地址,/CVSNT/Repository就是前面設(shè)置Repository時(shí)設(shè)置的Name,可以改為你機(jī)器上的配置。修改系統(tǒng)變量之后以下的步驟在任何與服務(wù)器相連的機(jī)器上進(jìn)行,當(dāng)然該機(jī)器上應(yīng)該有CVSNT的可執(zhí)行文件。
7、如果為了避免出現(xiàn)錯(cuò)誤,先重啟一下CVSNT服務(wù)器,再啟動(dòng)命令提示符來(lái)到E:/CVSNT/Works,因?yàn)橐呀?jīng)啟用單一驗(yàn)證方式,先要進(jìn)行登錄。
cvs login 輸入密碼,此時(shí)就是以cvsadmin登錄了。 8、添加admin文件,首先將CVSROOT檢出,在CVSROOT下新建admin文件,內(nèi)容為 cvsadmin 執(zhí)行命令: cvs add admin cvs ci 9、修改checklist文件,在該文件末尾添加一行:
[空格]admin error message 注意:admin前的空格不能少。 執(zhí)行命令: cvs ci 經(jīng)過(guò)以上步驟,可以說(shuō)用戶(hù)配置已經(jīng)基本完成了,CVSNT可以很好的工作在單一驗(yàn)證方式下。進(jìn)一步的管理可使用以下命令:
添加用戶(hù): cvs passwd -a username,使用時(shí)不必理會(huì)需要添加別名的提示。
修改用戶(hù)權(quán)限:cvs chacl username:r|w|c|n,(r:Read w:write c:control n:none)
要添加組管理,只需同添加admin步驟一樣,按照格式要求新建group文件即可。
如果還有不清楚的可以看看自帶的文檔,說(shuō)得還是比較詳細(xì)的。
ok,差不多就是這些,有錯(cuò)還請(qǐng)各位幫忙指出,還在學(xué)習(xí)ING |