linux下配置cvs伺服器

來源:互聯網
上載者:User

一 CVS伺服器的安裝:
1。查看你的作業系統上是否安裝了CVS:
#> rpm -qa|grep 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:trotter@192.168.1.200:/cvsroot/project1 login

敲入命令斷行符號後提示輸入trotter的密碼,你按照自己設定的密碼輸入,如果沒有什麼錯誤資訊出現就是成功了(我的機器IP地址是192.168.1.200)  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.