CVSnt是Concurrent Versions System(並發版本系統)的簡稱。它是一個開放原始碼的項目,是當前最流行的版本控制系統,絕大部分Open Source項目都使用它來做版本管理。
基本介紹
- 外文名:cvsnt
- 全稱:Concurrent Versions System
- 類型:開放原始碼的項目
CVS採用客戶機/伺服器體系,代碼、文檔的各種版本都存儲在伺服器端,開發者首先從伺服器上獲得一份複製到本機,然後在此基礎上進行開發。開發者可隨時將新代碼提交給伺服器,也可以通過更新操作獲得最新的代碼,保持與其他開發者的一致。
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檔案即可。
經過以上步驟,可以說用戶配置已經基本完成了,CVSNT可以很好的工作在單一驗證方式下。進一步的管理可使用以下命令:
添加用戶: cvs passwd -a username,使用時不必理會需要添加別名的提示。
修改用戶許可權:cvs chacl username:r|w|c|n,(r:Read w:write c:control n:none)
要添加組管理,只需同添加admin步驟一樣,按照格式要求新建group檔案即可。
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檔案即可。
經過以上步驟,可以說用戶配置已經基本完成了,CVSNT可以很好的工作在單一驗證方式下。進一步的管理可使用以下命令:
添加用戶: cvs passwd -a username,使用時不必理會需要添加別名的提示。
修改用戶許可權:cvs chacl username:r|w|c|n,(r:Read w:write c:control n:none)
要添加組管理,只需同添加admin步驟一樣,按照格式要求新建group檔案即可。