您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源配置管理工具 > cvs
CVSNT用戶管理方案
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/3/8 16:42:52 ] 推薦標(biāo)簽:

所有這些操作基于的環(huán)境和軟件版本:WINDOWS2000 Pro、CVSNT2.0.4、WinCVS1.3.9.1Beta9 在前面的介紹CVSNT配合WinCVS進(jìn)行用戶管理的文章中,已經(jīng)對(duì)CVSNT的用戶管理,權(quán)限分配進(jìn)行了比較詳細(xì)的敘述,但是還有一些概念沒有交待清楚,在這里,我會(huì)根據(jù)項(xiàng)目的實(shí)際需要,以及自己的一些經(jīng)驗(yàn)給出一套用戶管理、權(quán)限管理方案,在看這篇文章之前你好已經(jīng)閱讀了前面的一篇文章,對(duì)用戶的增加刪除,權(quán)限的修改,等等這些操作能夠了解,否則,會(huì)有一點(diǎn)困難。
  1、 CVSNT的用戶驗(yàn)證方式
  我們這里所討論的是工作在pserver方式下。
  在CVSNT的文檔中給出了兩種驗(yàn)證方式,我總結(jié)了一下,可以這樣稱呼:Window和CVSNT混合驗(yàn)證方式,CVSNT獨(dú)立驗(yàn)證方式。在前面的文章中,我們沒有詳細(xì)的給出這兩種方式的內(nèi)容,所講述的啟示是混合驗(yàn)證方式。
  決定CVSNT工作于何種驗(yàn)證方式是由CVS的管理文件來決定的,這些管理文件處在庫(kù)的目錄下的CVSROOT目錄中,這里可以得出結(jié)論,對(duì)于不同的庫(kù),可以給不同的驗(yàn)證方式。所以,在每個(gè)庫(kù)建立的時(shí)候要首先設(shè)定好這些前提。
  下面的操作如果沒有特殊指出則都是在客戶端來進(jìn)行管理的,下面首先是對(duì)一些控制原理和相關(guān)的文件做一些說明,如果你正在進(jìn)行相關(guān)的模擬操作,請(qǐng)停下來暫時(shí)停止你的操作,因?yàn)檫@些操作的步驟是有先后的,如果你順序不對(duì),那么你可能權(quán)限失效,進(jìn)行不了下面的操作了。
  1.1 config文件
  在庫(kù)建立好了以后,你還沒有對(duì)控制文件進(jìn)行修改之前,CVSNT是工作在混合驗(yàn)證方式之下的,這個(gè)時(shí)候,CVS服務(wù)器的管理員是CVSNT的管理員,你以一個(gè)管理員身份登陸,檢出你要操作的庫(kù)的CVSROOT模塊,看一下文件列表,控制CVSNT的驗(yàn)證工作方式的是config文件,你可以在文件列表中找到它,雙擊看看其中的內(nèi)容,這里對(duì)我們重要的是第一個(gè)設(shè)置內(nèi)容,你會(huì)看到下面的內(nèi)容:
  # Set this to `no' if pserver shouldn't check system users/passwords
  #SystemAuth=yes
  第二行是我們要修改的內(nèi)容,默認(rèn)狀態(tài)是被注釋掉的,SystemAuth有兩個(gè)值yes和no
