Это - действительно факт жизни. Можно установить инструменты для отфильтровывания хостов, которые нападают на Вас после нескольких неудачных попыток.
DenyHosts анализирует Ваши файлы журнала и автоматически добавляет взломщиков к Вашему /etc/hosts.deny
файл.
Проверьте документацию, как настроить ее для Ваших потребностей.
Обновление: некоторые важные моменты предлагаются в комментариях
обязательно правильно настройте инструменты как DenyHosts, так как Вы могли заблокировать себя (например, можно настроить машину или сеть, которая никогда не фильтруется),
DenyHosts не увеличивает Вашу безопасность системы: это только фильтрует нападения на уровне IP (это могло бы уменьшить нагрузку на маленькие машины и уменьшить размер файлов журнала, но ничего больше),
Самый простой путь состоял бы в том, чтобы использовать awk
.
awk '/^Result: / {print $2}' file_name
Это соответствует строкам, которые начинаются Result:
, и печатает второе поле в файле, как определено $IFS по умолчанию, который является пробелом.
Походит на то, что Вы хотите:
sed -ne 's/^Result: \([^ ]*\).*/\1/p' file_name
Соответствия против строки с "Результатом": и печатает первое слово после него. Другие строки не отображены.
^
, но является ненужным.
– Arcege
07.11.2011, 08:29
tillblank=$(egrep -o "^Result: [^ ]* " file)
echo ${tillblank/*:/}
egrep-o только производит шаблон, который Вы искали. Следующая строка удаляет все до двоеточия.
Result: 2 apples
, затем Ваш, добрался бы 2 apples
, нет 2
как предложенный OP.
– Arcege
08.11.2011, 02:46
Result: 2
- вторая строка удаляет Result:
. Вы тестировали его? Вы должны!
– user unknown
08.11.2011, 03:45
:
и afaik, слово, прежде чем следующее двоеточие ищется. – user unknown 07.11.2011, 06:39Result:
и следующее пространство - то, что желаемо. Awk будет значением по умолчанию разбивать строку на пробел.$1
= "Результат": 2$ = следующее слово. Который является тем, что OP запросил извлечь. – Tim Kennedy 07.11.2011, 07:10blank
'. Ваша команда заканчивается для строкиResult:two bla nk
вbla
. – user unknown 07.11.2011, 07:29Result:
. Это будет теперь игнорировать строки как этот в Вашем примере и более тесно соответствовать начальному запросу OP. – Tim Kennedy 07.11.2011, 07:40