Чтобы не править osec.cron, не плохо бы предопределить файл с исключениями. И не плохо бы пример, так как я что-то не угадаю никак, как мне сделать исключение для, например, /var/www/vhosts/*/temp/*, если /var/www находится в dirs.conf.
В master это уже реализовано. К сожалению тот кто это заказывал исчез (возможно потерял интерес) и протестировать результат не смог.
Нашел - $cmd /usr/bin/osec -D /var/lib/osec -f "$CONFDIR/dirs.conf" || + $cmd /usr/bin/osec \ + ${EXCLUDE_FILE:+-X "$EXCLUDE_FILE"} \ + -D "$DATABASE_DIR" \ + -f "$CONFDIR/dirs.conf" || На вид нормально. Только вот формат записи для паттернов никак не угадаю. :-( Никак не получается задать игнорирование подкаталогов temp в /var/www/vhosts/*/ Хотя, я там вижу патч "Fix exclude option". Не это ли причина ? Я с 1.2.5-alt3 пробую.
Исключения адаются в файле в формате fnmatch. Я сейчас сделаю тестовое задание.
(В ответ на комментарий №3) > Я сейчас сделаю тестовое задание. http://git.altlinux.org/tasks/132898/
(In reply to comment #3) > Исключения задаются в файле в формате fnmatch. Тогда непонятно, почему не работает. osec из 132898 поставил. Сделал файл /etc/osec/exclude-patterns.conf. Содержимое из 4-х строк: *2345678* 123456789 temp/* temp В кавычки и апострафы брать пробовал тоже. Есть файл /var/www/vhosts/webmail/temp/123456789 Он продолжает мониториться. В pipe.conf EXCLUDE_FILE=/etc/osec/exclude-patterns.conf написать не забыл.
(В ответ на комментарий №5) > В pipe.conf EXCLUDE_FILE=/etc/osec/exclude-patterns.conf написать не забыл. Спасибо. Вы нашли багу :)
(В ответ на комментарий №6) > (В ответ на комментарий №5) > > В pipe.conf EXCLUDE_FILE=/etc/osec/exclude-patterns.conf написать не забыл. > > Спасибо. Вы нашли багу :) Исправление в одну строчку: diff --git a/data/osec.cron b/data/osec.cron index 179c3c3..219af82 100755 --- a/data/osec.cron +++ b/data/osec.cron @@ -97,7 +97,6 @@ fi if [ -n "${EXCLUDE_FILE-}" ]; then if [ ! -f "$EXCLUDE_FILE" ]; then errlog "$EXCLUDE_FILE: Not found, parameter EXCLUDE will be ignored" - else EXCLUDE_FILE= fi fi
Всё равно не работает. Даже если -X /etc/osec/exclude-patterns.conf написать вместо ${EXCLUDE_FILE:+-X "$EXCLUDE_FILE"}. В каталоге temp мониторится всё, включая 123456789.
(В ответ на комментарий №8) > Всё равно не работает. Даже если -X /etc/osec/exclude-patterns.conf написать > вместо ${EXCLUDE_FILE:+-X "$EXCLUDE_FILE"}. В каталоге temp мониторится всё, > включая 123456789. Потому что правильный fnmatch для исключения каталога temp: */temp */temp/*
Так я тоже пробовал. В общем, это просто баг в 1.2.5-alt3. В osec из задания 132898 работает.
И, всё же, я бы положил exclude-patterns.conf с примером, прямо хоть тот же */temp */temp/*
(В ответ на комментарий №11) Да. В 1.2.5 эта опция была сломана. > И, всё же, я бы положил exclude-patterns.conf с примером, прямо хоть тот же > > */temp > */temp/* ОК. Приложу exclude-patterns.conf как пример.
Не пора ли в Сизифе обновить ?
Тук-тук. Надо обновлять версию в Сизифе.
Уже бац-бац. Анонс p8 не носу. :-)
osec-1.2.7-alt1 -> icarus: * Sat Sep 03 2016 Alexey Gladkov <legion@altlinux> 1.2.7-alt1 - New version (1.2.7); - Fix EXCLUDE_FILE handling (ALT#30413); - Add default exclude.conf (ALT#30413); - dirs.conf: Add /usr/share (ALT#31706); - Use perl-RPM2; * Thu Oct 23 2014 Alexey Gladkov <legion@altlinux> 1.2.6-alt1 - New version (1.2.6); - Add file exclusion option; - osec.cron: Add multiconfiguration support.
Прошу прощения, этого не должно было случиться.
(In reply to comment #17) > Прошу прощения, этого не должно было случиться. А жаль... Я смотрю, упирается в perl-RPM2, который хочет rpm-devel >= 4.6 ? perl-RPM-Database тоже более новый rpm хочет ? Я так понимаю, в p8 osec с таким изменением уже не попадает, даже если в Сизифе RPM обновится ?
(In reply to comment #18) > А жаль... Я смотрю, упирается в perl-RPM2, который хочет rpm-devel >= 4.6 ? > perl-RPM-Database тоже более новый rpm хочет ? Так. Стоп. Это же perl-RPM, и он есть. Попробовал собрать себе 1.2.7-alt1. Почти всё хорошо, но есть но. В dirs.conf добавил "/home", в exclude.conf добавил "*/asy/*". В итоге файлы внутри не отслеживаются, но отслеживаются атрибуты самого каталога. Например, создание файла внутри меняет время: Changed controlled files: - /home/asy mtime: Thu Nov 24 19:18:34 2016 -> Thu Nov 24 19:23:45 2016 Ещё в спеке надо поправить: -mv -- etc/dirs.conf .%_datadir/pipe.conf etc/osec/ +mv -- etc/dirs.conf etc/exclude.conf .%_datadir/pipe.conf etc/osec/
(В ответ на комментарий №19) > Так. Стоп. Это же perl-RPM, и он есть. Попробовал собрать себе 1.2.7-alt1. > Почти всё хорошо, но есть но. В dirs.conf добавил "/home", в exclude.conf > добавил "*/asy/*". В итоге файлы внутри не отслеживаются, но отслеживаются > атрибуты самого каталога. Например, создание файла внутри меняет время: > > Changed controlled files: > - /home/asy > mtime: Thu Nov 24 19:18:34 2016 -> Thu Nov 24 19:23:45 2016 А это потому что '/home/asy' не подподает под паттерн "*/asy/*". > Ещё в спеке надо поправить: > > -mv -- etc/dirs.conf .%_datadir/pipe.conf etc/osec/ > +mv -- etc/dirs.conf etc/exclude.conf .%_datadir/pipe.conf etc/osec/ Да, забыл. Спасибо!
> А это потому что '/home/asy' не подподает под паттерн "*/asy/*". Что-то я второй раз на эти грабли наступил... В общем, мне кажется, эту версию стоит уже в Сизиф отправить и в p8 (c возвратом perl-RPM вместо perl-RPM2). Кстати, а libcap-devel в сборочных зависимостях правда нужен ?
(В ответ на комментарий №21) > > А это потому что '/home/asy' не подподает под паттерн "*/asy/*". > > Что-то я второй раз на эти грабли наступил... Паттерны они такие )) > В общем, мне кажется, эту версию стоит уже в Сизиф отправить и в p8 (c > возвратом perl-RPM вместо perl-RPM2). Кстати, а libcap-devel в сборочных > зависимостях правда нужен ? Нужен. osec сбрасывает себе права перед тем как начать сканирование.
osec-1.2.7-alt1 -> sisyphus: * Sat Sep 03 2016 Alexey Gladkov <legion@altlinux> 1.2.7-alt1 - New version (1.2.7); - Fix EXCLUDE_FILE handling (ALT#30413); - Add default exclude.conf (ALT#30413); - dirs.conf: Add /usr/share (ALT#31706); - Use perl-RPM2; * Thu Oct 23 2014 Alexey Gladkov <legion@altlinux> 1.2.6-alt1 - New version (1.2.6); - Add file exclusion option; - osec.cron: Add multiconfiguration support.