yes:pserver將使用系統(tǒng)用戶數(shù)據(jù)庫(kù)和passwd文件(這個(gè)文件后面會(huì)詳細(xì)講述)來共同驗(yàn)證(若passwd文件不存在或者文件中沒有相應(yīng)的資料,則用系統(tǒng)用戶來進(jìn)行驗(yàn)證)默認(rèn)為yes
  no:所有的用戶必須在passwd中存在,根據(jù)passwd的內(nèi)容來進(jìn)行用戶的驗(yàn)證。
  我這里所闡述的方案是工作在no的下面的,修改完之后提交到服務(wù)器,提交完畢服務(wù)器處在CVSNT的獨(dú)立驗(yàn)證模式下了。在這個(gè)工作方式下,NT本地的用戶和CVSNT用戶沒有任何本質(zhì)的聯(lián)系和影響(僅僅是要建立一個(gè)別名)。
  1.2 passwd文件
  在講述上面的時(shí)候提到了這個(gè)文件,在服務(wù)器工作在CVSNT驗(yàn)證模式下的時(shí)候,這個(gè)文件可以稱之為CVSNT的用戶數(shù)據(jù)庫(kù),這個(gè)里面存儲(chǔ)著用戶列表,用戶的密碼,以及別名的一些信息。默認(rèn)狀態(tài)下這個(gè)文件是不存在的,所以,如果我們要在CVSNT驗(yàn)證模式下工作,必須建立這個(gè)文件。注意:這個(gè)文件是不能夠在客戶端進(jìn)行修改的。這個(gè)文件的內(nèi)容是相當(dāng)簡(jiǎn)單的,像下面:
  bach:ULtgRLXo7NRxs
  spwang:1sOp854gDF3DY
  melissa:tGX1fS8sun6rY:pubcvs
  qproj:XR4EZcEs0szik:pubcvs
  這里分別拿第一個(gè)用戶bach和第三個(gè)用戶melissa來進(jìn)行說明,每一行代表一個(gè)用戶,總共有三部分信息,用戶名、密碼、本地用戶三部分之間使用冒號(hào)“:”來進(jìn)行分割。
  用戶名:是登陸CVS的用戶名
  密 碼:用戶的密碼,這里是經(jīng)過加密的,如果為空,那么是空密碼
  本地用戶:CVS用戶這個(gè)別名對(duì)應(yīng)的本地用戶,(跟本地用戶沒有任何其他關(guān)系,僅僅是別名的關(guān)系)
  如果在本地系統(tǒng)中存在一個(gè)用戶名bash,那么要在CVS建立一個(gè)bach這樣的用戶不需要在后面指出對(duì)應(yīng)的系統(tǒng)用戶,melissa后面的pubcvs是系統(tǒng)用戶,在本地系統(tǒng)上面存在的用戶。對(duì)于要用命令增加這兩種用戶的格式如下:
  cvs passwd –a bach
  cvs passwd –r pubcvs –a melissa
  在庫(kù)建立的時(shí)候可以在服務(wù)器上建立一個(gè)簡(jiǎn)單的passwd初始化文件,加一行
  cvsadmin:
  這樣,給出了一個(gè)cvsadmin這個(gè)空密碼用戶(本地系統(tǒng)中有這樣的用戶,可以不加到后面去),然后在客戶端來進(jìn)行修改和以后的用戶增加工作。注意:在客戶端進(jìn)行其他之前請(qǐng)先首先修改這個(gè)密碼,以防止別人進(jìn)行破壞。
  在服務(wù)器端建立了這個(gè)文件以后,不用再手動(dòng)進(jìn)行修改了,當(dāng)你在客戶端進(jìn)行密碼或者用戶的增加刪除的時(shí)候,系統(tǒng)會(huì)自動(dòng)進(jìn)行這個(gè)文件的更新。這個(gè)文件是管理著CVSNT系統(tǒng)中的所有的用戶,所以,要特別重視,不了解這個(gè)文件格式的,不要去隨便修改,更加不要嘗試在客戶端進(jìn)行修改!
  1.3 admin文件
  這個(gè)文件是指定CVSNT的管理員列表的文件,CVSNT會(huì)根據(jù)這個(gè)文件中的內(nèi)容來判斷一個(gè)用戶是否是管理員。這個(gè)文件的內(nèi)容很簡(jiǎn)單,是一個(gè)用戶列表。類似下面
  user1
  user2
  user3
  這些代表user1,user2,user3都是管理員,當(dāng)然,這些用戶必須要存在才能夠正確登陸系統(tǒng)來執(zhí)行管理。
  這個(gè)文件默認(rèn)狀態(tài)下是沒有的,但是,可以在客戶端進(jìn)行添加,在你的客戶端進(jìn)行新建這個(gè)文件然后add上去再commit一下,這個(gè)文件可以上傳到服務(wù)器,但是這個(gè)時(shí)候還沒有生效,請(qǐng)修改checkoutlist這個(gè)文件,加入admin這一行,checkoutlist也可以在客戶端進(jìn)行修改再提交,這個(gè)時(shí)候admin可以被系統(tǒng)自動(dòng)的build了。
  Checkoutlist是維護(hù)的一個(gè)文件列表,可以放入系統(tǒng)自動(dòng)build的用戶自定義的系統(tǒng)文件列表,注意:對(duì)passwd沒有用。
  1.4 group文件
  這個(gè)文件是定義系統(tǒng)的組,我們可以將同樣性質(zhì)的用戶歸入一個(gè)組,然后用給用戶賦權(quán)限的方式給組賦權(quán)限,這樣,一個(gè)組的用戶會(huì)具有同樣的權(quán)限。Group的內(nèi)容如下:
  group1:user1 user2 user3
  group2:me you he
  group3:tom honey
  有上面可以看出來,這個(gè)文件的內(nèi)容也是相當(dāng)?shù)暮?jiǎn)單,首先是組的名稱然后是冒號(hào),接著是用戶名,多個(gè)用戶名之間用空格來進(jìn)行分割。
  Group文件可以在客戶端進(jìn)行新建和修改,不用修改checkoutlist這個(gè)文件,系統(tǒng)會(huì)自動(dòng)build這個(gè)文件并且使之生效。
  作為組里面的特定成員還可以賦給特定的權(quán)限,權(quán)限分為兩類c,w,r和n,否定權(quán)限是有高的優(yōu)先級(jí)的。
  好,上面已經(jīng)介紹了本方案所涉及到的幾個(gè)重要的文件以及修改方式。這里再?gòu)?qiáng)調(diào)一下,passwd只能夠再服務(wù)器端進(jìn)行建立和修改,不能夠在客戶端進(jìn)行操作!
