В моем журнале proftpd есть строка (точнее, строка 78)
Deny from 1.2.3.4
У меня также есть скрипт, который просматривает мои журналы для людей, использующих атаки методом грубой силы, и затем сохраняет их IP (готовый для черного списка). То, с чем я борюсь, это вставка (предположим, с помощью sed) в конце этой конкретной строки - вот что я получил до сих пор:
sed "77i3.4.5.6" /opt/etc/proftpd.conf >> /opt/etc/proftpd.conf
Теперь можно предположить, что это будет работать идеально, однако на самом деле это происходит следующим образом (строки с 77 по 78):
3.4.5.6
Deny from 1.2.3.4
Я подозреваю, что это из-за моей устаревшей версии sed, есть ли другие способы добиться того же? Кроме того, >> вызывает дублирование конфигурации в конце поля (опять же, я уверен, что это ограничение моей версии sed). Это работает ядро доморощенного Linux на моем NAS. Варианты Sed ниже:
root @ NAS: ~ # sed BusyBox v1.7.0
(2009-04-29 19:12:57 JST) мульти-вызов
двоичный
Использование: sed [-efinr] pattern [files ...]
Опция:
-e скрипт Добавить скрипт к командам, которые будут выполнены
-f scriptfile Добавить содержимое файла сценария в
команды, которые будут выполнены
-i Редактировать файлы на месте
-n Подавить автоматическую печать пространства шаблона
-r Использовать расширенный синтаксис регулярного выражения
Если не указано -e или -f, первый
неопционный аргумент принимается как
Сценарий для интерпретации. Все остальное
аргументы - это имена входных файлов; если
входные файлы не указаны, затем
стандартный ввод читается. Исходные файлы
не будет изменен, если опция -i
дается.
Приветствую вас, ребята, за помощь.