本文檔內容包括:
會修改到的文件分別是passwd、config、group、admin、checkoutlist、.perms。其中passwd不能手工創建,config文件在init repository的時候就被創建了(在CVSROOT中),group和admin文件可以手動創建。手動創建就是在CVSROOT中新建一個文件名爲group的文件(沒有後綴名)。
1.passwd文件
服務器工作在CVSNT用戶單一驗證方式下的時候,這個文件定義了CVSNT的用戶信息,這裏面保存着用戶名,用戶密碼,以及別名信息(對應windows操作系統的用戶)。默認狀態下 沒有該文件,但是我們可以在CVSNT還工作在混合驗證方式下時,用系統管理員登錄,通過添加用戶命令來讓CVSNT自動建立一個passwd文件。
添加用戶的命令的示例:
cvs passwd –r aimnext –a cvsadmin
之後系統提示輸入密碼,輸入後服務器會新建一個passwd文件。
該文件的內容很簡單,形式如下:
cvsadmin:fqr1fS4gDghrt:aimnext
以第一行爲例:cvsadmin爲用戶名,fqr1fS4gDghrt爲CVS使用UNIX標準加密函數對密碼進行加密後的結果,aimnext爲操作系統中的一個用戶。(可以讓所有的cvs用戶都使用同一個別名)
注意:這個文件是不能在客戶端進行修改的,不能checkout出來。不能手工編輯加入用戶的密碼(唯恐除外),因爲驗證的密碼是加密後的。
2.admin文件
該文件保存CVSNT管理員用戶列表,內容很簡單,形式如下:
User1
User2
User3
每一行定義一個管理 員用戶,默認時沒有該文件,但你可以在客戶端自己添加並add上去,再commit到CVSNT上,但是光有這個文件還是不會生效的,還要將其添加到 checkoutlist文件中,使CVSNT能夠讀取該文件的內容,在checkoutlist中添加文件列表的格式爲:
[空格]文件名 出錯信息
其中文件名前的空格必須要有的,不然會出錯。
我們可以先添加admin文件到CVSNT中,再修改checklist文件commit,就可以使admin文件生效了。
3.group文件
該文件定義CVSNT中組信息,同組裏的用戶擁有一樣的權限,對組權限的修改和對用戶權限的修改一樣。
group文件的內容爲
administrators:cvsadmin kid mystique
users:User1 User2 User3
可以看到該文件的內容也很簡單,組名:用戶名,多個用戶名之間用空格隔開。
Group文件可以在客戶端修改,不用修改checkoutlist這個文件,系統會自動使其生效。
4.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系統用戶將變爲無效,因此要注意執行該步驟的時機。
5..perms文件
該文件存在於CVS repository中的每一個目錄下。CVSNT通過該文件來控制用戶對當前文件夾的權限。CVS用戶權限:r|w|c|n (r:Read w:write c:control n:none)
例如:
default:n
admin:rwc
user:r
上面文件中第一行是指當前文件夾的默認權限爲none(沒有權限),admin組用戶的權限是rwc(讀取、修改、創建),user組用戶的權限是r(讀取)。
1.新建repository,如下圖所示:
2.創建CVSROOT
點擊OK在D:/test目錄下創建CVSROOT。
3.選擇CVSNT的設置如下圖所示:
點擊apply之後,需要重新啓動CVSNT。
4.打開eclipse,在透視圖CVS Repositories中建立到/test的連接,如下圖所示:
aimnext是操作系統中的一個用戶。
5.連接後的/test如下所示:
6.在CVSROOT上面點右鍵,將CVSROOT check out到eclipse的workspace中。
7.配置環境變量,如下圖所示:
8.在cmd中輸入命令,cvs passwd –h,可以看到如下所示的命令提示:
根據命令提示,輸入cvs passwd –a cvsadmin –r aimnext新建用戶cvsadmin,密碼爲:123。
9.在eclipse的工作區中右鍵點擊CVSROOT,選擇新建文件
新建文件admin
內容:
cvsadmin
保存文件,然後在工作區中的admin文件上,點擊右鍵,選擇team|Commit提交該文件。
10.修改checkoutlist文件,如下圖所示:
修改完成後,保存並提交checkoutlist。
11.修改CVSNT中的設置,如下圖所示:
12.修改CVSROOT下的config文件。將SystemAuth由yes改爲no,開啓單一驗證方式。
(注意:SystemAuth前面不能有空格,否則CVSNT無法識別)
保存並提交config文件。
13.在eclipse中的CVS Repositories中,更改原有連接爲上面建好的用戶名和密碼(用戶:cvsadmin,密碼:123)
這樣,與CVSNT建立的連接就是以CVS用戶的方式登錄而不是以windows系統用戶的方式登錄了。之後,只要在CVSROOT中建立group文件(方法與建立admin相同),爲不同的用戶分組,通過每個文件夾下面的.perms文件控制不同組用戶的權限就可以了。
14.新建用戶cvsuser,如下圖所示:
15.Group文件內容,如下圖所示:
保存後提交。
16.新建一個工程:
點擊[File|new|Project],新建名稱爲test的simple project。在工作區中的test上面點右鍵,選擇Team|Share Porject將該工程添加到CVS的管理之下,成功添加之後在d:/test目錄下出現test工程。這時就可以修改.perms的內容爲用戶設定權限了,如:
default:n
admin:rwc
user:r
表示管理員有讀寫創建的權限,用戶組有讀權限。
注意:爲了區分權限,每個文件夾下面的.perms都要進行配置。(可以做好一個文件後,拷貝粘貼)