Есть проблема с побочными действиями при установке пакета sa-content-filter. Этот пакет ставится то ли по умолчанию в сервере платформы P7, то ли при включении опции "фильтр спама" в интерфейсе альтератора. В файле настройки spamd в переменной CHILDUSER можно указать пользователя, с правами которого работает spamd. После установки spamassassin-spamd в/etc/sysconfig/spamd эта переменная не установлена и в результате spamd не может записать файлы байесовской базы в /var/spool/spamassassin/. Чтобы байесовский фильтр заработал, нужно указать CHILDUSER=mail. Когда устанавливается скрипт postinstall пакета sa-content-filter, он заменяет переменную SPAMDOPTIONS в /etc/sysconfig/spamd и в том числе ставит там опцию "--username=spamd", таким образом настройка CHILDUSER игнорируется. Исходный скрипт /etc/sysconfig/spamd =========================================================== # # Options to spamd # -d added in initscript, no need to specify it here # SPAMDOPTIONS="" # # spamd starts child processes under "noboby" user if main # running under "root" user and "-u" option is not used. # Child processes have not permission for write bayes_journal # to /var/spool/spamassassin at this case. So, CHILDUSER # should be specified and should be correspond to directory # permission. # # ATTENTION! You must to clean bayes_journal periodically. # #CHILDUSER=mail =========================================================== Настроенный вручную /etc/sysconfig/spamd: =========================================================== # # Options to spamd # -d added in initscript, no need to specify it here # SPAMDOPTIONS="" # # spamd starts child processes under "noboby" user if main # running under "root" user and "-u" option is not used. # Child processes have not permission for write bayes_journal # to /var/spool/spamassassin at this case. So, CHILDUSER # should be specified and should be correspond to directory # permission. # # ATTENTION! You must to clean bayes_journal periodically. # CHILDUSER=mail =========================================================== /etc/sysconfig/spamd после установки или обновления sa-content-filter: =========================================================== # # Options to spamd # -d added in initscript, no need to specify it here # SPAMDOPTIONS="--socketpath=/var/run/spamd/socket -x -P -L --username=spamd --virtual-config-dir=/var/lib/spamd/.spamassassin" # # spamd starts child processes under "noboby" user if main # running under "root" user and "-u" option is not used. # Child processes have not permission for write bayes_journal # to /var/spool/spamassassin at this case. So, CHILDUSER # should be specified and should be correspond to directory # permission. # # ATTENTION! You must to clean bayes_journal periodically. # CHILDUSER=mail ===========================================================
Ещё с этим пакетом есть проблема https://forum.altlinux.org/index.php?topic=36511.0 sa-content-filter содержит файл /var/lib/spamd/.spamassassin/user_prefs Изменение, вносимое постинсталл-скриптом пакета в /etc/sysconfig/spamd, указывает этот user_prefs приоритетным файлом конфигурации. Этот user_prefs задаёт важные настройки spamd "required_score" и "use_auto_whitelist". Кроме того, он выставляет веса нескольких правил. В результате эти настройки из /etc/spamassassin/local.cf не учитываются. Более того, если изменить содержимое /var/lib/spamd/.spamassassin/user_prefs, это изменение будет затёрто при следующем обновлении пакета. Документация к пакету отсутствует, такое IMHO некорректное поведение нигде не описано. В пакете sa-content-filter нужен только скрипт /usr/bin/content-filter и файл его настройки, в котором реализована простая возможность удалять (дропать) спам и это довольно удобно. Причём файл настройки пакета sa-content-filter расположен в необычном месте: /etc/sa-content-filter/system, логичнее переместить его в /etc/sysconfig/content-filter
CHILDUSER повился в spamassassin-3.4.0-alt1. Некоторое обсуждение: http://lists.altlinux.org/pipermail/sisyphus/2014-June/362420.html