CVS Manual

CVS Manual

一、安装cvs

1. linux环境

#cat /etc/issue

Red Hat Enterprise Linux AS release 4 (Nahant Update 4)

2. 管理员登录

以管理员root账号登录

3. 检查是否已装有cvs

#rpm -qa | grep cvs

如果返回cvs-1.11.**,就说明已安装了cvs。

4. 卸载已安装的cvs

#rpm -e cvs-1.11.**

5. 安装cvs

下载cvs-1.11.22-cvsacl-1.2.5-patched.tar.gz到/root/目录。

#cd /root

#tar zxvf cvs-1.11.22-cvsacl-1.2.5-patched.tar.gz

#cd cvs-1.11.22-cvsacl-1.2.5-patched

#./configure --prefix=/usr

#make

#make install

6. 配置/etc/services

#vi /etc/services

确认有如下2行

cvspserver 2401/tcp # cvs client/server operations

cvspserver 2401/udp # cvs client/server operations

7. 配置xinetd服务

#vi /etc/xinetd.d/cvspserver

内容如下

service cvspserver

{

disable = no

socket_type = stream

wait = no

user = root

server = /etc/xinetd.d/cvs.run

log_type = FILE /var/log/cvslog

}

#vi /etc/xinetd.d/cvs.run

内容如下

#!/bin/bash

/usr/bin/cvs -f

--allow-root=/db5/p1

pserver

#chmod a+x /etc/xinetd.d/cvs.run

8. 重启xinetd服务

#/etc/init.d/xinetd restart

9. 检查cvspserver服务是否已经启动

#netstat -l |grep cvspserver

应该有如下结果

tcp 0 0 *:cvspserver *:* LISTEN

10. 创建cvsadmin账户

#groupadd cvsadmin

组名必须是“cvsadmin”。

#useradd -g cvsadmin -s /bin/false -M cvsadmin

11. 字符集

#vi .bashrc

增加

export LANG="zh_CN.GB2312"

二、初始建库

1. 管理员登录

以管理员root账号登录

2. 创建配置管理员的系统账户

#useradd wang

#passwd wang

#vi /etc/group

内容如下

cvsadmin:x:500:wang

3. 创建CVSServerRunAsUser账户

#groupadd ce

#useradd -g ce -s /bin/false -M ce

4. 创建CVSROOT目录管理账户

#groupadd cm

#useradd -g cm -s /bin/false -M cm

#vi /etc/group

内容如下

cm:x:509:ce,wang

5. 创建项目库

#mkdir -p /db5/p1

#chmod g+w /db5/p1

#cvs -d /db5/p1 init

#cd /db5/p1/CVSROOT

#touch passwd group

#chmod -R g+s /db5/p1

#chmod g+w passwd group access

#cd

#chown -R ce:ce /db5/p1

#chown -R cm:cm /db5/p1/CVSROOT/

6. 检查远程登录cvs服务器

#cvs -d :pserver:[email protected]:/db5/p1 login

没有出现错误提示表示成功。

7. 建立CVSROOT链接

#mkdir -p /cvsroot/p1

#ln -s /db5/p1/CVSROOT/ /cvsroot/p1/

8. 建立批量删除用户脚本

#vi bin/w.sh

内容如下

#!/bin/sh

export LC_ALL=zh_CN.GB18030

n0=`expr index $1 "@"`

if [ $n0 = 0 ]

then

echo "***账号格式不对,请输入完整的mail地址***"

exit

fi

n1=$1

n2=`echo ${n1##*@}`

if [ "$n2" = "***.cn" ]

then

n3=`echo ${n1%%@*}`

else

n3=`echo ${n1/@/.}`

fi

echo ...cvs...

find /cvsroot/ -name passwd -follow -exec grep -i $n3 {} ; -print -exec sed -i.bak "s/^$n3:/#$n3:/I" {} ;

#ssh $LOGNAME@scm3.***.cn "find /cvsroot/ -name passwd -follow -exec grep -i $1 {} ; -print -exec sed -i.bak "s/^$1:/#$1:/I" {} ;"

/bin/echo "$n1" | /usr/bin/mutt -s "logoff-user" scm-dept@scm5.***.cn

三、日常管理

1. 管理员登录

以管理员wang账号登录

2. 检查是否装有apache,下面步骤的htpasswd命令要安装apache后才有

$whereis htpasswd

3. 创建cvs用户的账号

使用linux系统帐号登录cvs不安全,而CVS提供了独立于系统的用户帐号管理,使用配置文件 CVSROOT/passwd来管理帐号。

$cd /db5/p1/CVSROOT

$htpasswd -b passwd wang 123456

$htpasswd -b passwd user1 123456

$htpasswd -b passwd user2 123456

$htpasswd -b passwd user3 123456

$htpasswd -b passwd user4 123456

4. 创建cvs用户组

将权限相同的用户划分到一组,就是角色的意思,这样可以方便维护。

$vi group

内容如下

