Skip to content

Instantly share code, notes, and snippets.

@luhaoming
Created August 31, 2018 05:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save luhaoming/1f5720ba5ceac7e0ddc2aaae4b7aed05 to your computer and use it in GitHub Desktop.
Save luhaoming/1f5720ba5ceac7e0ddc2aaae4b7aed05 to your computer and use it in GitHub Desktop.
openvpn user management
vpnuser make <username>
vpnuser dele <username>
#!/bin/bash
## vpnuser management
## useage:
## vpnuser make <username>
## vpnuser dele <username>
##
VPNPATH=/etc/openvpn/easy-rsa/2.0/
TOPATH=/home/kccc/openvpn
function usage(){
echo "usage:"
echo "vpnuser make <username>"
echo "vpnuser dele <username>"
}
function makeuser(){
USERID=$1
## make cert
cd ${VPNPATH}
source ${VPNPATH}vars
${VPNPATH}pkitool ${USERID}
touch /etc/openvpn/ccd/${USERID}
mkdir -p /home/kccc/openvpn/${USERID}
cp ${VPNPATH}keys/${USERID}.* $TOPATH/${USERID}
cp -r ${VPNPATH}configs/. $TOPATH/${USERID}
## modify config file
cd $TOPATH/${USERID}
sed -i "s/userfilename/$USERID/g" $TOPATH/${USERID}/kccc.ovpn
## zip and send to client
cd $TOPATH/${USERID}
zip -r ${USERID}.zip . -x *sh -x "**src/**" -x "**.svn/*" -x "**zip"
sz ${USERID}.zip
}
function deleuser(){
cd /etc/openvpn/easy-rsa/2.0
source ./vars
./revoke-full $1
}
### ----- main ###
cmds="make dele"
if [ $1 -ne "make" -o $1 -ne "dele" ];then usage && exit 1;fi
if [ "$2" == "" ]; then usage && exit 1;fi
if [ $1 == "make" ];then
makeuser $2
fi
if [ $1 == "dele" ];then
deleuser $2
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment