CVS服務器及客戶端<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
一、服務器架設
1. 系統介紹
服務器系統:Fedora 2
CVS:系統自帶
2. 設置啓動CVS服務
在Linux上CVS服務可以通過inetd、xinetd或tcpwrapper等來啓動,其中inetd由於安全理由在許多場合已經被xinetd所取代了。這裏我們使用xinetd來啓動CVS服務。
在/etc/xinetd.d目錄下爲CVS服務創建一個配置文件,比如:/etc/xinetd.d/cvspserver,編輯/etc/xinetd.d/cvspserver,輸入如下內容:
service cvspserver
{
disable = no
socket_type = stream
wait = no
user = root
env = HOME=
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvsroot pserver
}
注:
1)pserver表示是口令認證的訪問方式,這是最常用的方式,其他還有gserver,kserver,ext,如果想要更高的安全性可以使用ssh來加密口令和數據流,不過這裏爲了用戶使用的方便,仍然選的是pserver
2)--allow-root是指定Repository的目錄,可以建立多個Repository
然後重新啓動xinetd:
[root@terry bin]# /etc/rc.d/init.d/xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
重新啓動xinetd服務後,CVS服務也開始工作了,理論上是這樣的,但我的機子上總是沒有起來。最後我重新啓動後纔起來。
可以使用 netstat –l |grep cvspserver 來看服務有沒有起來了。
3. 在CVS服務器端建立Repository
首先要創建一個名爲cvs的組和一個名爲cvsroot的用戶,以後要訪問CVS服務的用戶加入cvs這個組:
[root@terry root]# groupadd cvs
[root@terry root]# useradd -g cvs -s /sbin/nologin cvsroot
[root@terry root]#passwd cvsroot
[root@terry root]# chown -R cvsroot /home/cvsroot
接下來進行初始化:
[root@terry root]# cvs -d /home/cvsroot init
這樣一個可以用cvsroot用戶登陸的cvs服務器就建好了。不考慮安全,這樣就可以先測試和熟悉cvs操作了。
4. 建立多用戶的安全的cvs服務器
初始化完成後會在/home/cvsroot目錄中就產生了CVSROOT目錄,其中存放了一些配置文件,如config等,然後設置權限:
[root@terry root]# chown -R cvsroot.cvs /home/cvsroot
[root@terry root]# chmod -R ug+rwx /home/cvsroot
[root@terry root]# chmod 644 /home/cvsroot/CVSROOT/config
爲了CVS系統的安全,我們要修改/home/cvsroot/CVSROOT/config文件,將"#SystemAuth =no"的前而的註釋號#去掉,即改爲“SystemAuth =no”,然後給開發者們逐一建立賬號,新建的不要分配用戶目錄,因爲它將作爲一個虛擬用戶帳號來使用,具體命令如:
[root@terry root]# useradd -g cvs -M bogus
[root@terry root]# passwd bogus
上面的命令就創建了一個並沒有Home目錄的用戶bogus,接着將系統的shadow文件複製到CVSROOT, 並重命名爲passwd:
[root@terry root]# cp /etc/shadow /home/cvsroot/CVSROOT/passwd
[root@terry root]# chmod 0644 /home/cvsroot/CVSROOT/passwd
然後修改passwd文件,將除剛纔設定的可使用CVS的用戶bogus之外的所有行刪除,然後去掉每行第二個冒號以後的所有內容,並添上字符串cvsroot, 改爲如下格式:
bogus:ND5$J8N9BW5DKV.nPdxfdsh:cvsroot
然後,刪除掉剛剛在系統中添加的那個用戶bogus:
[root@terry root]# userdel -f bogus
好了,做到這裏,CVS的服務器端就已經安裝設置好了,這樣你的CVS用戶就只能用passwd中規定的用戶來登陸你的CVS服務器了,要注意的是:本文介紹的添加用戶的方法適用於小數量的用戶,如果是有大規模的開發人員,推薦採用連接LDAP或者數據庫來進行用戶的認證服務。通過這四層保護,相信可以使用你放心的使用CVS服務了,不過本文只是作了最簡單的介紹,希望可以給大家起參考的作用。
5.
二、客戶端使用
1. 命令行
2. wincvs
三、未完待續