windows下cvsnt的配置(全)

來源:互聯網
上載者:User

在伺服器端安裝好cvs後,建立一個或多個庫,這樣,在每個庫中自動產生CVSROOT檔案夾,裡面有很多重要的設定檔,有些檔案是自動存在了的(如config,passwd。其中passwd檔案在沒有添加任何使用者時,是不存在的,當用命令添加了一個使用者後,這個檔案便自動產生了),而有些是需要cvs系統管理員手動建立的(如admin,group)。

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使用者來進行驗證。

config檔案不能在伺服器端修改(因為格式為FILE的檔案是無法在CVSNT伺服器端進行編輯儲存的), 但可以將其checkout到用戶端後進行修改,將第二行改為SystemAuth=no,再commit到伺服器CVSNT上,則就可以啟用單一驗證方式了。

注意:啟用單一驗證方式後原來的Windows系統使用者將變為無效,因此要注意執行該步驟的時機。要保證passwd檔案已存在且有使用者了,否則無人可以登陸此庫了,config檔案也checkout不下來了,無法修改回去了。    有一個解決辦法就是,從其他庫的CVSROOT目錄下找一個SystemAuth=yes的config檔案,複製它,覆蓋此庫CVSROOT下的config檔案。

 

config檔案在建立庫時自動產生 位於CVSROOT目錄下,這裡可以得出結論,對於不同的庫,可以給不同的驗證方式。所以,在每個庫建立的時候要首先設定好這些前提。

 

2、 admin檔案

設定systemAuth後,在cvsroot目錄下建立admin檔案,這個檔案是儲存CVSNT的管理員列表的檔案,CVSNT根據這個檔案來判斷一個使用者是否是管理員。

有些人喜歡直接在伺服器的CVSROOT目錄下建立admin檔案,這樣,如果你想從伺服器checkout CVSROOT目錄到本機,這個檔案將不會被checkout出來。所以最好的辦法是,從伺服器checkout CVSROOT目錄到本機後,再在本機用戶端的cvsroot目錄下建立一個admin檔案,然後add,再commit到服務端,這樣下次檔案就可以checkout出來了!

在用戶端建立admin檔案:

先進入cvsroot目錄下,再用命令:echo>>admin

該檔案的內容很簡單,形式如下:
User1
User2
User3 
每一行定義一個管理 員使用者,預設時沒有該檔案,但你可以在用戶端自己添加並add上去,再commit到CVSNT上,但是光有這個檔案還是不會生效的,還要將其添加到 checklist檔案中,使CVSNT能夠讀取該檔案的內容在checkoutlist中添加檔案清單的格式為:

[空格]檔案名稱 出錯資訊

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

Checkoutlist是維護的一個檔案清單,可以放入系統自動build使用者自訂的系統檔案清單,注意:對passwd不生效!!

 

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出來。

在伺服器端建立了這個檔案以後,就不用再手動進行修改了,當你在用戶端進行密碼或者使用者的增加刪除的時候,系統會自動進行這個檔案的更新。這個檔案是管理著CVSNT系統中的所有的使用者,所以,要特別重視,不瞭解這個檔案格式的,不要去隨便修改,更加不要嘗試在用戶端進行修改

 

4、group檔案

該檔案用於定義CVSNT中的組資訊,同組裡的使用者擁有一樣的許可權對組許可權的修改操作和對使用者權限的修改一樣 (即cvs chacl groupname/username:r/w/c/n)。
有些人喜歡直接在伺服器的CVSROOT目錄下建立group,admin檔案,這樣,如果你想從伺服器checkout CVSROOT目錄到本機,這些檔案將不會被checkout出來。所以最好的辦法是在用戶端建立group,admin檔案,然後add,再commit。這樣檔案就可以checkout出來了!

在用戶端建立group檔案:

先進入cvsroot目錄下,再用命令:echo>>group

group檔案的內容為:

administrators:cvsadmin kid mystique
users:User1 User2 User3

可以看到該檔案的內容也很簡單,組名:使用者名稱,多個使用者名稱之間用空格隔開。

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

作為組裡面的特定成員還可以賦給特定的許可權,許可權分為兩類c,w,r和n(r:Read w:write c:control n:none) ,否定許可權是有高的優先順序的。

 

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(讀取)。

 

------------------------------------

瞭解了以上的內容後,接下來 說一下在不使用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 檔案夾路徑”進入此檔案夾,然後對不同使用者的許可權進行修改與控制)

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檔案即可。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.