38 lines
622 B
Bash
Executable File
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
|
|
|