現(xiàn)在根據(jù)上面介紹的內(nèi)容,可以開始你的操作了,下面給出修改順序,庫(kù)剛剛建立起來的時(shí)候,使用一個(gè)服務(wù)器上的本地管理員用戶進(jìn)行登陸檢出CVSROOT模塊。
  1、 現(xiàn)在服務(wù)器端加上passwd文件,給一個(gè)初始的用戶,比如cvsadmin:
  2、 在客戶端增加admin,將cvsadmin加入admin文件,作為出是管理員,并提交加入到庫(kù)中。
  3、 在修改checkoutlist文件,加入admin,使其能夠自動(dòng)build。
  4、 后修改config文件的SystemAuth=no,在提交之前要確認(rèn)一下你上面的修改是否正確,如果提交了這個(gè)文件,CVSNT驗(yàn)證模式開始生效了!
  5、 好,現(xiàn)在請(qǐng)修改你的參數(shù)再重新進(jìn)行的登陸吧。因?yàn)槟愕南到y(tǒng)已經(jīng)切換了工作模式,你當(dāng)前的用戶已經(jīng)失效了。
  完成了上面的步驟,整個(gè)服務(wù)器會(huì)有效的工作在CVSNT驗(yàn)證模式下了。而group文件在你需要的任何時(shí)候可以加入。
  在上面的文章關(guān)于CVSNT的用戶的管理方案的,在這里做一點(diǎn)補(bǔ)充,在后面的操作中全部是針對(duì)在客戶端使用WinCVS來進(jìn)行的(出了增加passwd)文件,其實(shí),在我的實(shí)踐當(dāng)中config,passwd,admin,checkoutlist,這些文件的起始修改(初始化)都可以在新建了庫(kù)以后一起完成,然后再讓相應(yīng)的庫(kù)的管理員來進(jìn)行相關(guān)的操作。

軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd