CVS配置和使用(Asianux2.0 linux服務端)

 

1 首先創建用於CVS的組和用戶: <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

  /usr/sbin/groupadd cvsuser   

  /usr/sbin/useradd cvsruser -g cvsuser

  passwd cvsuser

  OK,用戶已經建立好了,cvsuser就是我們做CVS操作使用的用戶。

2 修改配置文件:

  #cat/etc/services|grep cvspserver

  看看是否有:

  cvspserver    2401/tcp #CVS client/server operations

  cvspserver    2401/udp #CVS client/server operations

  如果沒有,請自己加上去。

3. 然後必須創建啓動腳本:

  vi /etc/xinet.d/cvspserver

  service cvspserver

  {

    disable = no

    flags = REUSE

    socket_type = stream

    wait = no

    user = root

    server = /usr/bin/cvs

    server_args = -f --allow-root=/home/cvsuser pserver

    log_on_failure += USERID

  }

  其中server指定CVS可執行文件路徑,默認安裝就是/usr/bin/cvsserver_args指定源代碼庫路徑及認證方式等,例子中把源代碼存放在cvsuser的主目錄中,也可以另外指定路徑,但必須注意權限設置,pserver是密碼認證方式。請注意每行等號左右都有一個空格,否則無法啓動服務。

4 初始化CVS

  切換到cvsuser用戶,然後進行初始化:

  cvs -d /home/cvsuser init

  這個路徑應該與cvspserver文件中指定的路徑相同,初始化後會在此路徑下面創建CVSROOT目錄,存放用於CVS管理的一些文件。此時重新啓動xinetd服務,CVS服務器應該能夠啓動了。:

  /sbin/service xinetd restart

  當然,重新啓動計算機也可以。確認是否啓動:

  netstat -anp|grep 2401  如果能看到:

  tcp 0 0 0.0.0.0:2401   說明已經正常啓動。

5 用戶管理

  CVS默認使用系統用戶登錄,爲了系統安全性的考慮也可以使用獨立的用戶管理。CVS用戶名和密碼保存在CVSROOT目錄下的passwd文件中,格式爲: 用戶名:密碼:系統用戶

  也就是說,它把CVS用戶映射到系統用戶,這樣我們就可以通過系統用戶的權限設置來分配給用戶不同的權限,而不需要讓用戶知道系統用戶名和密碼。這裏的系統用戶一般爲cvsuser這個用戶. passwd文件默認並不存在,我們必須自己創建。文件中的密碼字段使用MD5加密,不幸的是CVS沒有提供添加用戶名的命令,所以我們借用Apache的命令來完成這項工作: 先創建一個passwd文件

還是cvsuser用戶,在/home/cvsuser/CVSROOT目錄下執行下面的命令

htpasswd -c passwd cvsuser             參數(-c)表示文件不存在時會自動創建(-c)

創建cvsuser用戶。該用戶也是系統用戶,在控制面板的用戶/組中能看到。

其他用戶直接創建,不用帶參數-c    htpasswd passwd cvsuser2

cvsuser2用戶不是系統用戶,在控制面板的用戶/組中看不到。他是cvs創建的用戶。

如果在linux下用cvs命令login,是可以的,但是,不好操作。

windows下用wincvslogin都不行。要解決這個問題,就要手工對用戶進行映射。

如下所示,在passwd文件中將cvsuser2映射到cvsuser

映射前                             映射後

cvsuser:4qMl7rfS1sM.k             cvsuser:4qMl7rfS1sM.k

cvsuser2:A7U220C0wMMVM        cvsuser2:A7U220C0wMMVM:cvsuser

如果需要映射其他的用戶,請注意給相應的目錄設置好權限,否則CVS用戶可能無法訪問源代碼倉庫。要徹底防止使用系統帳號登陸,可以編輯CVSROOT目錄下的config文件,把#SystemAuth=no這一行前面的#去掉,CVS就不會驗證系統用戶了,否則當用戶名不在passwd文件中時,CVS會進行系統用戶的驗證。

此外還必須配置讀寫權限,使用CVSROOT目錄下的readerswriters文件進行這個工作。這2個文件默認也是沒有的,沒關係,自己創建就可以了。readers文件記錄擁有隻讀權限的用戶名,每行一個用戶;writers文件記錄擁有讀寫權限的用戶名,也是每行一個用戶。注意, readers文件比writers優先,也就是說出現在readers中的用戶將會是隻讀的,不管writers文件中是否存在該用戶。配置完畢,先測試一下:

  #cvs -d :pserver:[email protected]:/home/cvsroot login

6CVS

   控制面板-〉服務-xinetd,改爲自動運行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章