CVSNT在Windows下的安裝和使用(轉)

goldtime發表於2007-05-05

摘自:

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

[@more@]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:r|w|c|n,(r:Read w:write c:control n:none)

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

如果還有不清楚的可以看看自帶的文件,說得還是比較詳細的。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/778728/viewspace-913368/,如需轉載,請註明出處,否則將追究法律責任。

相關文章