CVSNT在Windows下的安裝和使用
|
先說(shuō)下CVSNT的用戶驗(yàn)證方式,CVSNT的用戶驗(yàn)證方式分兩種:Windows系統(tǒng)用戶與CVSNT用戶共存的混合驗(yàn)證方式,及CVSNT用戶?單一驗(yàn)證方式,默認(rèn)工作在混合驗(yàn)證方式下,當(dāng)然使用單一驗(yàn)證方式對(duì)用戶的管理肯定比較方便一點(diǎn),因此下面的配置就是圍繞該方式進(jìn)行的。各個(gè)資源庫(kù)所使用的?驗(yàn)證方式及用戶配置由其目錄下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)用戶和CVSNT用戶來(lái)共同驗(yàn)證(若CVSNT用戶未定義,則用Windows系統(tǒng)用戶來(lái)進(jìn)行驗(yàn)證),默認(rèn)為yes,CVSNT用戶在后面將要介紹的passwd文件中定義。
no:只使用CVSNT用戶來(lái)進(jìn)行驗(yàn)證。
該文件可以在客戶端進(jìn)行修改,因此我們可以將其checkout出來(lái)將第二行改為SystemAuth=no,并commit到CVSNT上就可以啟用單一驗(yàn)證方式了,注意啟用單一驗(yàn)證方式后原來(lái)的Windows系統(tǒng)用戶將變?yōu)闊o(wú)效,因此要注意執(zhí)行該步驟的時(shí)機(jī)。
2、?admin文件
該文件保存CVSNT管理員用戶列表,內(nèi)容很簡(jiǎn)單,形式如下: User1 User2 User3 每一行定義一個(gè)管理?員用戶,默認(rèn)時(shí)沒(méi)有該文件,但你可以在客戶端自己添加并add上去,再commit到CVSNT上,但是光有這個(gè)文件還是不會(huì)生效的,還要將其添加到?checklist文件中,使CVSNT能夠讀取該文件的內(nèi)容,在checklist中添加文件列表的格式為: [空格]文件名?出錯(cuò)信息 其中文件名前的空格必須要有的,不然會(huì)出錯(cuò)。 我們可以先添加admin文件到CVSNT中,再修改checklist文件commit,就可以使admin文件生效了。 3、passwd文件 服務(wù)器工作在CVSNT用戶單一驗(yàn)證方式下的時(shí)候,這個(gè)文件定義了CVSNT的用戶信息,這里面保存著用戶名,用戶密碼,以及別名信息。默認(rèn)狀態(tài)下?沒(méi)有該文件,但是我們可以在CVSNT還工作在混合驗(yàn)證方式下時(shí),用系統(tǒng)管理員登錄,通過(guò)添加用戶命令來(lái)讓CVSNT自動(dòng)建立一個(gè)passwd文件。 添加用戶的命令的示例: cvs?passwd?–r?administrator?–a?cvsadmin 之后系統(tǒng)提示輸入密碼,輸入后服務(wù)器會(huì)新建一個(gè)passwd文件。 該文件的內(nèi)容很簡(jiǎn)單,形式如下: cvsadmin:fqr1fS4gDghrt:administrator kid:aTXRfS31Bm6JA mystique:Yna4QcXz9dEqd 以第一行為例:cvsadmin為用戶名,fqr1fS4gDghrt為CVS使用UNIX標(biāo)準(zhǔn)加密函數(shù)對(duì)密碼進(jìn)行加密后的結(jié)果,administrator為該用戶的別名,當(dāng)使用混合驗(yàn)證方式時(shí)對(duì)應(yīng)Windows系統(tǒng)用戶名。 注意:這個(gè)文件是不能在客戶端進(jìn)行修改的,不能checkout出來(lái)。 4、group文件 該文件定義CVSNT中組信息,同組里的用戶擁有一樣的權(quán)限,對(duì)組權(quán)限的修改和對(duì)用戶權(quán)限的修改一樣。 group文件的內(nèi)容為 administrators:cvsadmin?kid?mystique users:User1?User2?User3 可以看到該文件的內(nèi)容也很簡(jiǎn)單,組名:用戶名,多個(gè)用戶名之間用空格隔開。 Group文件可以在客戶端修改,不用修改checkoutlist這個(gè)文件,系統(tǒng)會(huì)自動(dòng)使其生效。 作為組里面的特定成員可以賦給特定的權(quán)限。 了解了以上內(nèi)容,下面我說(shuō)一下我自己的配置步驟,我沒(méi)有使用WinCVS進(jìn)行操作,是直接使用命令行進(jìn)行修改的,覺得這樣思路比較清晰: 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)管理員用戶,此時(shí)會(huì)提示設(shè)置用戶密碼: ?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ō)用戶配置已經(jīng)基本完成了,CVSNT可以很好的工作在單一驗(yàn)證方式下。進(jìn)一步的管理可使用以下命令:
添加用戶:?cvs?passwd?-a?username,使用時(shí)不必理會(huì)需要添加別名的提示。
修改用戶權(quán)限:cvs?chacl?username:r|w|c|n,(r:Read?w:write?c:control?n:none)
要添加組管理,只需同添加admin步驟一樣,按照格式要求新建group文件即可。
|