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 ] && {
echo "Please run as root"
exit
}
function Usage(){
echo "Usage: $0 {--add|--del|--search} username [password]"
exit
} [ -f $FILE_PATH ] || touch ${FILE_PATH}
[ -d ${BAK_DIR} ] || mkdir ${BAK_DIR} case "$1" in -a|--add)
[ $# -ne ] && echo "Usage: $0 {--add|-a} username password" && exit shift
if egrep "^\b$1\b" ${FILE_PATH} &> /dev/null;then
action $"vpnuser,$1 is exist" /bin/false
exit
else
chattr -i ${FILE_PATH}
\cp ${FILE_PATH} ${BAK_FILE}
echo -e "$1\t\tl2tpd\t\t$2\t\t*" >> ${FILE_PATH}
[ $? -eq ] && action $"Add $1" /bin/true || action $"Add $1" /bin/false
chattr +i ${FILE_PATH}
fi
;;
-d|--del)
[ $# -ne ] && echo "Usage: $0 {--del|-d} username" && exit shift
if [ `grep "^$1\b" ${FILE_PATH} | wc -l` -lt ];then
action $"vpnuser $1 is not exist" /bin/false
exit
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 ] && echo "Usage: $0 {--search|-s} username" && exit shift
if [ `grep -w "$1" ${FILE_PATH} | wc -l` -lt ];then
echo $"vpnuser $1 is not exist";exit
else
echo $"vpnuser $1 is exist ";exit
fi
;;
*)
Usage
;;
esac
L2TP用户添加和删除、搜索脚本的更多相关文章
- 打通前后端全栈开发node+vue进阶【课程学习系统项目实战详细讲解】(3):用户添加/修改/删除 vue表格组件 vue分页组件
第三章 建议学习时间8小时 总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章] 演示地址:后台:demo ...
- Javascript DOM 03 表格添加、删除 + 搜索
获取 tBodies.tHead.tFoot.rows.cells 隔行变色 鼠标移入高亮 添加.删除一行 DOM方法的使用 ...
- Django实现简单的用户添加、删除、修改等功能
一. Django必要的知识点补充 1. templates和static文件夹及其配置 1.1 templates文件夹 所有的HTML文件默认都放在templates文件夹下. 1.2 stati ...
- mysql用户密码修改,用户添加、删除及设置权限
一下的示例所用用户名和密码为:test,111111 Mysql密码修改: Mysql修改密码需要root的权限,先执行mysql -uroot -p(密码); 1)使用set password方式来 ...
- 使用vue实现用户管理 添加及删除功能
简单的管理系统-增删改查 添加及删除功能 <!DOCTYPE html> <html> <head> <meta charset="UTF-8&qu ...
- 如何添加或删除ubuntu用户和组【转】
转自:http://blog.csdn.net/sin90lzc/article/details/7525670 在创建用户时,需要为新建用户指定一用户组,如果不指定其用户所属的工作组,自动会生成一个 ...
- 用Bash脚本将Linux普通用户添加为系统管理员
将Linux普通用户添加为系统管理员在Gnome或KDE这样强大与完善的桌面环境下是非常简单的事情,一般来说在用户设置的对话框里就直接有相应选项.不过,出于简洁与高效的风格,自己目前并未使用这些高端但 ...
- tab一些 添加 删除 搜索
tab一些 添加 删除 搜索 案例 <!DOCTYPE html><html lang="en"><head> <meta charset ...
- Linux命令之useradd和userdel(添加、删除用户)
一.[useradd]:添加用户命令 1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户. 2.格式 useradd [-d home] [-s sh ...
随机推荐
- 020 Valid Parentheses 有效的括号
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效.括号必须以正确的顺序关闭,"()" 和 "()[]{}" 是有效的 ...
- Windows 命令行基础(博主推荐)
不多说,直接上干货! 见 https://blog.henix.info/blog/windows-cmdbasic/
- 对象拷贝 - 优雅的解决方案 Mapstruct
MapStruct GitHub 访问地址 : https://github.com/mapstruct/mapstruct/ 使用例子 : https://github.com/mapstruct/ ...
- SQL海量数据读写性能优化
这是给某数据中心做的一个项目,项目难度之大令人发指,这个项目真正的让我感觉到了,商场如战场,而我只是其中的一个小兵,太多的战术,太多的高层之间的较量,太多的内幕了.具体这个项目的情况,我有空再写相关的 ...
- Comparing Two High-Performance I/O Design Patterns--reference
by Alexander Libman with Vladimir GilbourdNovember 25, 2005 Summary This article investigates and co ...
- SpringBoot | 第二十三章:日志管理之整合篇
前言 在本系列<第四章:日志管理>中,由于工作中日志这块都是走默认配置,也没有深入了解过,因为部署过程中直接使用了linux中的输出重定向功能,如java -jar xx.jar > ...
- java简单使用netty
一 整合 由于本人的学过的技术太多太乱了,于是决定一个一个的整合到一个springboot项目里面. 附上自己的github项目地址 https://github.com/247292980/spri ...
- Java中的do-while循环——通过示例学习Java编程(11)
作者:CHAITANYA SINGH 来源:https://www.koofun.com/pro/kfpostsdetail?kfpostsid=22&cid=0 在上一篇教程中,我们讨论了w ...
- jquery jquery选择器总结 转自(永远的麦子)
jQuery选择器总结 阅读目录 1, 基本选择器? 2, 层次选择器? 3, 过滤选择器? 4, 表单选择器? jQuery选择器共有四大类,分别为基本选择器,层次选择器,过滤选择器和表单选择器.下 ...
- spring batch 以游标的方式 数据库读取数据 然后写入目标数据库
前面关于Spring Batch的文章,讲述了SpringBatch对Flat.XML等文件的读写操作,本文将和大家一起讨论Spring Batch对DB的读写操作.Spring Batch对DB数据 ...