add scripts
This commit is contained in:
commit
10256905b6
39
get_users
Normal file
39
get_users
Normal file
@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
|
||||
AUTHUSERDN=n2400_svc_ldap
|
||||
AUTHPASSDN='secretpass'
|
||||
MYDOMAIN=regions.tax.nalog.ru
|
||||
MYDC=n2400-dc01.regions.tax.nalog.ru
|
||||
GG=n2400-Internet
|
||||
|
||||
FUNC_AD_USERS(){
|
||||
USER_AD_LIST=$(ldapsearch -H ldap://$MYDC \
|
||||
-D n2400_svc_ldap \
|
||||
-w $AUTHPASSDN \
|
||||
-b OU=Departments,OU=Users,OU=CU,OU=UNS24,OU=UNS,DC=regions,DC=tax,DC=nalog,DC=ru \
|
||||
-a always "(&(cn=*)(memberOf=CN=$GG,OU=Universal,OU=Groups,OU=CU,OU=UNS24,OU=UNS,DC=regions,DC=tax,DC=nalog,DC=ru))" \
|
||||
sAMAccountName | grep -e "sAMAccountName:" | cut -d " " -f 2 \
|
||||
)
|
||||
echo $USER_AD_LIST
|
||||
}
|
||||
|
||||
FUNC_PROXY_USERS(){
|
||||
USER_PROXY_LIST=$(ssh n2400-svc-admin@10.197.240.84 \
|
||||
cat /etc/squid/users | grep "n2400-00-" | \
|
||||
cut -d: -f 1
|
||||
)
|
||||
echo $USER_PROXY_LIST
|
||||
}
|
||||
|
||||
FUNC_LINUX_USERS(){
|
||||
USER_LINUX_USERS=$(ssh n2400-svc-admin@10.197.240.85 \
|
||||
cat /etc/passwd | cut -d: -f 1 | grep n2400-00- \
|
||||
)
|
||||
echo $USER_LINUX_USERS
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
proxy) shift; FUNC_PROXY_USERS ;;
|
||||
linux) shift; FUNC_LINUX_USERS ;;
|
||||
*) FUNC_AD_USERS ;;
|
||||
esac
|
||||
45
remove_users
Normal file
45
remove_users
Normal file
@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
|
||||
USERS_AD=$(get_users ad)
|
||||
USERS_LINUX=$(get_users linux)
|
||||
USERS_PROXY=$(get_users proxy)
|
||||
|
||||
SEND_TO_CHAT(){
|
||||
ROCKETTEXT="User *"$ONEUSER"* was removed on *"$SERVER"*"
|
||||
ROCKETHOOK="https://chat24.regions.tax.nalog.ru/hooks/65e0171a7763a60325f455b0/dr2ZWdtcMPdYz6zCouz3BevQe6xr95ZqMYZgFb3BxFLKEXjA"
|
||||
rocketsend -b "$ROCKETTEXT" -u "$ROCKETHOOK"
|
||||
}
|
||||
|
||||
REMOVE_ON_LINUX(){
|
||||
SERVER="LINUX SERVER"
|
||||
if [[ $USERS_AD == *$ONEUSER* ]]; then
|
||||
echo "$SERVER:$ONEUSER EBABLE, RUN EXIT" > /dev/null
|
||||
else
|
||||
ansible-playbook /home/n2400-svc-admin/playbooks/remove_user_on_app100.yml -e username=$ONEUSER
|
||||
SEND_TO_CHAT
|
||||
fi
|
||||
}
|
||||
|
||||
REMOVE_ON_SQUID(){
|
||||
SERVER="PROXY SERVER"
|
||||
if [[ $USERS_AD == *$ONEUSER* ]]; then
|
||||
echo "$SERVER:$ONEUSER EBABLE, RUN EXIT" > /dev/null
|
||||
else
|
||||
ansible-playbook /home/n2400-svc-admin/playbooks/remove_user_on_squid.yml -e username=$ONEUSER
|
||||
SEND_TO_CHAT
|
||||
fi
|
||||
}
|
||||
|
||||
for XUSER in $USERS_LINUX
|
||||
do
|
||||
ONEUSER=$XUSER
|
||||
REMOVE_ON_LINUX
|
||||
done
|
||||
|
||||
for SUSER in $USERS_PROXY
|
||||
do
|
||||
ONEUSER=$SUSER
|
||||
REMOVE_ON_SQUID
|
||||
done
|
||||
|
||||
exit 0
|
||||
39
rocketsend
Normal file
39
rocketsend
Normal file
@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
|
||||
function usage {
|
||||
programName=$0
|
||||
echo "description: use this program to post messages to Rocket.chat channel"
|
||||
echo "usage: $programName [-b \"message body\"] [-u \"rocket.chat url\"]"
|
||||
echo " -b The message body"
|
||||
echo " -u The rocket.chat hook url to post to"
|
||||
exit 1
|
||||
}
|
||||
while getopts ":b:u:h" opt; do
|
||||
case ${opt} in
|
||||
u) rocketUrl="$OPTARG"
|
||||
;;
|
||||
b) msgBody="$OPTARG"
|
||||
;;
|
||||
h) usage
|
||||
;;
|
||||
\?) echo "Invalid option -$OPTARG" >&2
|
||||
;;
|
||||
esac
|
||||
done
|
||||
if [[ ! "${rocketUrl}" || ! "${msgBody}" ]]; then
|
||||
echo "all arguments are required"
|
||||
usage
|
||||
fi
|
||||
read -d '' payLoad << EOF
|
||||
{"text": "${msgBody}"}
|
||||
EOF
|
||||
echo $payLoad
|
||||
statusCode=$(curl \
|
||||
--insecure \
|
||||
--write-out %{http_code} \
|
||||
--silent \
|
||||
--output /dev/null \
|
||||
-X POST \
|
||||
-H 'Content-type: application/json' \
|
||||
--data "${payLoad}" ${rocketUrl})
|
||||
echo ${statusCode}
|
||||
67
sync_users
Normal file
67
sync_users
Normal file
@ -0,0 +1,67 @@
|
||||
#!/bin/bash
|
||||
|
||||
USERS_AD=$(get_users ad)
|
||||
USERS_LINUX=$(get_users linux)
|
||||
USERS_PROXY=$(get_users proxy)
|
||||
|
||||
SEND_TO_CHAT(){
|
||||
ROCKETTEXT="User *"$ONEUSER"* was created with password *"$NORMPASS"* on *"$SERVER"*"
|
||||
ROCKETHOOK="https://chat24.regions.tax.nalog.ru/hooks/65e0171a7763a60325f455b0/dr2ZWdtcMPdYz6zCouz3BevQe6xr95ZqMYZgFb3BxFLKEXjA"
|
||||
rocketsend -b "$ROCKETTEXT" -u "$ROCKETHOOK"
|
||||
}
|
||||
|
||||
GEN_PASS(){
|
||||
SIMPLEPASS=$(openssl rand -base64 8)
|
||||
NORMPASS=$(echo $SIMPLEPASS | sed 's/$/\*/')
|
||||
}
|
||||
|
||||
CREATE_ON_LINUX(){
|
||||
if [ -z $NORMPASS ]; then
|
||||
GEN_PASS
|
||||
fi
|
||||
|
||||
ansible-playbook /home/n2400-svc-admin/playbooks/create_user_on_app100.yml \
|
||||
-e username=$ONEUSER -e passw=$NORMPASS
|
||||
SERVER="Terminal Server"
|
||||
SEND_TO_CHAT
|
||||
}
|
||||
|
||||
CREATE_ON_PROXY(){
|
||||
if [ -z $NORMPASS ]; then
|
||||
GEN_PASS
|
||||
fi
|
||||
ansible-playbook /home/n2400-svc-admin/playbooks/create_user_on_squid.yml \
|
||||
-e username=$ONEUSER -e passw=$NORMPASS
|
||||
SERVER="Proxy Server"
|
||||
SEND_TO_CHAT "$@"
|
||||
}
|
||||
|
||||
CHECKING_ON_LINUX(){
|
||||
if [[ $USERS_LINUX == *$ONEUSER* ]]; then
|
||||
echo "EXIT from LINUX" > /dev/null
|
||||
else
|
||||
echo "CREATE NEW USER $ONEUSER ON LINUX" > /dev/null
|
||||
CREATE_ON_LINUX
|
||||
fi
|
||||
}
|
||||
|
||||
CHECKING_ON_PROXY(){
|
||||
if [[ $USERS_PROXY == *$ONEUSER* ]]; then
|
||||
echo "EXIT from PROXY" > /dev/null
|
||||
else
|
||||
echo "CREATE NEW USER $ONEUSER ON PROXY" > /dev/null
|
||||
CREATE_ON_PROXY
|
||||
fi
|
||||
}
|
||||
|
||||
for XUSER in $USERS_AD
|
||||
do
|
||||
ONEUSER=$XUSER
|
||||
CHECKING_ON_LINUX && CHECKING_ON_PROXY
|
||||
unset SIMPLEPASS
|
||||
unset NORMPASS
|
||||
done
|
||||
|
||||
remove_users
|
||||
|
||||
exit 0
|
||||
Loading…
x
Reference in New Issue
Block a user