歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

CVS服務器建立和權限配置完全方案

  建立和配置操作都是在Redhat Linux8.0上做的。系統帶的CVS可執行程序在/usr/bin下面,版本信息為:Concurrent Versions System (CVS) 1.11.2 (client/server)。系統帶的這個cvs可執行程序既可以當客戶端使用,也可以用來建立cvs源代碼庫服務器。     建立一個源代碼庫主要有以下幾步:   (1)初始化cvs服務器環境。   #cvs -d/usr/local/source init   之後進入/usr/local/source,可以看到有一個目錄CVSROOT, 下面是初始化後的CVS服務器配置文件。暫且保持不動。     (2)把cvs服務放到xinetd系統服務中。   首先在/etc/xinetd.d目錄下生成任務配置文件cvspserver,文件名稱可以隨便用。     其中內容大致如下:   service cvspserver     {       flags      = REUSE       socket_type   = stream       wait      = no       user      = root       protocol    = tcp       server     = /usr/bin/cvs       server_args   = -f --allow-root=/usr/local/source pserver       disable     = no     }  其中server_args一個參數指定了源代碼庫路徑,一個指定了服務器使用密碼認證方式。   第二,要確認/etc/services文件中,有cvspserver關鍵詞,並分配了端口,如:cvspserver 2401/tcp。   第三,重新啟動xinetd服務,cvs服務就可以用了。     (3)測試。假定cvs服務器在192.168.0.205上,系統上有一個用戶cvs。登陸另一台linxu機器,執行下列命令可以完成測試:   $eXPort CVSROOT=:pserver:[email protected]:2401/usr/local/source   $cvs login   輸入密碼,沒有出錯提示表示登陸成功。     如果想在一個linux系統上建多個源代碼庫,分別提供cvs服務。重復上面步驟就可以了。     第一步時候要注意使用一個不同路徑。   第二步放到xinetd系統服務中稍微麻煩點。/etc/xinetd.d目錄下要生成一個新的任務配置文件,例如cvspserver1,文件中service名稱一定要區分第一個,例如service cvspserver1,server_args做相應變動。還要在/etc/services文件中,加入新的服務端口號,例如:cvspserver1 2402/tcp。重新啟動xinetd服務.     第三步測試時候,可以這樣設定:   $export CVSROOT=:pserver:[email protected]:2402/usr/local/source1     cvs作為並行版本控制系統,多用戶讀寫是需要的。但有時候希望有些用戶只能check out,不能提交新代碼。有時希望cvs上的某些用戶不能check out一些代碼,例如和另一個開發組共用一個CVS,希望另一個組的成員不能check out自己組代碼。     cvs服務器有一套自己的用戶認證機制,我使用時候沒采用,而是使用了系統上用戶直接作為cvs服務器用戶,采用linux組、用戶權限實現了這樣的功能。     舉例說明,在linxu系統上模擬實際兩個開發組a、b,分別有用戶a-user1,a-user2,b-user1,b-user2。     模塊a-source,希望a組成員都可以讀寫,b組成員沒有任何權限。可以使用以下系列命令:   #chown -R a-user1 a-source   #chgrp -R a a-source   #chmod -R 770 a-source     如果希望模塊a-source,只有a-user1可以寫,同組其它用戶可以讀,b組成員沒有任何權限,把chmod命令改成-R 750就行了。     必須說明的,cvs中默認一個用戶checkout代碼時候,會在當前模塊下生成一個鎖文件,如果這個用戶對當前模塊沒有寫權限,讀是不可能的。配合上面的權限設置,必須改一下cvs服務器配置。改成不在當前模塊目錄下生成鎖文件,把鎖文件集中到一個所有用戶都有讀寫權限的目錄。修改配置文件CVSROOT/config:   # Put CVS lock files in this Directory rather than directly in the repository.   #LockDir=/var/lock/cvs  把LockDir設上就可以了。




Copyright © Linux教程網 All Rights Reserved