install-gitea/drop-bad-mysql-users.sh
Eliezer Croitoru 406e02d20d Periodic update
2024-11-21 03:20:00 +02:00

38 lines
622 B
Bash
Executable File

#!/usr/bin/env bash
for i in $(mariadb -e 'SELECT user,host FROM mysql.user;' -B -N |awk -F'\t' '{print $1"@"$2}'); do
BAD_USER="0"
NO_PREFIX="0"
NO_POSTFIX="0"
USERNAME="$i"
echo "$i"|egrep "^@"
if [ "$?" -eq "0" ]
then
BAD_USER="1"
NO_PREFIX="1"
fi
echo "$i"|egrep "@$"
if [ "$?" -eq "0" ]
then
BAD_USER="1"
NO_POSTFIX="1"
fi
if [ "${NO_POSTFIX}" -eq "1" ]
then
USERNAME="'$(echo -n "${i}"|sed -e "s/@//g")'@''"
fi
if [ "${NO_PREFIX}" -eq "1" ]
then
USERNAME="''@'$(echo -n "${i}"|sed -e "s/@//g")'"
fi
if [ "${BAD_USER}" -eq "1" ]
then
mysql -e "DROP USER ${USERNAME}";
fi
done