LINUX.ORG.RU
ФорумAdmin

Spamassassin problem


0

0

Как побороть такую ерунду?
Если под рутом делаю проверку
spamassassin -h
или добавляю в базу спама
sa-lern --spam --mbox mail.box
то всё путём.
А если это же делаю от пользователя, от которого запускается
spamassassin, в master.cf :
filter    unix  -       n      n       -       -       pipe
  flags=R user=drweb argv=/opt/drweb/filters.sh -f ${sender} -- ${recipient}

то получаю такую запись на консоль:
 sa-learn --spam --mbox ./mail.box --showdots
Can't locate HTML/Parser.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.0/i586-linux /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/5.8.0/i586-linux /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i586-linux /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl) at /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/HTML.pm line 7.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/HTML.pm line 7.
Compilation failed in require at /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/PerMsgStatus.pm line 42.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/PerMsgStatus.pm line 42.
Compilation failed in require at /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin.pm line 62.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin.pm line 62.
Compilation failed in require at /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/CmdLearn.pm line 6.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/CmdLearn.pm line 6.
Compilation failed in require at /usr/bin/sa-learn line 43.

Я уже и модуль HTML::Parser переставлял и сам spamassassin.
Помогите, кто сталкивался, что сделать?
Куда рыть?
Или это нормальное явление?

Спасибо.
anonymous

У етого пользователя нет прав наверное на чтение
/usr/lib/perl5/site_perl/ или той директории где Parser.pm лежит, или самого Parser.pm

sabonez ★☆☆☆
()
Ответ на: комментарий от sabonez

Добился того, что читает, но почему-то не всё.
Права стоят, чтобы разрешить чтение, а всё-равно не выходит.
drweb@host $ ls -la /usr/lib/perl5/site_perl/5.8.0/Mail/
ls: /usr/lib/perl5/site_perl/5.8.0/Mail/.: Permission denied
ls: /usr/lib/perl5/site_perl/5.8.0/Mail/..: Permission denied
ls: /usr/lib/perl5/site_perl/5.8.0/Mail/Mbox: Permission denied
ls: /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin: Permission denied
ls: /usr/lib/perl5/site_perl/5.8.0/Mail/Address.pm: Permission denied
ls: /usr/lib/perl5/site_perl/5.8.0/Mail/Audit.pm: Permission denied
ls: /usr/lib/perl5/site_perl/5.8.0/Mail/Cap.pm: Permission denied
ls: /usr/lib/perl5/site_perl/5.8.0/Mail/Field.pm: Permission denied
ls: /usr/lib/perl5/site_perl/5.8.0/Mail/Filter.pm: Permission denied
ls: /usr/lib/perl5/site_perl/5.8.0/Mail/Header.pm: Permission denied
ls: /usr/lib/perl5/site_perl/5.8.0/Mail/Internet.pm: Permission denied
ls: /usr/lib/perl5/site_perl/5.8.0/Mail/Mailer.pm: Permission denied
ls: /usr/lib/perl5/site_perl/5.8.0/Mail/NoMailAudit.pm: Permission denied
ls: /usr/lib/perl5/site_perl/5.8.0/Mail/Field: Permission denied
ls: /usr/lib/perl5/site_perl/5.8.0/Mail/Mailer: Permission denied
ls: /usr/lib/perl5/site_perl/5.8.0/Mail/Send.pm: Permission denied
ls: /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin.pm: Permission denied
ls: /usr/lib/perl5/site_perl/5.8.0/Mail/Audit: Permission denied
ls: /usr/lib/perl5/site_perl/5.8.0/Mail/Util.pm: Permission denied
total 0
$
Под рутом:ls -la /usr/lib/perl5/site_perl/5.8.0/Mail/
total 236
drwxrw-rw-    7 root     root         4096 Jul  6 09:25 ./
drwxrwxrwx   20 root     root         4096 Jul  6 07:59 ../
-r--rw-rw-    1 root     root         8690 Mar 24 17:29 Address.pm
drwxrw-rw-    2 root     root         4096 May 26 16:04 Audit/
-r--rw-rw-    1 root     root        31605 Mar  3  2002 Audit.pm
-r--rw-rw-    1 root     root         8881 Mar 24 17:29 Cap.pm
drwxrw-rw-    2 root     root         4096 May 26 16:04 Field/
-r--rw-rw-    1 root     root         9444 Mar 24 17:29 Field.pm
-r--rw-rw-    1 root     root         3964 Mar 24 17:29 Filter.pm
-r--rw-rw-    1 root     root        20790 Mar 24 17:29 Header.pm
-r--rw-rw-    1 root     root        18736 Mar 24 17:29 Internet.pm
drwxrw-rw-    2 root     root         4096 May 26 16:04 Mailer/
-r--rw-rw-    1 root     root         7166 Mar 24 17:29 Mailer.pm
drwxrw-rw-    3 root     root         4096 Jul  6 07:59 Mbox/
-r--rw-rw-    1 root     root        13843 Aug 26  2003 NoMailAudit.pm
-r--rw-rw-    1 root     root         2375 Mar 24 17:29 Send.pm
drwxrw-rw-    9 root     root         4096 Jul  6 09:25 SpamAssassin/
-r--rw-rw-    1 root     root        51448 May 29 07:06 SpamAssassin.pm
-r--rw-rw-    1 root     root         5473 Mar 24 17:29 Util.pm

