- 論壇徽章:
- 0
|
安裝與配置
首先安裝 cvs ,一般服務(wù)器自帶了cvs服務(wù),版本隨意,沒什么差別
[root@RHEL ~]#rpm –ivh cvs-1.11.22-5.el5.i386.rpm
然后創(chuàng)建一個cvs用戶組,并創(chuàng)建一個cvsroot用戶
[root@RHEL ~]#groupadd cvs
[root@RHEL ~]#useradd –g cvs cvsroot
為cvsroot設(shè)置密碼
[root@RHEL ~]#passwd cvsroot
更改cvsroot主目錄的屬性和從屬關(guān)系,以便cvs用戶組內(nèi)成員能夠查看并操作該目錄下面的內(nèi)容:
[root@RHEL ~]# chown -R cvsroot.cvs /home/cvsroot
[root@RHEL ~]# chmod -R 775 /home/cvsroot/
接下來檢查cvs服務(wù)是否為自動開啟狀態(tài)
[root@RHEL ~]# cat /etc/services | grep cvspserver
cvspserver 2401/tcp # CVS client/server operations
cvspserver 2401/udp # CVS client/server operations
如果顯示是上面的內(nèi)容,說明服務(wù)已經(jīng)包含cvs服務(wù)。
接下來修改cvs服務(wù)的配置文件
[root@RHEL ~]#vim /etc/xinetd.d/cvs
幾個需要說明的地方: 1>把disable改為no , 2>server_args一項(xiàng)設(shè)定為cvs服務(wù)的主目錄; 3>bind 后面的是cvs服務(wù)綁定的ip地址。
示例如下:
service cvspserver
{
disable = no
port = 2401
socket_type = stream
protocol = tcp
wait = no
user = root
passenv = PATH
server = /usr/bin/cvs
env = HOME=/var/cvs
server_args = -f --allow-root=/home/cvsroot/ pserver
bind = 192.168.18.3
}
修改完成后,保存退出并重啟服務(wù)
[root@RHEL ~]#/etc/init.d/xinetd restart
接下來切換到cvsroot用戶下進(jìn)行操作
[root@RHEL ~]#su cvsroot
注冊CVSROOT環(huán)境變量,然后初始化cvs服務(wù)
[cvsroot@RHEL ~]$export CVSROOT=/home/cvsroot/
[cvsroot@RHEL ~]$cvs init
這時候會在主目錄下生成CVSROOT文件夾,里面存放的是配置文件。為了保證系統(tǒng)安全,最好禁止系統(tǒng)用戶登錄。修改config文件:
[cvsroot@RHEL ~]$ vim /home/cvsroot/CVSROOT/config
把里面的“SystemAuth=yes”的注釋去掉,然后改為“SystemAuth=no”
用戶創(chuàng)建與編輯
接下來創(chuàng)建使用cvs服務(wù)的用戶。首先以root身份創(chuàng)建一個cvspub用戶,作為cvs服務(wù)用戶在系統(tǒng)里的映射對象,也就是說cvs的用戶在系統(tǒng)中并不存在,而是以cvspub的身份存取資料。
[root@RHEL ~]# useradd -g cvs -M -s /sbin/nologin cvspub
在CVSROOT目錄下創(chuàng)建passwd文件,用于保存cvs服務(wù)的用戶名和密碼,以便進(jìn)行驗(yàn)證。這里的passwd文件給系統(tǒng)中的shadow文件一樣,格式如下:
[cvs服務(wù)中的用戶名]:[密碼加密后的明文]:[映射的系統(tǒng)用戶名]
可以用htpasswd命令進(jìn)行轉(zhuǎn)義,把用戶密碼的明文加密成為跟shadow文件里一樣的字符串。示例如下:
[root@RHEL CVSROOT]# htpasswd –c passwd squall
New password:
Re-type new password:
Adding password for user squall
這時squall這個用戶以及對應(yīng)密碼轉(zhuǎn)義后的明文被存放進(jìn)在passwd文件里面了。這里“-c”參數(shù)是讓系統(tǒng)在當(dāng)前目錄下創(chuàng)建名為“passwd”文件。后面的添加用戶名和密碼時就不用此參數(shù)了。
我們可以查看一下passwd文件:
[root@RHEL CVSROOT]#cat passwd
Squall: uAiK7kjttgpvQ
同樣的方法,可以創(chuàng)建其他的幾個帳號,如idread, idwrite,cvstest。創(chuàng)建完全部賬戶后,修改passwd文件,在每個一行的后面都加上需要映射的系統(tǒng)帳戶。這里我用的是cvspub。注意中間間隔的冒號“:”,修改后的示例如下:
squall:ogY2Wh7CWZZl.:cvspub
idread:uAiK7kjttgpvQ:cvspub
idwrite:oxSy4BYQedS2Y:cvspub
cvstest::cvspub
這里可以看到,我添加了一個測試用戶cvstest,這一行密碼段是空的,也就是該用戶不需要密碼就可以進(jìn)行登錄和相關(guān)操作。
接下來創(chuàng)建readers文件,用來控制“只讀“權(quán)限,它的優(yōu)先級最高,只要里面有的用戶,則只能讀,不能寫入,即使在控制寫入權(quán)限的文件writers中也存在該用戶。一個用戶名一行,示例如下:
cvstest
idread
然后就是控釋寫入權(quán)限的文件writers,其包含的用戶既能讀取也能寫入,格式跟readers文件一樣,一行一個用戶名,示例如下:
squall
idwrit
最后修改幾個配置文件的屬性和所有者,config,readers,writers三個文件的操作都一樣:
[root@RHEL ~]#chmod 640 config
[root@RHEL ~]#chown cvsroot.cvs config
接下來就是要把cvs用戶都加入cvs用戶組中,編輯group文件,在里面找到cvs用戶組,并在行末尾加上用戶名,用戶名之間用逗號隔開,示例如下:
[root@RHEL ~]#vim /etc/group
cvs:x:501:cvsroot,cvstest,squall,idread,idwrite,cvspub
保存并退出,然后重啟服務(wù)。
[color="#0000FF"]
[color="#0000FF"]
[color="#000102"]安全相關(guān)的設(shè)定
[color="#000102"]
這里還需要注意兩點(diǎn):
一個是防火墻,系統(tǒng)上防火墻的2401端口是否都打開,包括tcp和udp協(xié)議都要開放,具體設(shè)定在"System"->"Administration"->"Security
Level and Firewall"里添加允許2401端口。
還有就是selinux的安全設(shè)置,比較新的系統(tǒng)都要設(shè)定,禁用selinux對cvs服務(wù)的保護(hù),具體修改在"Modify SELinux
policy"->"SELinux Service Protection"->"Disable
ELinux Service Protection for cvs"。強(qiáng)烈不建議關(guān)閉selinux!
接下來你就可以用創(chuàng)建的cvs用戶登錄并進(jìn)行相應(yīng)操作了。
附:防火墻命令行操作方法
檢查防火墻的設(shè)置,看2401端口是否打開打開
[color="#0000FF"]#/sbin/iptables -L&line;grep cvs
如果顯示
[color="#0000FF"]ACCEPT tcp -- anywhere anywhere tcp dpt:cvspserver
則說明端口已經(jīng)打開
否則就必須打開防火墻2401端口
#/sbin/iptables -A INPUT -i eth0 -p tcp --dport 2401 -j ACCEPT
#/sbin/service iptables save
本文來自ChinaUnix博客,如果查看原文請點(diǎn):http://blog.chinaunix.net/u1/34010/showart_1979625.html |
|