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