Page 3 of 5

Re: Учим SpamAssasin

Posted: Sat Jan 06, 2018 8:48 pm
by imperio
Выполните следующие команды

Code: Select all

groupadd -g 1001 spamd
useradd -u 1001 -g spamd -s /sbin/nologin -d /var/lib/spamassassin spamd
mkdir /var/lib/spamassassin
chown spamd:spamd /var/lib/spamassassin
В конфиге exim

Code: Select all

spam = nobody:true/defer_ok
замените юзера nobody на spamd

Code: Select all

service exim4 restart
service spamassassin restart
в /var/lib/spamassassin/.spamassassin через некоторое время должны появится файлы, включая user_prefs
Отправьте пару писем на сервер и выложите снова лог /var/log/mail.log

Re: Учим SpamAssasin

Posted: Sat Jan 06, 2018 9:04 pm
by yariksat
Вот это пришлось пропустить

Code: Select all

# mkdir /var/lib/spamassassin
mkdir: cannot create directory ‘/var/lib/spamassassin’: File exists
И вот лог
SpoilerShow
Jan 7 00:01:41 yarik-sat spamd[15999]: spamd: clean message (0.5/5.0) for spamd:1001 in 9.0 seconds, 10513 bytes.
Jan 7 00:01:41 yarik-sat spamd[15999]: spamd: result: . 0 - DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HK_RANDOM_ENVFROM,HTML_MESSAGE,SPF_HELO_PASS,SPF_PASS,URIBL_BLOCKED scantime=9.0,size=10513,user=spamd,uid=1001,required_score=5.0,rhost=localhost,raddr=127.0.0.1,rport=50307,mid=<[email protected]>,autolearn=no autolearn_force=no
Jan 7 00:01:41 yarik-sat spamd[15998]: prefork: child states: II
Jan 7 00:01:49 yarik-sat spamd[15999]: spamd: connection from localhost [127.0.0.1]:50333 to port 783, fd 5
Jan 7 00:01:49 yarik-sat spamd[15999]: spamd: setuid to spamd succeeded
Jan 7 00:01:49 yarik-sat spamd[15999]: spamd: creating default_prefs: /var/lib/spamassassin/.spamassassin/user_prefs
Jan 7 00:01:49 yarik-sat spamd[15999]: spamd: failed to create readable default_prefs: /var/lib/spamassassin/.spamassassin/user_prefs
Jan 7 00:01:49 yarik-sat spamd[15999]: spamd: checking message <[email protected]> for spamd:1001
Jan 7 00:01:58 yarik-sat spamd[15999]: spamd: clean message (0.5/5.0) for spamd:1001 in 9.3 seconds, 12062 bytes.
Jan 7 00:01:58 yarik-sat spamd[15999]: spamd: result: . 0 - DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HK_RANDOM_ENVFROM,HTML_MESSAGE,SPF_HELO_PASS,SPF_PASS,URIBL_BLOCKED scantime=9.3,size=12062,user=spamd,uid=1001,required_score=5.0,rhost=localhost,raddr=127.0.0.1,rport=50333,mid=<[email protected]>,autolearn=no autolearn_force=no
Jan 7 00:01:58 yarik-sat spamd[15998]: prefork: child states: II

Re: Учим SpamAssasin

Posted: Sat Jan 06, 2018 9:09 pm
by imperio
Скиньте вывод

Code: Select all

ls /var/lib/spamassassin/.spamassassin

Re: Учим SpamAssasin

Posted: Sat Jan 06, 2018 9:10 pm
by yariksat
imperio wrote:Скиньте вывод

Code: Select all

ls /var/lib/spamassassin/.spamassassin

Code: Select all

ls /var/lib/spamassassin/.spamassassin
sa-compile.cache

Re: Учим SpamAssasin

Posted: Sat Jan 06, 2018 9:21 pm
by imperio
А почему у вас не создались файлы то в /var/lib/spamassassin/.spamassassin ?
spamd: failed to create readable default_prefs: /var/lib/spamassassin/.spamassassin/user_prefs
Странно. Проверьте ещё раз что всё сделано правильно.

Re: Учим SpamAssasin

Posted: Sat Jan 06, 2018 9:24 pm
by yariksat
imperio wrote:А почему у вас не создались файлы то в /var/lib/spamassassin/.spamassassin ?
spamd: failed to create readable default_prefs: /var/lib/spamassassin/.spamassassin/user_prefs
Странно. Проверьте ещё раз что всё сделано правильно.
Вот последовательно что и как я делал

Code: Select all

Last login: Sat Jan  6 23:15:26 2018
root@yarik-sat:~# groupadd -g 1001 spamd
root@yarik-sat:~# useradd -u 1001 -g spamd -s /sbin/nologin -d /var/lib/spamassassin spamd
root@yarik-sat:~# mkdir /var/lib/spamassassin
mkdir: cannot create directory ‘/var/lib/spamassassin’: File exists
root@yarik-sat:~# mkdir /var/lib/spamassassin
mkdir: cannot create directory ‘/var/lib/spamassassin’: File exists
root@yarik-sat:~# chown spamd:spamd /var/lib/spamassassin
root@yarik-sat:~# service exim4 restart
root@yarik-sat:~# service spamassassin restart

Re: Учим SpamAssasin

Posted: Sat Jan 06, 2018 9:27 pm
by yariksat
Вот это делать нужно согласно инструкции?
SpoilerShow
дальше находим параметр

КОД: ВЫДЕЛИТЬ ВСЁ
$rcmail_config['markasjunk2_spam_cmd'] = null;


и меняем его на

КОД: ВЫДЕЛИТЬ ВСЁ
$rcmail_config['markasjunk2_spam_cmd'] = 'sa-learn --spam --no-sync --username=%u %f';


где %u - имя пользователя, %f - полный путь к письму. Таким образом мы 'sa-learn' указываем письмо %f как СПАМ, а эти настройки просим применить для пользователя %u.

аналогично исправляем параметр

КОД: ВЫДЕЛИТЬ ВСЁ
$rcmail_config['markasjunk2_ham_cmd'] = null;


на

КОД: ВЫДЕЛИТЬ ВСЁ
$rcmail_config['markasjunk2_ham_cmd'] ='sa-learn --ham --no-sync --username=%u %f';
Может это пропустили?

Re: Учим SpamAssasin

Posted: Sat Jan 06, 2018 9:31 pm
by imperio
Нет это не то. Доступ ещё работает?

Re: Учим SpamAssasin

Posted: Sat Jan 06, 2018 9:34 pm
by yariksat
imperio wrote:Нет это не то. Доступ ещё работает?
Да,всё есть.CSF тоже пока рубанул на всякий случай.

Re: Учим SpamAssasin

Posted: Sat Jan 06, 2018 10:00 pm
by imperio
Исправил.
Далее в /usr/share/roundcube/plugins/markasjunk2/config.inc.php
Добавляете

Code: Select all

$config['markasjunk2_learning_driver'] = 'cmd_learn';
$config['markasjunk2_spam_cmd'] = '/usr/bin/sa-learn --spam --prefs-file=/var/lib/spamassassin/.spamassassin/user_prefs %f';
$config['markasjunk2_ham_cmd'] = '/usr/bin/sa-learn --ham --prefs-file=/var/lib/spamassassin/.spamassassin/user_prefs %f';
Согласно приведенной вами инструкции.

Хочу сразу предупредить, что не уверен будет ли работать всё то, что мы проделали или нет.