CVSNT在Windows下的安裝和使用

來源:互聯網
上載者:User

CVSNT在Windows下的安裝和使用

 

文章來源:http://www.xmsc.com.cn/InfoView/Article_117452.html

 

寫下來備個案。

這裡綜合了網上一些教程的內容和本人的實踐,出處就沒法一一給出了,如有得罪,還請見諒。

本人用的是CVSNT 2.0.51c,用最新的版本在Eclipse中死活不能列出伺服器裡內容,換了這個版本就好了,現在也不知道怎麼回事。

首先安裝,如果是使用安裝包的版本,很簡單,一路NEXT;如果是使用直接解壓的版本,解壓縮後把cvsnt.cpl和setuid.dll複製到%WINROOT%/system32下,並在目前的目錄下執行以下命令註冊CVSNT系統服務:

 cvsservice -i
 cvslock -i

完成後可以在控制面版裡看到CVS for NT的表徵圖,在裡面先啟動CVS Service和CVS Lock Service,注意如果使用的是解壓的版本,還要在CVSNT目錄下運行一下genkey產生SSL的密鑰:

 genkey.exe cvsnt-default.pem

並在SSL settings中選擇一下剛剛產生的密鑰檔案,這個好像沒有SSL登陸就沒用,假設一下,沒用過。


設定Repository,就是CVSNT資產庫的位置,切換到Repositories選項卡,Add添加CVSNT資產庫的位置,此處Location選為E:/CVSNT/Repository,Name是訪問CVSNT伺服器時使用的路徑名,按預設即可,本人是/CVSNT/Repository,如果是建立的目錄,會提示你是否初始化Repository,同意即可。

切換到Advanced,先在Use local users for pserver authentication instead of domain users和Pretend to be a Unix CVS version鉤上,這是讓CVSNT使用本地賬戶作為pserver認證方式以及讓CVSNT伺服器類比為Unix CVS伺服器,

CVSNT伺服器已經配置好了,接下來是我使用過程中遇到問題最多的使用者配置。

先說下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:cvsadmin@192.168.0.1: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:rwcn,(r:Read w:write c:control n:none)

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

如果還有不清楚的可以看看內建的文檔,說得還是比較詳細的。

ok,差不多就是這些,有錯還請各位幫忙指出,還在學習ING

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.