Red Hat Enterprise Linux 下cvs服务器的安装与配置

来源:互联网 发布:91淘课网软件下载 编辑:程序博客网 时间:2024/05/01 20:43
Red Hat Enterprise Linux 下cvs服务器的安装与配置 安装与配置首先安装 cvs ,一般服务器自带了cvs服务,版本随意,没什么差别[root@RHEL ~]#rpm –ivh cvs-1.11.22-5.el5.i386.rpm 然后创建一个cvs用户组,并创建一个cvsroot用户[root@RHEL ~]#groupadd cvs[root@RHEL ~]#useradd –g cvs cvsroot 为cvsroot设置密码[root@RHEL ~]#passwd cvsroot 更改cvsroot主目录的属性和从属关系,以便cvs用户组内成员能够查看并操作该目录下面的内容:[root@RHEL ~]# chown -R cvsroot.cvs /home/cvsroot[root@RHEL ~]# chmod -R 775 /home/cvsroot/ 接下来检查cvs服务是否为自动开启状态[root@RHEL ~]# cat /etc/services | grep cvspserver cvspserver 2401/tcp # CVS client/server operations cvspserver 2401/udp # CVS client/server operations 如果显示是上面的内容,说明服务已经包含cvs服务。接下来修改cvs服务的配置文件[root@RHEL ~]#vim /etc/xinetd.d/cvs 几个需要说明的地方: 1>把disable改为no , 2>server_args一项设定为cvs服务的主目录; 3>bind 后面的是cvs服务绑定的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} 修改完成后,保存退出并重启服务[root@RHEL ~]#/etc/init.d/xinetd restart 接下来切换到cvsroot用户下进行操作[root@RHEL ~]#su cvsroot 注册CVSROOT环境变量,然后初始化cvs服务[cvsroot@RHEL ~]$export CVSROOT=/home/cvsroot/ [cvsroot@RHEL ~]$cvs init 这时候会在主目录下生成CVSROOT文件夹,里面存放的是配置文件。为了保证系统安全,最好禁止系统用户登录。修改config文件:[cvsroot@RHEL ~]$ vim /home/cvsroot/CVSROOT/config 把里面的“SystemAuth=yes”的注释去掉,然后改为“SystemAuth=no”用户创建与编辑接下来创建使用cvs服务的用户。首先以root身份创建一个cvspub用户,作为cvs服务用户在系统里的映射对象,也就是说cvs的用户在系统中并不存在,而是以cvspub的身份存取资料。[root@RHEL ~]# useradd -g cvs -M -s /sbin/nologin cvspub 在CVSROOT目录下创建passwd文件,用于保存cvs服务的用户名和密码,以便进行验证。这里的passwd文件给系统中的shadow文件一样,格式如下:[cvs服务中的用户名]:[密码加密后的明文]:[映射的系统用户名] 可以用htpasswd命令进行转义,把用户密码的明文加密成为跟shadow文件里一样的字符串。示例如下:[root@RHEL CVSROOT]# htpasswd –c passwd squall New password: Re-type new password: Adding password for user squall 这时squall这个用户以及对应密码转义后的明文被存放进在passwd文件里面了。这里“-c”参数是让系统在当前目录下创建名为“passwd”文件。后面的添加用户名和密码时就不用此参数了。我们可以查看一下passwd文件:[root@RHEL CVSROOT]#cat passwd Squall: uAiK7kjttgpvQ 同样的方法,可以创建其他的几个帐号,如idread, idwrite,cvstest。创建完全部账户后,修改passwd文件,在每个一行的后面都加上需要映射的系统帐户。这里我用的是cvspub。注意中间间隔的冒号“:”,修改后的示例如下:squall:ogY2Wh7CWZZl.:cvspub idread:uAiK7kjttgpvQ:cvspub idwrite:oxSy4BYQedS2Y:cvspub cvstest::cvspub 这里可以看到,我添加了一个测试用户cvstest,这一行密码段是空的,也就是该用户不需要密码就可以进行登录和相关操作。接下来创建readers文件,用来控制“只读“权限,它的优先级最高,只要里面有的用户,则只能读,不能写入,即使在控制写入权限的文件writers中也存在该用户。一个用户名一行,示例如下:cvstest idread 然后就是控释写入权限的文件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 保存并退出,然后重启服务。安全相关的设定这里还需要注意两点:一个是防火墙,系统上防火墙的2401端口是否都打开,包括tcp和udp协议都要开放,具体设定在"System"->"Administration"->"Security Level and Firewall"里添加允许2401端口。还有就是selinux的安全设置,比较新的系统都要设定,禁用selinux对cvs服务的保护,具体修改在"Modify SELinux policy"->"SELinux Service Protection"->"Disable ELinux Service Protection for cvs"。强烈不建议关闭selinux!接下来你就可以用创建的cvs用户登录并进行相应操作了。 附:防火墙命令行操作方法检查防火墙的设置,看2401端口是否打开打开#/sbin/iptables -L&line;grep cvs 如果显示ACCEPT tcp -- anywhere anywhere tcp dpt:cvspserver 则说明端口已经打开否则就必须打开防火墙2401端口 #/sbin/iptables -A INPUT -i eth0 -p tcp --dport 2401 -j ACCEPT#/sbin/service iptables save 参考网址:http://blog.chinaunix.net/u1/34010/showart_1979625.html
原创粉丝点击