CVS服務器建立和權限配置
2009-01-11
其中server_args一個參數指定了源代碼庫路徑,一個指定了服務器使用密碼認證方式。
第二,要確認/etc/services文件中,有cvspserver關鍵詞,并分配了端口,如:cvspserver 2401/tcp。
第三,重新啟動xinetd服務,cvs服務就可以用了。
(3)測試。假定cvs服務器在192.168.0.205上,系統上有一個用戶cvs。登陸另一臺linxu機器,執行下列命令可以完成測試:
$export CVSROOT=:pserver:cvs@192.168.0.205: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:cvs@192.168.0.205: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設上就可以了。
熱詞搜索:
上一篇:DNS服務器
下一篇:Apache服務器配置技巧