найдите, xargs и mv: переименовывая файлы с двойными кавычками, расширением и проблемой приоритета удара

При использовании rsyslogd можно создать правило фильтра, которое соответствует некоторым сообщениям журнала vsftp интереса и посылает их по электронной почте Вам. Rsyslog имеет почтовый выходной модуль.

Другие демоны системного журнала могут обеспечить подобные функции.

Возможно, также необходимо скорректировать некоторые vsftpd опции получить все мероприятия, о которых сообщают.

В целом вопрос, если Вы действительно хотите получить электронное письмо для каждой плохой попытки входа в систему - потому что боты, механически пробуя логины являются ничем специальным (т.е. Вы массово разослать).

Другая стратегия состоит в том, чтобы использовать rsyslog, чтобы отфильтровать vsftp сообщения интереса для отдельного файла журнала и позволить заданию крона уведомить, что Вы - говорите - каждые несколько часов - если файл изменился. Возможно, также отправляя его по почте как вложение, если это не является слишком большим.

Используя rsyslog можно настроить соответствующий период вращения журнала, также который соответствует шаблону вызова задания крона.

3
09.12.2014, 01:57
3 ответа

Предположим, что у вас установлена команда rename, используйте:

find . -name '*"*' -exec rename 's/"//g' {} +

Команда rename принимает выражение Perl для получения нового имени. s/"//g выполняет глобальную замену имени, заменяя все кавычки пустой строкой.

Для этого с помощью mv необходимо передать команду оболочке, чтобы можно было выполнить подкоманды:

find . -name '*"*' -exec sh -c 'mv "$0" "$(printf %s "$0" | tr -d "\"")"' {} \;

То, что вы записали, передает от xargs к tr, оно не использует tr для формирования аргумента к mv.

5
27.01.2020, 21:10
xargs -0 -I {} mv {} {} | tr -d \"

не имеет смысла: MV не производит вывод. Таким образом, вы не можете строить трубопроводы с MV .

find . -name '*"*' -exec bash -c 'mv "$1" "${1//\"/}"' bash {} \;

или с меньшими накладными расходами

find . -name '*"*' -exec bash -c 'for file in "$@"; do mv "$file" "${file//\"/}"; done' bash {} +
3
27.01.2020, 21:10

В качестве дополнения к ответу Роланда Иллига можно написать программу, которая, получив разрешения root, повреждает системные файлы и/или компрометирует вашу систему различными способами.

Проблема в том, что просто написание не означает, что он автоматически запускается как root - ему нужно установить владельца на root, а затем должен быть набор бит setuid, на который ссылается Роланд - и только root имеет право на это.

Короче говоря: Да, каждый двоичный файл с битовым набором setuid является, по крайней мере, потенциально угрозой безопасности. Использование ошибки в двоичном файле с поддержкой setuid для получения привилегий root является наиболее распространенным источником так называемых атак эскалации привилегий , и они, как правило, имеют большое значение, когда они происходят. Из-за этого, есть относительно мало частей программного обеспечения, которые используют setuid, и те, которые существуют, как правило, находятся под высоким контролем.

-121--59390-

Я думаю, что вам не нужно переименовывать файлы. Можно преобразовать имена файлов на лету (первый sed), сравнить их с датой (awk) и преобразовать соответствующие имена файлов обратно (второй sed).

find parent/directory -maxdepth 1 -type d -name 'bkp_*'                | \
sed 's#parent/directory/bkp_\(..\)\(..\)\(....\)#\3\2\1#'              | \
awk -v date=$(date --date='3 months ago' +%Y%m%d) '$0<$date{print $0}' | \
sed 's#\(....\)\(..\)\(..\)#parent/directory/bkp_\3\2\1#'              | \
xargs rm -r

Вы должны сначала протестировать это без компонента xargs rm!

-121--139844-

Вы можете сделать...

mkdir ../_cp
pax -Xwrl -s'/"//gp' . "${PWD%/*}/_cp"

Это просто создает кучу жестких ссылок на все файлы в иерархии с корнем . в ../_ ср . Затем вы можете проверить все хорошо с обоими каталогами, прежде чем удалить один из них - они практически одинаковые каталоги в конце концов, за исключением того, что в одном каталоге нет имен файлов, которые содержат ".

1
27.01.2020, 21:10

Теги

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