admin:wang,user

group2:user1,user2

group3:user3,user4

组中的用户,要在passwd文件中存在。

5. 指定acl管理员账号

$cd

$cvs -d /db5/p1 racl admin:p -r ALL ALL

$cvs -d /db5/p1 racl admin:p -r ALL CVSROOT

6. 配置aclconfig

$cvs -d /db5/p1 co .

$cd CVSROOT/

$vi aclconfig

内容如下

UseCVSACL=yes

CVSACLDefaultPermissions=r

UseSystemGroups=no

UseCVSGroups=yes

CVSServerRunAsUser=ce

$cvs ci

7. 配置config

$vi config

内容如下

SystemAuth=no

LockDir=/var/lock/cvs/p1

$mkdir /var/lock/cvs/p1

$chmod a+w /var/lock/cvs/p1

$cvs ci

8. 配置tag规则

#vi tagcheck.sh

内容如下

#! /bin/sh

# TAG add/mov/del repo files...

# $1 $2 $3 $4 ...

case "$1" in

p1-*_*_*)

;;

*)

exit 0 # not reserved, ok.

;;

esac

case "$CVS_USER" in

wang | user )

exit 0 # ok

;;

*)

echo "$ CVS_USER does not have permission to perform this tag operation!" 1>&2

exit 1

;;

esac

#cvs ci

#vi taginfo

增加如下内容

ALL $CVSROOT/CVSROOT/tagcheck.sh

#vi checkoutlist

内容如下

tagcheck.sh

#cvs ci

#chmod a+x /db5/p1/CVSROOT/tagcheck.sh*

9. 检查acl管理员用户登录

$cd

$cvs -d :pserver:[email protected]:/db5/p1 login

没有出现错误提示表示成功。

10. 增加cvs用户

$cd /db5/p1/CVSROOT/

$htpasswd -b passwd jian 123456

11. 修改cvs用户的密码

$htpasswd -b passwd jian 654321

12. 删除cvs用户

$vi passwd

用“#”注释用户,内容如下

wang:WvkxyZJnB/aPg

sun:UVI1jZ0ZAlP1c

user1:FrGMR8cAdoxTc

user2:1WePnhauRrQXU

#jian:xm6P2FwJ40OCY

用户名最大长度是255字节,并且不能包含“:”。

13. 批量删除cvs用户

$sh w.sh user1

14. 修改cvs用户组

$vi group

内容按需求修改即可。

15. 增加模块

$cd

$rm -fr CVS*

$cvs -d :pserver:[email protected]:/db5/p1 co .

$mkdir module1 module2

$cvs add module1 module2

$touch module1/temp.txt

$touch module2/temp.txt

$cvs addd module1/temp.txt module2/temp.txt

16. 设置模块的权限

只有acl管理员才能设置权限。

$cvs -d /db5/p1 racl admin:p -r ALL module1

$cvs -d /db5/p1 racl admin:p -r ALL module2

$cvs -d /db5/p1 racl group2:a -r ALL module1

$cvs -d /db5/p1 racl group3:r -r ALL module1

$cvs -d /db5/p1 racl group3:a -r ALL module2

$cvs -d /db5/p1 racl group2:r -r ALL module2

四、更换配置管理员

1. 管理员登录

以管理员root账号登录

2. 创建配置管理员的系统账户

#groupadd sun

#useradd -g sun -s /bin/bash sun

#passwd sun

#vi /etc/group

内容如下

cvsadmin:x:500:wang,sun

3. 设置配置管理员的系统账户

#vi /etc/group

内容如下

cm:x:509:ce,wang,sun

4. 创建cvs用户的账号

#cd /db5/p1/CVSROOT

#htpasswd -b passwd wang 123456

5. 修改cvs用户组

#vi group

内容如下

admin:sun

6. 检查acl管理员用户登录

#su - sun

$cvs -d :pserver:[email protected]:/db5/p1 login

没有出现错误提示表示成功。

7. 检查acl管理员账号是否有效

$cvs -d /db5/p1 racl admin:p -r ALL ALL

没有出现错误提示表示成功。

#!/bin/sh

cd /bin2/failover/

echo .

echo "***开始建/var/lock/cvs/...***"

SAVEIFS=$IFS

IFS="

"

file1=/etc/xinetd.d/cvs.run

if [ -f $file1 ]

then

file2=`grep "allow-root" $file1`

for f in $file2

do

h=`echo ${f##*/db1/}`

h=`echo ${h##*/db2/}`

h=`echo ${h##*/db3/}`

h=`echo ${h##*/db4/}`

h=`echo ${h##*/db5/}`

h=`echo ${h##*/db6/}`

h=`echo ${h##*/db01/}`

h=`echo ${h##*/repository/}`

i=`echo ${h%%' '*}`

mkdir -p /var/lock/cvs/$i

chmod a+w /var/lock/cvs/$i

done

fi

IFS=$SAVEIFS

你可能感兴趣的:(CVS Manual)