Какое приложение я могу использовать для хостов блока с regex?

На Linux Вы могли использовать неизменное использование флага chattr достигнуть только для чтения на уровне файловой системы (требует соответствующих полномочий хотя). Я не использую OS X и не знаю, имеет ли он что-то подобное, но Вы могли бы достигнуть "после того, как скрипт запущен, test.txt все еще существуйте" с помощью:

#!/bin/sh
mv test.txt test.bak
trap "mv test.bak test.txt" EXIT

rm -f test.txt

Этот сценарий переименовывает test.txt кому: test.bak и переименовывает его назад, когда сценарий вышел (после того, как rm -f test.txt). Это не действительно только для чтения, но если Вы kill -KILL Ваш сценарий, это должно сохранить Ваши данные, по крайней мере.

Альтернативная идея, если Вы настаиваете, имея ту строку в нем, почему бы не выйти ранее?

#!/bin/sh
# do your thing
exit
# my boss insisted to have the 'rm' line below.

rm -f test.txt

Альтернатива, которая поворачивается rm в функцию, которая ничего не делает:

#!/bin/sh
# do your thing
rm() {
    # this function does absolutely nothing
    : # ... but it has to contain something
}

rm -f test.txt

Подобный функциональному методу выше, но использование устаревшего alias управляйте для искажения rm к true встроенный, который ничего не делает (но returing истинный код выхода):

#!/bin/sh
# do your thing
alias rm=true

rm -f test.txt

Альтернатива, которая удаляет rm от среды (предполагающий, что существует нет rm встроенный):

#!/bin/sh
# do your thing
PATH= # now all programs are gone, mwuahaha

# gives error: bash: rm: No such file or directory
rm -f test.txt

Другой, который изменяется $PATH при помощи тупика rm программа (использование /tmp как путь поиска):

#!/bin/sh
# do your thing
>/tmp/rm # create an empty "rm" file
chmod +x /tmp/rm
PATH=/tmp

rm -f test.txt

Для получения дополнительной информации о созданном-ins, выполненном help <built-in> для деталей. Например:

true: true
    Return a successful result.

    Exit Status:
    Always succeeds.

Для других команд использовать man rm или посмотрите в странице руководства, man bash.

4
26.11.2014, 20:16
2 ответа

Определите ASN

whois -h whois.radb.net `dig +short stackoverflow.com`

Manage Traffic

for ip in `whois -h whois.radb.net '!gAS25791' | grep /`
do
    iptables -A -s $IP -j DROP
done
0
27.01.2020, 21:05

Что касается беспроблемных решений, многие используют fail2ban: http://www.fail2ban.org/

Правила могут быть настроены, см. http://www.fail2ban.org/wiki/index.php/Commands

set addfailregex

0
27.01.2020, 21:05

Теги

Похожие вопросы