Nikolai V. Ivanyushin wrote:
> Мини-howto, поправьте меня:
>> 1. Добавляем пользователя nospam
> 2. Меняем опции запуска spamassassin'a
> в /etc/sysconfig/spamassassin
> 3. Перестартовываем spamd
>> Скрипт, который делает это:
>> #!/bin/sh
>> # 1. Добавляем пользователя nospam
> mkdir /home/nospam
а для чего ты ручками создавал каталог? разве useradd его не создаст?
> useradd -r -d /home/nospam -M -s /sbin/nologin \
> -c 'SpamAssassin Daemon' nospam
> chown nospam.nospam /home/nospam
если каталог будет создан с помощью useradd, то и chown не понадобится
> # 2. Меняем опции запуска spamassassin'a
> perl -pi -e 's/^SPAMDOPTIONS=/#SPAMDOPTIONS=/' /etc/sysconfig/spamassassin
> echo "SPAMDOPTIONS=\"-d -x -u nospam -H /home/nospam \
> --virtual-config=/home/nospam\"" >> /etc/sysconfig/spamassassin
>> # 3. Перестартовываем spamd
> service spamassassin restart
>> # Всё.
остальное - прокатит
> Может стоит между пп. 2 и 3 вставить копирование твоих правил для sa и
> скриптов для sa-learn, и сделать rpmб назвав его sa-conf?
можно
на счет копирования правил - я буквально вчера рисовал скрипт для
andrew на osnach.kiev.ua:
~~~~~~~~~~
#!/usr/local/bin/bash
rsync -avz --delete rsync://bsd.falbi.kiev.ua/spamassassin/rules.local/
`pwd`/rules.corvax/
rsync -avz --delete rsync://bsd.falbi.kiev.ua/spamassassin/patches/
`pwd`/patches/
dst_dir=rules
link() {
rules_order=$1
rules_dir=$2
rules=`find ${rules_dir}/ -name "*.cf"`
if [ ! -z "${rules}" ]; then
for rule in ${rules}; do
rule_dir=`dirname ${rule}`
rule_file=`basename ${rule}`
ln -s ${rule_dir}/${rule_file} \
${dst_dir}/${rules_order}_${rule_file}
done
fi
}
find ${dst_dir}/ -type l | xargs rm -f
#link 90 `pwd`/rules.RulesDuJour
#link 92 `pwd`/rules.misc
link 93 `pwd`/rules.corvax
rm -rf ${dst_dir}/93*{test,corvax,falbi}.cf
link 94 `pwd`/rules.local
~~~~~~~~~~
два запуска rsync'а - это синхронизация правил и патчей
подразумевается, что мои правила лежат в подкаталоге rules.corvax того
же каталога, где лежит скрипт
подразумевается, что в переменной dst_dir хранится или путь на каталог с
правила spamassassin или путь на симлинк на них. в данном конкретном
случае значение переменной dst_dir равно rules, который является
симлинком на /usr/local/etc/mail/spamassassin (для линуксов
/etc/mail/spamassassin)
дальше - в последних строках скрипта выполняется функция link, которая
создает симлинки на файлы с правилами в каталоге, на который указывается
${dst_dir}. заодно удаляются симлинки на три моих правила, о которых я
упоминал в сосденем письме (они кроме меня, пожалуй, никому не нужны).
фунцию link можно использовать произвольное количество раз с
произвольным количеством каталоговю. в данном случае сначала создаются
симлинки на мои правила, удаляются симлинки на ненужные мои правила,
потом создаются симлинки на правила из rules.local (специфичные для
данного хоста). таким образом, в файлых из rules.local можно
переопределить баллы, насчитываемые моими правилами из rules.corvax
число, передаваемое в качестве первого параметра функции link, означает
порядок подключения правил.
вроде все
--
Best wishes Victor Ustugov mailto:victor на corvax.kiev.ua
public GnuPG/PGP key: http://victor.corvax.kiev.ua/corvax.asc
ICQ UIN: 77186900, 32418694 nic-handle: CRV2-RIPE, CRV-UANIC