摘錄地址:
http://fns.blog.hexun.com/1664381_d.htmlCVSNT在Windows下的安裝和使用 |
先說下CVSNT的用戶驗證方式,CVSNT的用戶驗證方式分兩種:Windows系統(tǒng)用戶與CVSNT用戶共存的混合驗證方式,及CVSNT用戶?單一驗證方式,默認(rèn)工作在混合驗證方式下,當(dāng)然使用單一驗證方式對用戶的管理肯定比較方便一點,因此下面的配置就是圍繞該方式進行的。各個資源庫所使用的?驗證方式及用戶配置由其目錄下CVSROOT里的配置文件決定,其中有幾個比較重要的文件。
1、config文件
控制CVSNT的驗證工作方式的就是config文件,注意該文件最前面的兩行:
#Set?this?to?`no"?if?pserver?shouldn"t?check?system?users/passwords #SystemAuth=yes
第二行就是我們要修改的內(nèi)容,默認(rèn)狀態(tài)是被注釋掉的,SystemAuth有兩個值yes和no:
yes:pserver將使用Windows系統(tǒng)用戶和CVSNT用戶來共同驗證(若CVSNT用戶未定義,則用Windows系統(tǒng)用戶來進行驗證),默認(rèn)為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 每一行定義一個管理?員用戶,默認(rèn)時沒有該文件,但你可以在客戶端自己添加并add上去,再commit到CVSNT上,但是光有這個文件還是不會生效的,還要將其添加到?checklist文件中,使CVSNT能夠讀取該文件的內(nèi)容,在checklist中添加文件列表的格式為: [空格]文件名?出錯信息 其中文件名前的空格必須要有的,不然會出錯。 我們可以先添加admin文件到CVSNT中,再修改checklist文件commit,就可以使admin文件生效了。 3、passwd文件 服務(wù)器工作在CVSNT用戶單一驗證方式下的時候,這個文件定義了CVSNT的用戶信息,這里面保存著用戶名,用戶密碼,以及別名信息。默認(rèn)狀態(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標(biāo)準(zhǔn)加密函數(shù)對密碼進行加密后的結(jié)果,administrator為該用戶的別名,當(dāng)使用混合驗證方式時對應(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???//默認(rè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ù)器相連的機器上進行,當(dāng)然該機器上應(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文件即可。