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

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

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