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]#