自动加用户及允许访问URL
#!/bin/bash
###########################说明#######################
#执行 ./autoadd $1 $2 $3 $4 $5
#如:./autoadd app 123456 192.168.1.1 www.baidu.com 443
# $1应用名 $2密码 $3源ip $4目标ip或域名 $5端口
#####################################################
source /etc/profile
# 定义变量
addcount='/usr/bin/htpasswd'
passwd_file='/home/admin/squid/conf/rsync/passwd'
allow_dstdomain='/home/admin/squid/conf/rsync/allow_dstdomain'
ispany_client='/home/admin/squid/conf/rsync/ispany_client'
safe_ports='/home/admin/squid/conf/rsync/safe_ports'
#增加或更新帐号密码
$addcount -b $passwd_file $1 $2
#判断是否开公网any
if [ $4 = 'any' ]
then
if ! grep "$3" $ispany_client >/dev/null
then
echo "${3}">> $ispany_client
echo "成功开通'${3}' 公网权限"
else
echo "'${3}'已经开通过,请直接配置使用"
exit 0
fi
else
#开公网普通
if ! grep "$4" $allow_dstdomain >/dev/null
then
#网址去头尾
echo "${4}" | sed -r 's/(\w*:\/\/)([^:/]*).*/\2/'>>$allow_dstdomain
echo "成功开通'${4}' 公网权限"
fi
fi
#判断端口是否存在
if ! grep "$5" $safe_ports >/dev/null
then
echo "${5}">> $safe_ports
echo "成功添加'${5}' 端口"
fi
#重新加载配置文件
#本机
su - admin -c "/etc/init.d/squid reload"
#等5秒确保同步完成
sleep 5
#其它三台,重新加载配置文件
ansible squid -s -a 'su - admin -c "/etc/init.d/squid reload"'
echo "重新加载配置文件,操作完成"
exit 0
网友评论