Bug 31873 - постинсталл-скрипт пакета sa-content-filter сбивает настройку демона spamd из пакета spamassassin-spamd
Summary: постинсталл-скрипт пакета sa-content-filter сбивает настройку демона spamd из...
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: sa-content-filter (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Nobody's working on this, feel free to take it
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-03-11 10:55 MSK by Стас
Modified: 2016-03-11 13:48 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Стас 2016-03-11 10:55:07 MSK
Есть проблема с побочными действиями при установке пакета 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
===========================================================
Comment 1 Стас 2016-03-11 11:11:30 MSK
Ещё с этим пакетом есть проблема 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
Comment 2 Sergey Y. Afonin 2016-03-11 13:48:41 MSK
CHILDUSER повился в spamassassin-3.4.0-alt1. Некоторое обсуждение:
http://lists.altlinux.org/pipermail/sisyphus/2014-June/362420.html