.卸载CVS
rpm -e cvs
.检查是否已经安装CVS
su - root
rpm -qa |grep cvs
如果未安装,则进行安装(第二张盘)
rpm -ivh cvs-1.11.22-5.el5.x86_64.rpm
.安装CVAACL以方便权限控制
cvs-1.11.22-cvsacl-1.2.5-patched.tar.gz
tar -zxvf cvs-1.11.22-cvsacl-1.2.5-patched.tar.gz
cd /tmp/cvs/cvs-1.11.22-cvsacl-1.2.5-patched
./configure
make
make install
卸载
make uninstall
. 建立cvs用户组,建立cvs帐号
userdel -r cvsroot
groupadd cvs
useradd -g cvs -G cvs -d /home/cvsroot cvsroot
chmod 770 -R /home/cvsroot
passwd cvsroot
关联用户登录
useradd -g cvs -M -s /sbin/nologin cvspub
.建立CVS仓库
su - cvsroot
cvs -d /home/cvsroot init
取消使用系统的组用户,使用CVS的组用户,具体操作
vi /cvsdata/CVSROOT/aclconfig
UseSystemGroups=yes 行首添加“#”,表示注释掉。
UseCVSGroup=yes 去除行首的“#”,表示启用此句。
设置访问cvs目录的默认权限
vi /cvsdata/CVSROOT/aclconfig
CVSACLDeflautPermission=n
.生成密码文件脚本 vi passwd.pl
#!/usr/bin/perl
srand (time());
my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";
my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
my $user = shift;
my $plaintext = shift;
my $crypttext = crypt ($plaintext, $salt);
print "$user:${crypttext}:cvsroot";
print "\n";
.测试用户(生成密码的方式)
htpasswd -c passwd test1
test1:X/81o4Z20xpz2:cvsroot
htpasswd -b passwd test2 test2
或者
./passwd.pl test1 test1 >> /home/cvsroot/CVSROOT/passwd
./passwd.pl test2 test2 >> /home/cvsroot/CVSROOT/passwd
vi /home/cvsroot/CVSROOT/passwd
test1:wE/VMqII64QdU:cvsroot
test2:FwoDvxExh15XU:cvsroot
.配置服务
vi /etc/profile
#add by shenyu CVS setting
export CVSROOT=/home/cvsroot/
source /etc/profile
vi /etc/xinetd.d/cvs
env = HOME=/home/cvsroot
server_args = -f --allow-root=/home/cvsroot pserver
su - root
chkconfig cvs on
service xinetd restart
netstat -an|grep 2401
cvs -d :pserver:test1@127.0.0.1:/home/cvsroot login
无显示则正常,错误则有错误提示
.检查防火墙
/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
.超级用户权限
cvs -d /home/cvsroot racl cvsroot:p -r ALL ALL
.创建CVS组
在CVSROOT文件夹中创建group文件,并将cvs的用户添加到此组中
vi /home/cvsroot/CVSROOT/group
group_proj1:x:1:tlx,test1,test2
group_proj2:x:1:tlx,test2
group_proj3:x:1:tlx,test1
cd
mkdir proj1
mkdir proj2
按组分配权限
cvs -d /home/cvsroot racl group_proj1:p -r ALL proj1/
cvs -d /home/cvsroot racl group_proj2:p -r ALL proj2/
cvs -d /home/cvsroot racl group_proj3:p proj3/
删除权限
cvs -d /home/cvsroot racl group_proj1:n -r ALL proj2/
.权限分配 (创建目录)
mkdir hardware
mkdir web
mkdir sedms
.记录登录日志
vi /home/cvsroot/CVSROOT/loginfo
DEFAULT (echo ""; id; echo %s; date; cat) >> $CVSROOT/CVSROOT/commitlog
DEFAULT (echo ""; id; echo %{sVv}; date; cat) >> $CVSROOT/CVSROOT/commitlog
.分组
vi /home/cvsroot/CVSROOT/group
group_hdw:x:1:tlx,wanghj
group_web:x:1:tlx,xjw,lhy,sy,hhj,gl
group_sem:x:1:tlx,shenyu
.添加用户
./passwd.pl shenyu shenyu >> /home/cvsroot/CVSROOT/passwd
./passwd.pl wanghj wanghj >> /home/cvsroot/CVSROOT/passwd
./passwd.pl xjw 123 >> /home/cvsroot/CVSROOT/passwd
./passwd.pl lhy 123 >> /home/cvsroot/CVSROOT/passwd
./passwd.pl sy 123 >> /home/cvsroot/CVSROOT/passwd
./passwd.pl hhj 123 >> /home/cvsroot/CVSROOT/passwd
./passwd.pl gl 123 >> /home/cvsroot/CVSROOT/passwd
./passwd.pl mxh mxh >> /home/cvsroot/CVSROOT/passwd
.授权
cvs -d /home/cvsroot racl group_hdw:p -r ALL hardware/
cvs -d /home/cvsroot racl group_web:p -r ALL web/
cvs -d /home/cvsroot racl group_sem:p -r ALL sedms/
rpm -e cvs
.检查是否已经安装CVS
su - root
rpm -qa |grep cvs
如果未安装,则进行安装(第二张盘)
rpm -ivh cvs-1.11.22-5.el5.x86_64.rpm
.安装CVAACL以方便权限控制
cvs-1.11.22-cvsacl-1.2.5-patched.tar.gz
tar -zxvf cvs-1.11.22-cvsacl-1.2.5-patched.tar.gz
cd /tmp/cvs/cvs-1.11.22-cvsacl-1.2.5-patched
./configure
make
make install
卸载
make uninstall
. 建立cvs用户组,建立cvs帐号
userdel -r cvsroot
groupadd cvs
useradd -g cvs -G cvs -d /home/cvsroot cvsroot
chmod 770 -R /home/cvsroot
passwd cvsroot
关联用户登录
useradd -g cvs -M -s /sbin/nologin cvspub
.建立CVS仓库
su - cvsroot
cvs -d /home/cvsroot init
取消使用系统的组用户,使用CVS的组用户,具体操作
vi /cvsdata/CVSROOT/aclconfig
UseSystemGroups=yes 行首添加“#”,表示注释掉。
UseCVSGroup=yes 去除行首的“#”,表示启用此句。
设置访问cvs目录的默认权限
vi /cvsdata/CVSROOT/aclconfig
CVSACLDeflautPermission=n
.生成密码文件脚本 vi passwd.pl
#!/usr/bin/perl
srand (time());
my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";
my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
my $user = shift;
my $plaintext = shift;
my $crypttext = crypt ($plaintext, $salt);
print "$user:${crypttext}:cvsroot";
print "\n";
.测试用户(生成密码的方式)
htpasswd -c passwd test1
test1:X/81o4Z20xpz2:cvsroot
htpasswd -b passwd test2 test2
或者
./passwd.pl test1 test1 >> /home/cvsroot/CVSROOT/passwd
./passwd.pl test2 test2 >> /home/cvsroot/CVSROOT/passwd
vi /home/cvsroot/CVSROOT/passwd
test1:wE/VMqII64QdU:cvsroot
test2:FwoDvxExh15XU:cvsroot
.配置服务
vi /etc/profile
#add by shenyu CVS setting
export CVSROOT=/home/cvsroot/
source /etc/profile
vi /etc/xinetd.d/cvs
env = HOME=/home/cvsroot
server_args = -f --allow-root=/home/cvsroot pserver
su - root
chkconfig cvs on
service xinetd restart
netstat -an|grep 2401
cvs -d :pserver:test1@127.0.0.1:/home/cvsroot login
无显示则正常,错误则有错误提示
.检查防火墙
/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
.超级用户权限
cvs -d /home/cvsroot racl cvsroot:p -r ALL ALL
.创建CVS组
在CVSROOT文件夹中创建group文件,并将cvs的用户添加到此组中
vi /home/cvsroot/CVSROOT/group
group_proj1:x:1:tlx,test1,test2
group_proj2:x:1:tlx,test2
group_proj3:x:1:tlx,test1
cd
mkdir proj1
mkdir proj2
按组分配权限
cvs -d /home/cvsroot racl group_proj1:p -r ALL proj1/
cvs -d /home/cvsroot racl group_proj2:p -r ALL proj2/
cvs -d /home/cvsroot racl group_proj3:p proj3/
删除权限
cvs -d /home/cvsroot racl group_proj1:n -r ALL proj2/
.权限分配 (创建目录)
mkdir hardware
mkdir web
mkdir sedms
.记录登录日志
vi /home/cvsroot/CVSROOT/loginfo
DEFAULT (echo ""; id; echo %s; date; cat) >> $CVSROOT/CVSROOT/commitlog
DEFAULT (echo ""; id; echo %{sVv}; date; cat) >> $CVSROOT/CVSROOT/commitlog
.分组
vi /home/cvsroot/CVSROOT/group
group_hdw:x:1:tlx,wanghj
group_web:x:1:tlx,xjw,lhy,sy,hhj,gl
group_sem:x:1:tlx,shenyu
.添加用户
./passwd.pl shenyu shenyu >> /home/cvsroot/CVSROOT/passwd
./passwd.pl wanghj wanghj >> /home/cvsroot/CVSROOT/passwd
./passwd.pl xjw 123 >> /home/cvsroot/CVSROOT/passwd
./passwd.pl lhy 123 >> /home/cvsroot/CVSROOT/passwd
./passwd.pl sy 123 >> /home/cvsroot/CVSROOT/passwd
./passwd.pl hhj 123 >> /home/cvsroot/CVSROOT/passwd
./passwd.pl gl 123 >> /home/cvsroot/CVSROOT/passwd
./passwd.pl mxh mxh >> /home/cvsroot/CVSROOT/passwd
.授权
cvs -d /home/cvsroot racl group_hdw:p -r ALL hardware/
cvs -d /home/cvsroot racl group_web:p -r ALL web/
cvs -d /home/cvsroot racl group_sem:p -r ALL sedms/