На данный момент spamd запускается под root. Предлагаю сделать его не-root: 1. Завести псевдопользователя spamd и дать ему группу mail 2. В /etc/sysconfig/spamd написать: RUNAS=spamd PIDFILE=/var/run/spamd/spamd.pid SPAMDOPTIONS="-L" 3. Завести каталог /var/run/spamd с правами 755 (или 770 как у меня) для spamd:mail (для того, чтобы он мог в качестве пользователя spamd писать в него) 4. Изменить файл /etc/rc.d/init.d/spamd: start_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user "$RUNAS" -- spamd -d --pidfile=$PIDFILE $SPAMDOPTIONS на start_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user "$RUNAS" -- spamd -d --pidfile="$PIDFILE" --username="$RUNAS" $SPAMDOPTIONS 5. Права на каталог /var/spool/spamassassin сделать 755 (или 775 как у меня), владелец:группа: root:mail. Для чего это надо? Когда spamd работает как root, то для обеспечения безопасности при связи с клиентом он менять uid на uid клиента. Из-за этого при работе нескольких разных клиентов, в частности, postfix и обычный пользователь, какой-нибудь из них не может обработать почту из-за того, что возникает ошибка работы с базой данных (не может открыть), и spamd начинает пропускать почту без проверки. Под обычным пользователем этого не наблюдается. Предложенная ситуация на моей машине работает уже около полугода без единой проблемы. Да, пункт 4 исправляет проблему с выбором пользователя, отличного от root, через /etc/sysconfig/spamd.
Мне казалось, что я уже высылал Виктору патч с необходимыми изменениями. Вы уверены, что версия пакета в Сизифе не содержит решения задачи (путем редактирования /etc/sysconfig/spamd)?
Нет, не внесено. Хотелось бы, чтобы spamd по-умолчанию работал бы под пользователем spamd, а не root (то есть в /etc/rc.d/init.d/spamd написать RUNAS=spamd, а не RUNAS=root). Если же в /etc/sysconfig/spamd внести RUNAS=spamd, то демон не может создать/изменить файл /var/run/spamd.pid. Предлагаю для spamd сделать отдельный каталог /var/run/spamd и уже в нём пусть играется. Ещё, для spamd необходимо добавить параметр --username="$RUNAS". Без него демон будет всегда root, и функции start_daemon и stop_daemon не будут его видеть, если RUNAS поставить отличным от root. Желательно в /etc/sysconfig/spamd добавить строки RUNAS=spamd PIDFILE=/var/run/spamd/spamd.pid чтобы не пришлось искать нужные комбинации бог знает где.
Опять установил спамассассин и что? Всё в том же плачевном состоянии - bayes и autolearn из коробки не работают :( С этим багом что-нибудь собираются делать или нет?
Хотя, надо признать что некоторые подвижки есть (создан юзер spamd и необходимые директории). Итак, чтобы получить нормально работающие autolearn и bayes я сделал: В /etc/sysconfig/spamd прописал RUNAS=spamd PID=/var/run/spamd/spamd.pid /etc/init.d/spamd: к опциям запуска spamd добавил --username="$RUNAS" Дал права группе на доступ к базе: chown :spamd /var/spool/spamassassin/
IMHO надо делать NMU.
С сайта http://www.spamassassin.org/ : 2006-06-06: SpamAssassin 3.1.3 released! This is an important security release to fix CVE 2006-2447; read the advisory to see if you need to upgrade. Visit the downloads page to get the latest version. (The release announcement) При этом лечится проблема, указанная в http://spamassassin.apache.org/advisories/cve-2006-2447.txt Эта проблема позволяет в текущем варианте получить remote root в системе. Нужна новая версия! Где мантейнер?
CVE-2006-2447 это ерунда, в таком виде spamassassin никто не использует. Новая версия 3.1.3 уже давно в Сизифе. Что касается нормального запуска spamd не из под root, то с этим в 3.1.x стало хуже, я патчил но результат мне не понравился и я откатился на старую версию.
(In reply to comment #7) > CVE-2006-2447 это ерунда, в таком виде spamassassin никто не использует. > Новая версия 3.1.3 уже давно в Сизифе. > > Что касается нормального запуска spamd не из под root, то с этим в 3.1.x стало > хуже, я патчил но результат мне не понравился и я откатился на старую версию. Насчёт "давно". Она появилась в репозитарии только 13 июня, чего конечно, я не мог увидеть. Непонятно, зачем ему рутовые права, кроме как открыть порт ниже 1024?
По оригинальному предложению ставлю WONTFIX.