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

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值