Т.е. видно, что читать/писать даже можно другим.
Но зато исчезли проблему с ненахождением парсера.
drweb@host $ sa-learn --spam --mbox ./mail.box --showdots
Can't locate Mail/SpamAssassin.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.0/i586-linux /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/5.8.0/i586-linux /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i586-linux /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl) at /usr/bin/sa-learn line 74.
BEGIN failed--compilation aborted at /usr/bin/sa-learn line 74.

# vi +74 /usr/bin/sa-learn
---cut---
use Mail::SpamAssassin;
---cut---
То бишь на этом и спотыкается соответственно.

Прошу помочь.
Спасибо.

anonymous
()
Ответ на: комментарий от sabonez

Да, Вы были правы, насчёт насстановки прав доступа.
Но появилась другая проблема:
Can't locate HTML/Parser.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.0/i586-linux /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/5.8.0/i586-linux /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i586-linux /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl) at /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/HTML.pm line 32
----cut----

Что это за модуль?
Директория есть такая в перловых модулях, но там действительно нет 
такого Parser.rm
Какой модуль я ещё не доставил?

Спасибо.

anonymous
()
Ответ на: комментарий от anonymous

Так, что за модуль нашёл и поставил, но появилась другая ерунда.
drweb@host $ sa-learn --spam --mbox ./mail.box --showdots
Can't locate loadable object for module HTML::Parser in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.0/i586-linux /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/5.8.0/i586-linux /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i586-linux /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl) at /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/HTML.pm line 32
Compilation failed in require at /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/HTML.pm line 32.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/HTML.pm line 32.
Compilation failed in require at /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/Message/Node.pm line 41.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/Message/Node.pm line 41.
Compilation failed in require at /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/Message.pm line 49.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/Message.pm line 49.
Compilation failed in require at /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin.pm line 75.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin.pm line 75.
Compilation failed in require at /usr/bin/sa-learn line 74.
BEGIN failed--compilation aborted at /usr/bin/sa-learn line 74.

Т.е он не находит опять какую-то ерунду :)

Чем я ему на этот раз не угодил?

Это мне так везёт или все так устанавливают? :))

Спасибо за помощь.

anonymous
()
Ответ на: комментарий от anonymous

Ура-ура, всё получилось!

Дело и вправду оказалось в правах
chmod 755 на модульный каталог рекурсивно излечил бяку.

Большое спасибо за помощь sabonez и системе google :)

Удачи.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.