L2TP用户添加和删除、搜索脚本

#!/bin/bash
#author Template
. /etc/init.d/functions

DATE_TIME=$(date +%F-%T)
FILE_PATH='/etc/ppp/chap-secrets'
FILE=`basename ${FILE_PATH}`
BAK_DIR='/etc/ppp/backup'
BAK_FILE="${BAK_DIR}/${FILE}.${DATE_TIME}"
find ${BAK_DIR} -name "chap-secrets.*" -mtime +30 -delete

[ $UID -ne 0 ] && {
  echo "Please run as root"
  exit  3
}
function Usage(){
        echo "Usage: $0 {--add|--del|--search} username [password]"
        exit 1
}

[ -f $FILE_PATH ] || touch ${FILE_PATH}
[ -d ${BAK_DIR} ] || mkdir ${BAK_DIR}

case "$1" in 

-a|--add)
        [ $# -ne 3 ] &&  echo "Usage: $0 {--add|-a} username password" && exit 1

        shift
        if egrep  "^\b$1\b"  ${FILE_PATH} &> /dev/null;then
                        action $"user,$1 is exist" /bin/false
                        exit
        else
                chattr -i ${FILE_PATH}
                \cp ${FILE_PATH} ${BAK_FILE}
                echo -e "$1\t\td\t\t$2\t\t*" >> ${FILE_PATH}
                [ $? -eq 0 ] &&  action $"Add $1" /bin/true || action $"Add $1" /bin/false
                chattr +i ${FILE_PATH}
        fi
        ;;
-d|--del)
        [ $# -ne 2 ] && echo "Usage: $0 {--del|-d} username" && exit 1

        shift
        if [ `grep "^$1\b" ${FILE_PATH} | wc -l` -lt 1 ];then
                action $"user $1 is not exist" /bin/false
                exit 1
        else
                chattr -i ${FILE_PATH}
                \cp ${FILE_PATH} ${BAK_FILE}
                sed -i "/^$1/d" ${FILE_PATH}
                action "Del $1" /bin/true 
                chattr +i ${FILE_PATH}
                exit
        fi
        ;;
-s|--search)
        [ $# -ne 2 ] && echo "Usage: $0 {--search|-s} username" && exit 1

        shift
        if [ `grep -w "$1" ${FILE_PATH} | wc -l` -lt 1 ];then
                echo $"user $1 is not exist";exit
        else
                echo $"user $1 is exist ";exit
        fi
        ;;
*)
        Usage
        ;;
esac

 

转载于:https://www.cnblogs.com/Template/p/9247598.html

你可能感兴趣的:(L2TP用户添加和删除、搜索脚本)