dash (Debian's /bin/sh) doesn't support echo's -e flag: it prints "-e" literally as text before processing the rest of the string's backslash escapes. Every script's colored banner was affected. printf's escape handling is POSIX-mandated and behaves identically under dash and bash, so swap all 90 echo -e calls for printf, appending the trailing \n that echo used to add implicitly. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
27 lines
663 B
Bash
Executable File
27 lines
663 B
Bash
Executable File
#!/bin/sh
|
|
|
|
# TODO check if root
|
|
|
|
printf '\033[35m
|
|
______ _ _____ __
|
|
/ ____/___ _(_) /__ \ / /_ ____ _____
|
|
/ /_ / __ `/ / /__/ // __ \/ __ `/ __ \
|
|
/ __/ / /_/ / / // __// /_/ / /_/ / / / /
|
|
/_/ \__,_/_/_//____/_.___/\__,_/_/ /_/
|
|
\033[0m\n'
|
|
printf "\033[35;1mInstalling fall2ban \033[0m\n"
|
|
|
|
if [ "$(id -u)" -ne 0 ]; then
|
|
echo "Please run as root"
|
|
exit
|
|
fi
|
|
|
|
sleep 2
|
|
apt-get --yes install fail2ban
|
|
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
|
|
# ToDo ask for email and configure jail.local with it
|
|
touch /var/log/auth.log
|
|
systemctl enable fail2ban
|
|
systemctl restart fail2ban
|
|
printf "\033[92;1mfail2ban installed and configured\033[Om\n"
|