分享
 
 
 

CVS管理脚本

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

、用法

1. 准备工作

下载脚本地址

http://www.kdeopen.com

解开cvs.tar.gz

tar zxvf cvs.tar.gz

2. 安装CVS服务器

#cd cvs

#./install

3. 添加用户

#./cvsadduser [cvs用户] [系统用户] [密码]

4. 删除用户

#./cvsuserdel [cvs用户]

5. 修改密码

#./cvspasswd [cvs用户] [新密码]

二、脚本源码

1. 安装程序源码

[root@linux cvs]# cat install

#!/bin/sh

echo "adduser cvs"

adduser cvs

echo -n "Seting password for cvs :"

read cvspass

echo cvs:$cvspass|chpasswd

echo "adduser cvsroot"

adduser cvsroot -g cvs

echo -n "Seting password for cvsroot :"

read cvsrootpass

lpasswd cvsroot -P $cvsrootpass

if [ -f /etc/xinetd.d/cvspserver ]; then

echo "file cvspserver exists !"

exit 0

else

mkdir -m 755 /cvsroot

chown -R cvsroot /cvsroot

chgrp -R cvs /cvsroot

cp cvspserver /etc/xinetd.d

/etc/init.d/xinetd restart

echo "export CVSROOT=server:cvsroot@"`hostname`":/cvsroot"/home/cvsroot/.bash_profile

su - cvsroot -c "cvs -d /cvsroot init"

fi

[root@linux cvs]#

2. 添加用户程序源码

[root@linux cvs]# cat cvsadduser

#!/bin/sh

##############################################################

# Script to cvs adduser

# File:/root/admintool

##############################################################

# Setup environment for script execution

ENVS="`pwd`"/envs

if [ -f $ENVS ]; then

. $ENVS

else

CVSROOT=/cvsroot/CVSROOT

CVSUSER=$1

SYSUSER=$2

CVSPASS=$3

# echo "The file exist."

# exit 0

fi

if ! [ -f $CVSROOT/passwd ]; then

touch $CVSROOT/passwd

fi

cvsadduser() {

adduser $CVSUSER -g cvs -s /dev/null -d /tmp

echo "$CVSUSER:$CVSPASS"|chpasswd

grep "$CVSUSER\" /etc/shadow|gawk -F: '{print $1":"$2":'$SYSUSER'"}'$CVSROOT/passwd

userdel $CVSUSER

}

if [ -z $1 ]; then

echo "Usage: $0 [cvsuser] [system user] [password]"

echo " $0 chen cvs 123456"

exit 0

else

# echo $CVSUSER , $SYSUSER , $CVSPASS

isExists=`grep -c "$CVSUSER\" $CVSROOT/passwd`

# echo $isExists

if [ "$isExists" = "0" ]; then

cvsadduser

else

echo "$0 : user $1 exists"

exit 0

fi

fi

[root@linux cvs]#

3. 删除用户程序源码

[root@linux cvs]# cat cvsuserdel

#!/bin/sh

##############################################################

# Script to cvs passwd

# File:/root/admintool

##############################################################

# Setup environment for script execution

ENVS="`pwd`"/envs

if [ -f $ENVS ]; then

. $ENVS

else

CVSROOT=/cvsroot/CVSROOT

CVSUSER=$1

# echo "The file exist."

# exit 0

fi

cvsuserdel() {

isExists=`gawk -F: '$1=="'$CVSUSER'"{print $1}' $CVSROOT/passwd`

if [ "$CVSUSER" = "$isExists" ]; then

DLINE=`grep -n "$CVSUSER\" $CVSROOT/passwd|gawk -F: '{print $1}'`

mv -f $CVSROOT/passwd $CVSROOT/passwd.old

sed $DLINE'd' $CVSROOT/passwd.old$CVSROOT/passwd

else

echo "$0 : user $CVSUSER does not exist"

fi

}

if [ -z $1 ]; then

echo "Usage: $0 [cvsuser] [newpassword] "

echo " $0 chen 123456"

exit 0

else

cvsuserdel

exit 1

fi

[root@linux cvs]#

4. 修改密码程序源码

[root@linux cvs]# cat cvspasswd

#!/bin/sh

##############################################################

# Script to cvs passwd

# File:/root/admintool

##############################################################

# Setup environment for script execution

ENVS="`pwd`"/envs

if [ -f $ENVS ]; then

. $ENVS

else

CVSROOT=/cvsroot/CVSROOT

CVSUSER=$1

CVSPASS=$2

# echo "The file exist."

# exit 0

fi

cvspasswd() {

isExists=`gawk -F: '$1=="'$CVSUSER'"{print $1}' $CVSROOT/passwd`

# echo $isExists

if [ "$CVSUSER" = "$isExists" ]; then

# echo "true"

adduser $CVSUSER -g nobody -s /dev/null -d /tmp

echo "$CVSUSER:$CVSPASS"|chpasswd

SDPASS=`gawk -F: '$1=="'$CVSUSER'"{print $2}' /etc/shadow`

DLINE=`grep -n "$CVSUSER\" $CVSROOT/passwd|gawk -F: '{print $1}'`

SYSUSER=`grep "$CVSUSER\" $CVSROOT/passwd|gawk -F: '{print $3}'`

mv -f $CVSROOT/passwd $CVSROOT/passwd.old

sed $DLINE'd' $CVSROOT/passwd.old$CVSROOT/passwd

echo $CVSUSER:$SDPASS:$SYSUSER$CVSROOT/passwd

userdel $CVSUSER

# echo $SDPASS,$DLINE,$SYSUSER

else

echo "$0 : user $1 does not exist"

fi

}

if [ -z $1 ]; then

echo "Usage: $0 [cvsuser] [newpassword] "

echo " $0 chen 123456"

exit 0

else

cvspasswd

exit 1

fi

exit 1

[root@linux cvs]#

三、xinetd.d启动文件

[root@linux cvs]# cat cvspserver

service cvspserver

{

socket_type = stream

protocol = tcp

wait = no

user = root

server = /usr/bin/cvs

server_args = -f --allow-root=/cvsroot pserver

log_on_suceess +=USERID

log_on_failure +=USERID

}

[root@linux cvs]#

作者:Netkiller(陈景峰)

2002年1月30日星期三 第一版《Linux CVS Server与jCVS Client进行分布式开发》

2002年7月22日星期一 第二版 《Linux CVS Server + jCVS-5.3.2 Client进行分布式开发》

2002年9月8日星期日 《CVS管理脚本》

如有问题:

OICQ:13721218

ICQ:101888222

E-Mail: netkiller@9812.net

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有