歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 新手進階:CVS使用速成配置過程詳解

新手進階:CVS使用速成配置過程詳解

日期:2017/2/27 9:32:11   编辑:更多Linux
  CVS服務器的安裝與設置相關文檔網上已經很多了,但是對於如何管理CVS服務器技巧方面的文檔很少。    我就曾經遇到這樣的情況:需要多個庫,共享一台CVS服務器,需求是各個庫CVS權限分開,不可以互相訪問。這樣就出現了交叉權限。權限怎麼分配呢?這篇文檔我主要想說明通過CVS多倉庫(多cvsroot)來實現權限的分離與交叉。    這是一篇整理而來的文檔,非常實用,我曾經建立過很多個CVS,按照如下操作很容易就能建立,而且能夠達到你所要求的--希望對大家有所幫助,裡面也有我的一些技巧經驗,很實際 一 CVS服務器的安裝:    1、查看你的操作系統上是否安裝了CVS:    #> rpm -qagrep cvs    如果沒有安裝你可以在Redhat 第2張光盤上找到,另外你也可以在網上下載到最新的rpm包。很容易找,其實不存在什麼Linux版本。    2、建立cvs用戶組:  #> groupadd cvs  3、建立cvs組的cvsroot用戶和所屬的目錄:    #> useradd -g cvs -G cvs –d /cvsroot cvsroot    4、為cvsroot用戶添加密碼:    #> passwd cvsroot    5、改變 /cvsroot/ 的目錄屬性:    #> chmod –R 770 /cvsroot    6、改變用戶登陸身份:    #> su cvsroot    7、開始創建單個項目:    #> cd /cvsroot    #> mkdir project1    #>mkdir project2    8、開始建立倉庫:    #> cvs –d /cvsroot/project1 init    #> cvs –d /cvsroot/project2 init    #> chmod –R 770 ./project1/ ./project2/    9、建立CVS服務啟動文件,我們使用xinetd方式:    #> [Crtl]+[d] 切換到root用戶身份    #> cd /etc/xinetd.d    #> vi cvspserver    service cvspserver    {  disable = no  flags = REUSE  socket_type = stream  wait = no  user = root  server= /usr/bin/cvs  server_args= -f --allow-root=/home2/cvsroot/project1  --allow-root=/home2/cvsroot/project2 pserver log_on_failure += USERID  }    注:由於xinetd的server_args長度限制,當你想運行很多的單個倉庫的時候,可以這麼做:    #> vi cvspserver    service cvspserver    {  disable = no  flags = REUSE  socket_type = stream  wait = no  user = root  server = /cvsroot/cvs.run  log_on_failure += USERID  }    編寫cvs.run腳本    #> vi /cvsroot/cvs.run    #!/bin/bash  /usr/bin/cvs -f  --allow-root=/cvsroot/project1  --allow-root=/cvsroot/project2  pserver  #>chmod +x /cvsroot/cvs.run  10、加入cvs服務:    #>vi /etc/services    cvspserver 2401/tcp #pserver cvs service    cvspserver 2401/udp #pserver cvs service    11、啟動cvs服務:    #> /etc/init.d/xinetd restart    12、檢查cvspserver服務是否已經啟動:    #> netstat -l grep cvspserver    應該有如下結果:    tcp 0 0 *:cvspserver *:* LISTEN    二、CVS服務的用戶管理:    上面我們已經建立了project1和project2兩個CVS倉庫,下面我們分別給兩個倉庫建立cvs用戶。    13、創建可以登陸cvs服務器的用戶名和密碼:    #> su cvsroot    #> vi /cvsroot/project1/CVSROOT/passwd    trotter:*****:cvsroot    mimi:*****:cvsroot    #>vi /cvsroot/project2/CVSROOT/passwd    trotter:*****:cvsroot    gary:*****:cvsroot    這兩個文件的意思是有trotter,mimi,gary三個cvs用戶,mimi擁有project1的使用權限,gary擁有project2的使用權限,trotter擁有project1和project2的使用權限。登陸後的權限是cvsroot權限。    注意:這裡的cvs用戶和系統用戶是不同的。    14、*****為密碼,由以下文件生成:    #> vi /cvsroot/passwd.pl    #!/usr/bin/perl    srand (time());    my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";    my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);    my $plaintext = shift;    my $crypttext = crypt ($plaintext, $salt);    print "${crypttext}    ";    #>chmod a+x /cvsroot/passwd.pl    15、如果你想生成一個密碼是“123456”,則:    #> /cvsroot/passwd.pl “123456”    回車即可得到加密密碼,用其替換passwd文件中的*****    16、Ok,cvs現在已經全部安裝完成了,如果你想讓一個用戶擁有project1的權限,你就在 /cvsroot/project1/CVSROOT/passwd中給他加入一個用戶;如果你想讓一個用戶同時具有project1和project2 的權限,你就給/cvsroot/project1/CVSROOT/passwd和/cvsroot/project2/CVSROOT/passwd 裡給他加一個用戶名和密碼相同的用戶即可。最後,我們試用一下:    #> cvs -d :pserver:電子郵件地址已被防垃圾郵件功能所隱藏, 您需要把javascript功能打開才能看到。:/cvsroot/project1 login    敲入命令回車後提示輸入trotter的密碼,你按照自己設置的密碼輸入,如果沒有什麼錯誤信息出現就是成功了(我的機器IP地址是192.168.1.200)




Copyright © Linux教程網 All Rights Reserved