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