CVS:Windows下cvsnt服務器配置

CVS是Concurrent Versions System(併發版本系統)的簡稱,是一個開放源代碼的項目.

安裝完畢運行Service control panel.點擊Repositories,在點擊add,創建一個存放版本文件的目錄(如: d:/cvsRepositories).
cvs客戶端要連接到服務器, 需要在服務器端分配一個用戶,而且要是windows的登陸用戶.命令:
用命令行到其安裝目錄下, 輸入:cvs -d d:/cvsRepositories passwd -a username 回車輸入密碼,可以與系統密碼不同。
或者直接在windows的用戶管理裏面添加用戶即可。

CVS是一個C/S系統,多個開發人員通過一箇中心版本控制系統來記錄文件版本,從而達到保證文件同步的目的。

先說下CVSNT的用戶驗證方式,CVSNT的用戶驗證方式分兩種:Windows系統用戶與CVSNT用戶共存的混合驗證方式,及CVSNT用戶 單一驗證方式,默認工作在混合驗證方式下,當然使用單一驗證方式對用戶的管理肯定比較方便一點,因此下面的配置就是圍繞該方式進行的。各個資源庫所使用的 驗證方式及用戶配置由其目錄下CVSROOT裏的配置文件決定,其中有幾個比較重要的文件。


1、config文件

控制CVSNT的驗證工作方式的就是config文件,注意該文件最前面的兩行:

#Set this to `no" if pserver shouldn"t check system users/passwords
#SystemAuth=yes

第二行就是我們要修改的內容,默認狀態是被註釋掉的,SystemAuth有兩個值yes和no:

yes:pserver將使用Windows系統用戶和CVSNT用戶來共同驗證(若CVSNT用戶未定義,則用Windows系統用戶來進行驗證),默認爲yes,CVSNT用戶在後面將要介紹的passwd文件中定義。

no:只使用CVSNT用戶來進行驗證。

該文件可以在客戶端進行修改,因此我們可以將其checkout出來將第二行改爲SystemAuth=no,並commit到CVSNT上就可以啓用單一驗證方式了,注意啓用單一驗證方式後原來的Windows系統用戶將變爲無效,因此要注意執行該步驟的時機。

2、 admin文件

該文件保存CVSNT管理員用戶列表,內容很簡單,形式如下:
User1
User2
User3
每一行定義一個管理 員用戶,默認時沒有該文件,但你可以在客戶端自己添加並add上去,再commit到CVSNT上,但是光有這個文件還是不會生效的,還要將其添加到 checklist文件中,使CVSNT能夠讀取該文件的內容,在checklist中添加文件列表的格式爲:

[空格]文件名 出錯信息

其中文件名前的空格必須要有的,不然會出錯。
我們可以先添加admin文件到CVSNT中,再修改checklist文件commit,就可以使admin文件生效了。

3、passwd文件

服務器工作在CVSNT用戶單一驗證方式下的時候,這個文件定義了CVSNT的用戶信息,這裏面保存着用戶名,用戶密碼,以及別名信息。默認狀態下 沒有該文件,但是我們可以在CVSNT還工作在混合驗證方式下時,用系統管理員登錄,通過添加用戶命令來讓CVSNT自動建立一個passwd文件。

添加用戶的命令的示例:

cvs passwd –r administrator –a cvsadmin

之後系統提示輸入密碼,輸入後服務器會新建一個passwd文件。

該文件的內容很簡單,形式如下:

cvsadmin:fqr1fS4gDghrt:administrator
kid:aTXRfS31Bm6JA
mystique:Yna4QcXz9dEqd

以第一行爲例:cvsadmin爲用戶名,fqr1fS4gDghrt爲CVS使用UNIX標準加密函數對密碼進行加密後的結果,administrator爲該用戶的別名,當使用混合驗證方式時對應Windows系統用戶名。

注意:這個文件是不能在客戶端進行修改的,不能checkout出來。

4、group文件

該文件定義CVSNT中組信息,同組裏的用戶擁有一樣的權限,對組權限的修改和對用戶權限的修改一樣。

group文件的內容爲

administrators:cvsadmin kid mystique
users:User1 User2 User3

可以看到該文件的內容也很簡單,組名:用戶名,多個用戶名之間用空格隔開。

Group文件可以在客戶端修改,不用修改checkoutlist這個文件,系統會自動使其生效。

作爲組裏面的特定成員可以賦給特定的權限。

瞭解了以上內容,下面我說一下我自己的配置步驟,我沒有使用WinCVS進行操作,是直接使用命令行進行修改的,覺得這樣思路比較清晰:

1、添加系統變量CVSROOT=E:/CVSNT/Repository,並把E:/CVSNT加入到系統Path路徑。

2、進入命令提示符,因爲此時爲混合驗證模式,可以不用不用登陸直接進行checkout。可以建立一個工作目錄,在該目錄下進行操作,我這裏爲E:/CVSNT/Works。

檢出CVSROOT目錄:

cvs co CVSROOT

3、添加CVSNT系統管理員用戶,此時會提示設置用戶密碼:

cvs passwd –r administrator –a cvsadmin

4、修改CVSROOT訪問權限:

cd CVSROOT
cvs chown cvsadmin //更改所有者爲cvsadmin
cvs chacl default:n //默認權限爲n
cvs chacl cvsadmin:rwc //添加cvsadmin

5、修改config文件,按上面的方法修改後commit:

cvs ci

6、此時單一驗證方式已經啓用了,也就是隻能使用剛纔添加的cvsadmin進行登錄,此時可以把CVSNT控制面板上的Use local users for pserver authentication instead of domain users關掉。登錄前還要改一下系統變量CVSROOT,關閉命令提示符窗口,修改CVSROOT爲:

:pserver:[email protected]:4021/CVSNT/Repository

這裏的192.168.0.1是服務器的IP地址,/CVSNT/Repository就是前面設置Repository時設置的Name,可以改爲你機器上的配置。修改系統變量之後以下的步驟在任何與服務器相連的機器上進行,當然該機器上應該有CVSNT的可執行文件。

7、如果爲了避免出現錯誤,先重啓一下CVSNT服務器,再啓動命令提示符來到E:/CVSNT/Works,因爲已經啓用單一驗證方式,先要進行登錄。

cvs login

輸入密碼,此時就是以cvsadmin登錄了。

8、添加admin文件,首先將CVSROOT檢出,在CVSROOT下新建admin文件,內容爲

cvsadmin

執行命令:

cvs add admin
cvs ci

9、修改checklist文件,在該文件末尾添加一行:

[空格]admin error message

注意:admin前的空格不能少。

執行命令:

cvs ci

經過以上步驟,可以說用戶配置已經基本完成了,CVSNT可以很好的工作在單一驗證方式下。進一步的管理可使用以下命令:

添加用戶: cvs passwd -a username,使用時不必理會需要添加別名的提示。

修改用戶權限:cvs chacl username:r|w|c|n,(r:Read w:write c:control n:none)

要添加組管理,只需同添加admin步驟一樣,按照格式要求新建group文件即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章