URL: https://ssl.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 96225
[ Назад ]

Исходное сообщение
"ошибки при дебаге amavisd-new"

Отправлено ll75 , 29-Июл-15 07:58 

# amavisd-new debug-sa

fetch_modules: error loading optional module Mail/DKIM.pm:
  Can't locate Mail/DKIM.pm:   lib/Mail/DKIM.pm: Permission denied at /usr/sbin/amavisd-new line 209, <DATA> line 717.
fetch_modules: error loading optional module Mail/DKIM/Verifier.pm:
  Can't locate Mail/DKIM/Verifier.pm:   lib/Mail/DKIM/Verifier.pm: Permission denied at /usr/sbin/amavisd-new line 209, <DATA> line 717.

но модуль libmail-dkim-perl в системе присутствует:
# dpkg -L libmail-dkim-perl | less
/usr
/usr/share
/usr/share/perl5
/usr/share/perl5/Mail
/usr/share/perl5/Mail/DKIM
/usr/share/perl5/Mail/DKIM/Signer.pm
/usr/share/perl5/Mail/DKIM/Verifier.pm
/usr/share/perl5/Mail/DKIM/Signature.pm
............................................

прав вроде достаточно
# ls -l /usr/share/perl5/Mail/DKIM/Verifier.pm
-rw-r--r-- 1 root root 22323 Feb  7  2013 /usr/share/perl5/Mail/DKIM/Verifier.pm


что не так?


Содержание

Сообщения в этом обсуждении
"ошибки при дебаге amavisd-new"
Отправлено PavelR , 29-Июл-15 08:02 
> прав вроде достаточно

Надо проверять не только права на файл, но и права на весь путь каталогов к нему, каждый каталог отдельно.



"ошибки при дебаге amavisd-new"
Отправлено PavelR , 29-Июл-15 08:02 
>> прав вроде достаточно
> Надо проверять не только права на файл, но и права на весь
> путь каталогов к нему, каждый каталог отдельно.

в том числе есть права и такие:

ls -ld /

но их лучше не менять :-)


"ошибки при дебаге amavisd-new"
Отправлено ll75 , 29-Июл-15 08:08 
>>> прав вроде достаточно
>> Надо проверять не только права на файл, но и права на весь
>> путь каталогов к нему, каждый каталог отдельно.
> в том числе есть права и такие:
> ls -ld /
> но их лучше не менять :-)

прав достаточно вроде-на каталоги 755
#  ls -l /usr/share/perl5/Mail/
total 232
drwxr-xr-x  4 root root  4096 Jul 29 06:49 DKIM
-rw-r--r--  1 root root  2058 Nov 28  2012 DKIM.pm

#  ls -l /usr/share/perl5
drwxr-xr-x 7 root root  4096 Jul 29 06:49 Mail

#  ls -l /usr/share/
drwxr-xr-x  32 root root  4096 Jul 29 06:49 perl5

#  ls -l /usr/
drwxr-xr-x 97 root root   4096 Jul 29 06:49 share

# ls -ld /
drwxr-xr-x 22 root root 4096 Jul 21 10:42 /


"ошибки при дебаге amavisd-new"
Отправлено PavelR , 29-Июл-15 10:53 

Мне не понятно, почему "lib/Mail/DKIM.pm" содержит lib/.

Как вариант, правите /usr/sbin/amavisd-new, раскомментируете my_require() и заменяете вызов одного eval на другой.


Там ниже предлагали $log_level и $sa_debug подкрутить. Помогло?


"ошибки при дебаге amavisd-new"
Отправлено ll75 , 29-Июл-15 20:13 

> Там ниже предлагали $log_level и $sa_debug подкрутить. Помогло?

имеется в виду добавить в amavisd.conf ?


"ошибки при дебаге amavisd-new"
Отправлено PavelR , 29-Июл-15 21:07 
>> Там ниже предлагали $log_level и $sa_debug подкрутить. Помогло?
> имеется в виду добавить в amavisd.conf ?

Это вы у советующего спросите.

>Как вариант, правите /usr/sbin/amavisd-new, раскомментируете my_require() и заменяете
>вызов одного eval на другой.

Этот путь пробовали?
Не ясно, что у вас там такое творится, почему перловые модули недоступны.

Сделайте:

# su - amavis
$ perl -e 'use Mail::DKIM;'
$

Что покажет?


"ошибки при дебаге amavisd-new"
Отправлено ll75 , 29-Июл-15 21:17 
> Сделайте:
> # su - amavis
> $ perl -e 'use Mail::DKIM;'
> $

ничего не показало:

# su - amavis
$ perl -e 'use Mail::DKIM;'
$



"ошибки при дебаге amavisd-new"
Отправлено ll75 , 29-Июл-15 21:24 
>>Как вариант, правите /usr/sbin/amavisd-new, раскомментируете my_require() и заменяете
>>вызов одного eval на другой.
> Этот путь пробовали?
> Не ясно, что у вас там такое творится, почему перловые модули недоступны.

насколько я понимаю перловые модули доступны, не хватает прав
fetch_modules: error loading optional module Razor2/Client/Agent.pm:
  Can't locate Getopt/Long.pm:   lib/Getopt/Long.pm: Permission denied at /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/Razor2/Client/Agent.pm
  
непонятно откуда берется lib/
Can't locate Getopt/Long.pm:   lib/Getopt/Long.pm:


# vim +15 /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/Razor2/Client/Agent.pm
use Getopt::Long;

# vim +209 /usr/sbin/amavisd-new
  201 sub fetch_modules($$@) {
  202   my($reason, $required, @modules) = @_;
  203   my(@missing);
  204   for my $m (@modules) {
  205     local $_ = $m;
  206     $_ .= /^auto::/ ? '.al' : '.pm'  if !m{^/} && !m{\.(?:pm|pl|al|ix)\z};
  207     s{::}{/}g;
  208     eval {
  209       require $_;
  210     # my_require $_;  # more informative on err, but some problems reported
  211     } or do {
  212       my $eval_stat = $@ ne '' ? $@ : "errno=$!";  chomp $eval_stat;
  213       push(@missing,$m);
  214       $eval_stat =~ s/^/  /gms;  # indent
  215       printf STDERR ("fetch_modules: error loading %s module %s:\n%s\n",
  216                      $required ? 'required' : 'optional',  $_, $eval_stat)
  217         if $eval_stat !~ /\bCan't locate \Q$_\E in \@INC\b/;
  218     };
  219   }
  220   die "ERROR: MISSING $reason:\n" . join('', map("  $_\n", @missing))
  221     if $required && @missing;
  222   \@missing;
  223 }


к тому же часть из них была установлена из CPAN, хотя соответствующие deb-пакеты в системе также присутствуют...

нет, не пробовал, раскомментарить я еще смогу, но "заменяете вызов одного eval на другой" это как?


"ошибки при дебаге amavisd-new"
Отправлено eRIC , 29-Июл-15 21:43 
>[оверквотинг удален]
>   219   }
>   220   die "ERROR: MISSING $reason:\n" . join('', map("
>  $_\n", @missing))
>   221     if $required && @missing;
>   222   \@missing;
>   223 }
> к тому же часть из них была установлена из CPAN, хотя соответствующие
> deb-пакеты в системе также присутствуют...
> нет, не пробовал, раскомментарить я еще смогу, но "заменяете вызов одного eval
> на другой" это как?

править не нужно и не советую. он не может загрузить дополнительные Perl модули. пишет lib/Mail потому что дальше уходит в дебри библиотек мира Perl в системе


"ошибки при дебаге amavisd-new"
Отправлено PavelR , 30-Июл-15 08:17 
> к тому же часть из них была установлена из CPAN, хотя соответствующие
> deb-пакеты в системе также присутствуют...

Ну вот где-то там и причины. Надо проверять пути _там_, а не по данным их системных deb-пакетов.

> нет, не пробовал, раскомментарить я еще смогу, но "заменяете вызов одного eval
> на другой" это как?

это вот тут:

  208     eval {
  209       require $_;
  210     # my_require $_;  # more informative on err, but some problems reported

В старых версиях было два eval.

201  # eval { my_require $_ } #more informative on err, but some problems reported
202    eval { require $_ }


Несмотря на то, что некоторые заявления, что это не надо делать, хотелось бы отметить, что функция my_require() отличается выводом полного пути к файлу, который она пытается загрузить.
Думаю, что увидев полный путь к файлу можно решить проблему гораздо быстрее.

Перед правкой сделайте копию файла /usr/sbin/amavisd-new.


"ошибки при дебаге amavisd-new"
Отправлено ll75 , 30-Июл-15 11:44 
>   208     eval {
>   209       require $_;
>   210     # my_require $_;  #
> more informative on err, but some problems reported

расскомментировал my_require $_; теперь выдало:

fetch_modules: error loading required module Exporter.pm:
  Can't locate object method "my_require" via package "Exporter.pm" (perhaps you forgot to load "Exporter.pm"?) at /usr/sbin/amavisd-n
ew line 210.
fetch_modules: error loading required module POSIX.pm:
  Can't locate object method "my_require" via package "POSIX.pm" (perhaps you forgot to load "POSIX.pm"?) at /usr/sbin/amavisd-new lin
e 210.
fetch_modules: error loading required module Fcntl.pm:
  Can't locate object method "my_require" via package "Fcntl.pm" (perhaps you forgot to load "Fcntl.pm"?) at /usr/sbin/amavisd-new lin
e 210.
fetch_modules: error loading required module Socket.pm:
  Can't locate object method "my_require" via package "Socket.pm" (perhaps you forgot to load "Socket.pm"?) at /usr/sbin/amavisd-new l
ine 210.
fetch_modules: error loading required module Errno.pm:
  Can't locate object method "my_require" via package "Errno.pm" (perhaps you forgot to load "Errno.pm"?) at /usr/sbin/amavisd-new lin
e 210.
fetch_modules: error loading required module Carp.pm:
  Can't locate object method "my_require" via package "Carp.pm" (perhaps you forgot to load "Carp.pm"?) at /usr/sbin/amavisd-new line
210.
fetch_modules: error loading required module Time/HiRes.pm:
  Can't locate object method "my_require" via package "Time/HiRes.pm" (perhaps you forgot to load "Time/HiRes.pm"?) at /usr/sbin/amavi
sd-new line 210.
fetch_modules: error loading required module IO/Handle.pm:
  Can't locate object method "my_require" via package "IO/Handle.pm" (perhaps you forgot to load "IO/Handle.pm"?) at /usr/sbin/amavisd
-new line 210.
fetch_modules: error loading required module IO/File.pm:
  Can't locate object method "my_require" via package "IO/File.pm" (perhaps you forgot to load "IO/File.pm"?) at /usr/sbin/amavisd-new
line 210.
fetch_modules: error loading required module IO/Socket.pm:
  Can't locate object method "my_require" via package "IO/Socket.pm" (perhaps you forgot to load "IO/Socket.pm"?) at /usr/sbin/amavisd
-new line 210.
fetch_modules: error loading required module IO/Socket/UNIX.pm:
  Can't locate object method "my_require" via package "IO/Socket/UNIX.pm" (perhaps you forgot to load "IO/Socket/UNIX.pm"?) at /usr/sb
in/amavisd-new line 210.
fetch_modules: error loading required module IO/Stringy.pm:
  Can't locate object method "my_require" via package "IO/Stringy.pm" (perhaps you forgot to load "IO/Stringy.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module Digest/MD5.pm:
  Can't locate object method "my_require" via package "Digest/MD5.pm" (perhaps you forgot to load "Digest/MD5.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module Unix/Syslog.pm:
  Can't locate object method "my_require" via package "Unix/Syslog.pm" (perhaps you forgot to load "Unix/Syslog.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module File/Basename.pm:
  Can't locate object method "my_require" via package "File/Basename.pm" (perhaps you forgot to load "File/Basename.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module Compress/Zlib.pm:
  Can't locate object method "my_require" via package "Compress/Zlib.pm" (perhaps you forgot to load "Compress/Zlib.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Base64.pm:
  Can't locate object method "my_require" via package "MIME/Base64.pm" (perhaps you forgot to load "MIME/Base64.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/QuotedPrint.pm:
  Can't locate object method "my_require" via package "MIME/QuotedPrint.pm" (perhaps you forgot to load "MIME/QuotedPrint.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Words.pm:
  Can't locate object method "my_require" via package "MIME/Words.pm" (perhaps you forgot to load "MIME/Words.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Head.pm:
  Can't locate object method "my_require" via package "MIME/Head.pm" (perhaps you forgot to load "MIME/Head.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Body.pm:
  Can't locate object method "my_require" via package "MIME/Body.pm" (perhaps you forgot to load "MIME/Body.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Entity.pm:
  Can't locate object method "my_require" via package "MIME/Entity.pm" (perhaps you forgot to load "MIME/Entity.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Parser.pm:
  Can't locate object method "my_require" via package "MIME/Parser.pm" (perhaps you forgot to load "MIME/Parser.pm"?) at /usr/sbin/ama
visd-new line 210.
fetch_modules: error loading required module MIME/Decoder.pm:
  Can't locate object method "my_require" via package "MIME/Decoder.pm" (perhaps you forgot to load "MIME/Decoder.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Decoder/Base64.pm:
  Can't locate object method "my_require" via package "MIME/Decoder/Base64.pm" (perhaps you forgot to load "MIME/Decoder/Base64.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Decoder/Binary.pm:
  Can't locate object method "my_require" via package "MIME/Decoder/Binary.pm" (perhaps you forgot to load "MIME/Decoder/Binary.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Decoder/QuotedPrint.pm:
  Can't locate object method "my_require" via package "MIME/Decoder/QuotedPrint.pm" (perhaps you forgot to load "MIME/Decoder/QuotedPrint.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Decoder/NBit.pm:
  Can't locate object method "my_require" via package "MIME/Decoder/NBit.pm" (perhaps you forgot to load "MIME/Decoder/NBit.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Decoder/UU.pm:
  Can't locate object method "my_require" via package "MIME/Decoder/UU.pm" (perhaps you forgot to load "MIME/Decoder/UU.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module MIME/Decoder/Gzip64.pm:
  Can't locate object method "my_require" via package "MIME/Decoder/Gzip64.pm" (perhaps you forgot to load "MIME/Decoder/Gzip64.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module Net/LibIDN.pm:
  Can't locate object method "my_require" via package "Net/LibIDN.pm" (perhaps you forgot to load "Net/LibIDN.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module Net/Server.pm:
  Can't locate object method "my_require" via package "Net/Server.pm" (perhaps you forgot to load "Net/Server.pm"?) at /usr/sbin/amavisd-new line 210.
fetch_modules: error loading required module Net/Server/PreFork.pm:
  Can't locate object method "my_require" via package "Net/Server/PreFork.pm" (perhaps you forgot to load "Net/Server/PreFork.pm"?) at /usr/sbin/amavisd-new line 210.
ERROR: MISSING REQUIRED BASIC MODULES:
  Exporter
  POSIX
  Fcntl
  Socket
  Errno
  Carp
  Time::HiRes
  IO::Handle
  IO::File
  IO::Socket
  IO::Socket::UNIX
  IO::Stringy
  Digest::MD5
  Unix::Syslog
  File::Basename
  Compress::Zlib
  MIME::Base64
  MIME::QuotedPrint
  MIME::Words
  MIME::Head
  MIME::Body
  MIME::Entity
  MIME::Parser
  MIME::Decoder
  MIME::Decoder::Base64
  MIME::Decoder::Binary
  MIME::Decoder::QuotedPrint
  MIME::Decoder::NBit
  MIME::Decoder::UU
  MIME::Decoder::Gzip64
  Net::LibIDN
Net::Server
  Net::Server::PreFork
BEGIN failed--compilation aborted at /usr/sbin/amavisd-new line 249.


"ошибки при дебаге amavisd-new"
Отправлено ll75 , 30-Июл-15 12:10 
>[оверквотинг удален]
>   MIME::Decoder::Base64
>   MIME::Decoder::Binary
>   MIME::Decoder::QuotedPrint
>   MIME::Decoder::NBit
>   MIME::Decoder::UU
>   MIME::Decoder::Gzip64
>   Net::LibIDN
>  Net::Server
>   Net::Server::PreFork
> BEGIN failed--compilation aborted at /usr/sbin/amavisd-new line 249.

часть модулей установил через cpan, но большая часть у меня уже установлена последней версии, но почему-то при повторном запуске дебага амависа тот же список из всех тех же 33 модулей перла


"ошибки при дебаге amavisd-new"
Отправлено PavelR , 30-Июл-15 12:55 
>>   208     eval {
>>   209       require $_;
>>   210     # my_require $_;  #
>> more informative on err, but some problems reported
> расскомментировал my_require $_; теперь выдало:
>   209       require $_;
>   210     # my_require $_;  #

1) Надо не только раскомментировать 210, но и закомментировать 209.
2) Надо раскоментировать сам код метода my_require, выше по файлу.


"ошибки при дебаге amavisd-new"
Отправлено ll75 , 30-Июл-15 13:15 
>>>   208     eval {
>>>   209       require $_;
>>>   210     # my_require $_;  #
>>> more informative on err, but some problems reported
>> расскомментировал my_require $_; теперь выдало:
>>   209       require $_;
>>   210     # my_require $_;  #
> 1) Надо не только раскомментировать 210, но и закомментировать 209.

выполнил:
  209 #      require $_;
  210     my_require $_;  # more informative on err, but some problems reported
  211     } or do {
> 2) Надо раскоментировать сам код метода my_require, выше по файлу.

расскомментарил:
  150 sub my_require($) {
  151  my $filename = $_[0];
  152  my $result;
  153  if (exists $INC{$filename} && !$INC{$filename}) {
  154    die "Compilation failed in require\n";
  155  } elsif (exists $INC{$filename}) {
  156    $result = 1;  # already loaded
  157  } else {
  158    my $found = 0;
  159    for my $prefix (@INC) {
  160      my $full_fname = "$prefix/$filename";
  161      my(@stat_list) = stat($full_fname);  # symlinks-friendly
  162      my $errn = @stat_list ? 0 : 0+$!;
  163      if ($errn != ENOENT) {
  164        $found = 1;
  165        $INC{$filename} = $full_fname;
  166        my $owner_uid = $stat_list[4];
  167        my $msg;
  168        if ($errn)         { $msg = "is inaccessible: $!" }
  169        elsif (-d _)       { $msg = "is a directory" }
  170        elsif (!-f _)      { $msg = "is not a regular file" }
  171        elsif ($> && -o _) { $msg = "should not be owned by EUID $>"  }
  172        elsif ($> && -w _) { $msg = "is writable by EUID $>, EGID $)" }
  173        elsif ($owner_uid) { $msg = "should be owned by root (uid 0) "}
  174        !defined($msg) or die "Requiring $full_fname, file $msg,\n";
  175        $! = 0;
  176        $result = do $full_fname;
  177        if (!defined($result) && $@ ne '') {
  178          undef $INC{$filename}; chomp($@);
  179          die "Error in file $full_fname: $@\n";
  180        } elsif (!defined($result) && $! != 0) {
  181          undef $INC{$filename};
  182          die "Error reading file $full_fname: $!\n";
  183        } elsif (!$result) {
  184          undef $INC{$filename};
  185          die "Module $full_fname did not return a true value\n";
  186        }
  187        last;
  188      }
  189    }
  190    die sprintf("my_require: Can't locate %s in \@INC (\@INC contains: %s)\n",
  191                $filename, join(' ',@INC))  if !$found;
  192  }
  193  $result;
  194 }
  195



"ошибки при дебаге amavisd-new"
Отправлено ll75 , 30-Июл-15 13:17 
в дебаге:
/usr/sbin/amavisd-new[17052]: perl=5.020002, user=, EUID: 112 (112);  group=, EGID: 117 117 (117 117)
/usr/sbin/amavisd-new[17052]: INFO: no optional modules: unicore::lib::Perl::SpacePer.pl unicore::lib::N
t::De.pl

/usr/sbin/amavisd-new[17052]: SpamControl: attempting to load scanner SpamAssassin, module Amavis::SpamControl::SpamAssassin
/usr/sbin/amavisd-new[17052]: SpamControl: scanner SpamAssassin, module Amavis::SpamControl::SpamAssassi
n
fetch_modules: error loading optional module Razor2/Client/Agent.pm:
  Error in file /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/Razor2/Client/Agent.pm: Can't locate Getopt/Long.pm:   lib/Getopt/Long.pm:
Permission denied at /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/Razor2/Client/Agent.pm line 15, <DATA> line 717.
  BEGIN failed--compilation aborted at /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/Razor2/Client/Agent.pm line 15, <DATA> line 717.
fetch_modules: error loading optional module Mail/DKIM.pm:
  Requiring lib/Mail/DKIM.pm, file is inaccessible: Permission denied,
fetch_modules: error loading optional module Mail/DKIM/Verifier.pm:
  Requiring lib/Mail/DKIM/Verifier.pm, file is inaccessible: Permission denied,
fetch_modules: error loading optional module Image/Info.pm:
  Requiring lib/Image/Info.pm, file is inaccessible: Permission denied,
fetch_modules: error loading optional module Image/Info/GIF.pm:
  Requiring lib/Image/Info/GIF.pm, file is inaccessible: Permission denied,
fetch_modules: error loading optional module Image/Info/JPEG.pm:
  Requiring lib/Image/Info/JPEG.pm, file is inaccessible: Permission denied,
fetch_modules: error loading optional module Image/Info/PNG.pm:
  Requiring lib/Image/Info/PNG.pm, file is inaccessible: Permission denied,
fetch_modules: error loading optional module Image/Info/BMP.pm:
  Requiring lib/Image/Info/BMP.pm, file is inaccessible: Permission denied,
fetch_modules: error loading optional module Image/Info/TIFF.pm:
  Requiring lib/Image/Info/TIFF.pm, file is inaccessible: Permission denied,
fetch_modules: error loading optional module Mail/SPF.pm:
  Requiring lib/Mail/SPF.pm, file is inaccessible: Permission denied,
fetch_modules: error loading optional module Mail/SPF/Server.pm:


"ошибки при дебаге amavisd-new"
Отправлено ll75 , 30-Июл-15 13:19 
/usr/sbin/amavisd-new[17052]: (!)Net::Server: 2015/07/30-12:12:28 Unable to load module for proto "Net::Server::Proto::UNIX": Can't locate Net/Server/Proto/UNIX.pm:   lib/Net/Server/Proto/UNIX.pm: Permission denied at /usr/share/perl5/Net/Server/Proto.pm line 198, <DATA> line 717.\n\n  at line 198 in file /usr/share/perl5/Net/Server/Proto.pm


"ошибки при дебаге amavisd-new"
Отправлено ll75 , 30-Июл-15 13:22 
в системе установлен perl версии 5.20:

ii  perl                                   5.20.2-3+deb8u1           amd64        Larry Wall's Practical Extraction and Report Language
ii  perl-base                              5.20.2-3+deb8u1           amd64        minimal Perl system
ii  perl-modules                           5.20.2-3+deb8u1           all          Core Perl modules

непонятно почему при дебаге амависа:
/usr/sbin/amavisd-new[17052]: perl=5.020002, user=, EUID: 112 (112);  group=, EGID: 117 117 (117 117)

откуда взялась 5.020002 ?


"ошибки при дебаге amavisd-new"
Отправлено eRIC , 30-Июл-15 13:31 
> откуда взялась 5.020002 ?

это и есть Perl версии 5.20.2


"ошибки при дебаге amavisd-new"
Отправлено ll75 , 30-Июл-15 13:32 
непонятно относительно чего берется такой каталог lib/ в
lib/Net/Server/Proto/UNIX.pm

"ошибки при дебаге amavisd-new"
Отправлено ll75 , 30-Июл-15 14:04 
cpan>install Getopt::Long          
Reading '/root/.cpan/Metadata'
  Database was generated on Thu, 30 Jul 2015 08:29:02 GMT
Getopt::Long is up to date (2.47).

но всё равно в дебаге амависа присутствует:
fetch_modules: error loading optional module Razor2/Client/Agent.pm:
  Error in file /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/Razor2/Client/Agent.pm: Can't locate Getopt/Long.pm:   lib/Getopt/Long.pm: Permission denied at /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/Razor2/Client/Agent.pm line 15, <DATA> line 717.

странно...


"ошибки при дебаге amavisd-new"
Отправлено PavelR , 31-Июл-15 08:37 
> cpan>install Getopt::Long
> Reading '/root/.cpan/Metadata'
>   Database was generated on Thu, 30 Jul 2015 08:29:02 GMT
> Getopt::Long is up to date (2.47).
> но всё равно в дебаге амависа присутствует:
> fetch_modules: error loading optional module Razor2/Client/Agent.pm:
>   Error in file /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/Razor2/Client/Agent.pm:
> Can't locate Getopt/Long.pm:   lib/Getopt/Long.pm: Permission denied at /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/Razor2/Client/Agent.pm
> line 15, <DATA> line 717.
> странно...

Да ничего странного. ССЗБ - не надо ставить из cpan если есть в пакетах дистрибутива.

пути типа /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/ проверили, как в самом начале, доступ по всем элементам пути?

Берешь тупо запускаешь поиск по /usr на предмет нахождения всех файлов с именем Long.pm и смотришь что за .... на сервере. И доступы к каждому из найденных файлов проверяешь.

А вообще /usr/local/lib/ должен быть ~чист.



"ошибки при дебаге amavisd-new"
Отправлено ll75 , 11-Авг-15 14:20 
> Да ничего странного. ССЗБ - не надо ставить из cpan если есть
> в пакетах дистрибутива.

was ist das - ССЗБ?
может они и есть все в пакетах дистрибутива, но почему они тогда автоматически не притянулись при установке amavisd-new через apt-get?

> пути типа /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/ проверили, как в самом начале,
> доступ по всем элементам пути?

да, проверил, доступ ко всем каталогам
drwxrwsr-x 4 root staff

пробовал добавить юзера amavis в группу staff - не помогло, ошибки те же...

> Берешь тупо запускаешь поиск по /usr на предмет нахождения всех файлов с
> именем Long.pm и смотришь что за .... на сервере. И доступы
> к каждому из найденных файлов проверяешь.
> А вообще /usr/local/lib/ должен быть ~чист.

найдено 3 файла Long.pm:
# ls -l /usr/share/perl/5.20.2/Getopt/Long.pm
-rw-r--r-- 1 root root 41352 May  3 18:38 Long.pm

# ls -l /usr/share/perl5/Sys/Hostname/Long.pm
-rw-r--r-- 1 root root 10542 Jan 10  2014 Long.pm


# ls -l /usr/local/share/perl/5.20.2/Getopt/Long.pm
-r--r--r-- 1 root staff 82390 Jun 16 15:28 Long.pm


"ошибки при дебаге amavisd-new"
Отправлено ll75 , 11-Авг-15 15:52 
после того, как запустил дебаг от имени юзера amavis все ошибки исчезли:
# su - amavis -c '/usr/sbin/amavisd-new debug 2> error.txt'


"ошибки при дебаге amavisd-new"
Отправлено eRIC , 29-Июл-15 10:20 
>> прав вроде достаточно
> Надо проверять не только права на файл, но и права на весь
> путь каталогов к нему, каждый каталог отдельно.

ничего не надо, надо в конфиге amavisd.conf выставить
$log_level = 5;   и

$sa_debug = 1; для того чтобы получать дебаг логи spamaasasin


"ошибки при дебаге amavisd-new"
Отправлено ll75 , 29-Июл-15 20:37 
> ничего не надо, надо в конфиге amavisd.conf выставить
> $log_level = 5;   и
> $sa_debug = 1; для того чтобы получать дебаг логи spamaasasin

$log_level = 5; у меня изначально и был установлен, добавил
sa_debug = 1; но при запуске дебага сообщения всё те же:

fetch_modules: error loading optional module Razor2/Client/Agent.pm:
  Can't locate Getopt/Long.pm:   lib/Getopt/Long.pm: Permission denied at /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/Razor2/Client/Agent.pm line 15, <DATA> line 717.

  BEGIN failed--compilation aborted at /usr/local/lib/x86_64-linux-gnu/perl/5.20.2/Razor2/Client/Agent.pm line 15, <DATA> line 717.

  Compilation failed in require at /usr/sbin/amavisd-new line 209, <DATA> line 717.
fetch_modules: error loading optional module Mail/DKIM.pm:
  Can't locate Mail/DKIM.pm:   lib/Mail/DKIM.pm: Permission denied at /usr/sbin/amavisd-new line 209, <DATA> line 717.

fetch_modules: error loading optional module Mail/DKIM/Verifier.pm:
и т.д.


"ошибки при дебаге amavisd-new"
Отправлено eRIC , 29-Июл-15 21:40 
под root выполняется команда  # amavisd debug?

версию амависа в студию и  #cpan -l в студию



"ошибки при дебаге amavisd-new"
Отправлено ll75 , 29-Июл-15 21:46 
> под root выполняется команда  # amavisd debug?

да, под root
> версию амависа в студию и  #cpan -l в студию

# dpkg -l | grep amavisd
ii  amavisd-new                        1:2.10.1-1                all          Interface between MTA and virus scanner/content filters

# cpan -l > list.txt
Can't stat /usr/local/lib/site_perl: No such file or directory
at /usr/share/perl/5.20/App/Cpan.pm line 1223.

# less list.txt
DBI    1.633
DBI::PurePerl    2.014286
DBI::FAQ    1.014935
DBI::ProfileSubs    0.009396
DBI::ProfileDumper    2.015325
DBI::Profile    2.015065
DBI::W32ODBC    undef
DBI::Changes    undef
DBI::ProfileData    2.010008
DBI::DBD    12.015129
DBI::ProxyServer    0.3005
DBI::Util::CacheMemory    0.010315
DBI::Util::_accessor    0.009479
DBI::Const::GetInfoType    2.008697
DBI::Const::GetInfoReturn    2.008697
DBI::Const::GetInfo::ODBC    2.011374
DBI::Const::GetInfo::ANSI    2.008697
DBI::Gofer::Response    0.011566
DBI::Gofer::Execute    0.014283
DBI::Gofer::Request    0.012537
DBI::Gofer::Transport::stream    0.012537
DBI::Gofer::Transport::pipeone    0.012537
DBI::Gofer::Transport::Base    0.012537
DBI::Gofer::Serializer::Storable    0.015586
DBI::Gofer::Serializer::Base    0.009950
DBI::Gofer::Serializer::DataDumper    0.009950
DBI::ProfileDumper::Apache    2.014121
DBI::SQL::Nano    1.015544
DBI::DBD::SqlEngine    0.06
DBI::DBD::Metadata    2.014214
Razor2::Logger    undef
Razor2::String    undef
Razor2::Errorhandler    undef
Razor2::Syslog    0.03
Razor2::Client::Engine    undef
Razor2::Client::Core    1.92
Razor2::Client::Config    undef
Razor2::Client::Agent    undef
Razor2::Client::Version    2.84
Razor2::Preproc::Manager    undef
Razor2::Preproc::deHTMLxs    2.18
Razor2::Preproc::deQP    undef
Razor2::Preproc::deHTML_comment    undef
Razor2::Preproc::deHTML    undef
Razor2::Preproc::deBase64    undef
Razor2::Preproc::enBase64    undef
Razor2::Preproc::deNewline    undef
Razor2::Signature::Ephemeral    undef
Razor2::Signature::Whiplash    undef
Razor2::Engine::VR8    undef
Bundle::DBI    12.008696
Digest::SHA1    2.13
Crypt::OpenSSL::RSA    0.28
Crypt::OpenSSL::Random    0.10
Net::Patricia    1.22
Win32::DBIODBC    undef
NetAddr::IP     4.075
NetAddr::IP::Util    1.51
NetAddr::IP::Lite    1.54
NetAddr::IP::Util_IS    1
NetAddr::IP::UtilPP    1.09
NetAddr::IP::InetBase    0.08
DBD::NullP    12.014715
DBD::Gofer    0.015327
DBD::DBM    0.08
DBD::ExampleP    12.014311
DBD::File    0.44
DBD::Sponge    12.010003
DBD::Proxy    0.2004
DBD::Gofer::Transport::stream    0.014599
DBD::Gofer::Transport::pipeone    0.010088
DBD::Gofer::Transport::Base    0.014121
DBD::Gofer::Transport::corostream    undef
DBD::Gofer::Transport::null    0.010088
DBD::Gofer::Policy::rush    0.010088
DBD::Gofer::Policy::Base    0.010088
DBD::Gofer::Policy::pedantic    0.010088
DBD::Gofer::Policy::classic    0.010088
CPAN::Meta    2.150005
CPAN::Meta::Feature    2.150005
CPAN::Meta::Spec    2.150005
CPAN::Meta::Prereqs    2.150005
CPAN::Meta::Merge    2.150005
CPAN::Meta::Validator    2.150005
CPAN::Meta::History    2.150005
CPAN::Meta::Converter    2.150005
Geo::Mirror    1.45
Geo::IP    1.45
Geo::IP::Record    undef
Net::CIDR::Lite    0.21
Getopt::Long    2.47
Mail::DKIM    0.4
Mail::DKIM::DNS    undef
Mail::DKIM::TextWrap    undef
Mail::DKIM::Key    undef
Mail::DKIM::Signer    0.4
Mail::DKIM::DkSignature    undef
Mail::DKIM::AuthorDomainPolicy    undef
Mail::DKIM::KeyValueList    undef
Mail::DKIM::Policy    undef
Mail::DKIM::Common    0.4
Mail::DKIM::MessageParser    undef
Mail::DKIM::PrivateKey    undef
Mail::DKIM::Signature    undef
Mail::DKIM::DkPolicy    undef
Mail::DKIM::PublicKey    undef
Mail::DKIM::Verifier    0.4
Mail::DKIM::SignerPolicy    undef
Mail::DKIM::DkimPolicy    undef
Mail::DKIM::Canonicalization::dk_nofws    undef
Mail::DKIM::Canonicalization::simple    undef
Mail::DKIM::Canonicalization::DkimCommon    undef
Mail::DKIM::Canonicalization::Base    undef
Mail::DKIM::Canonicalization::relaxed    undef
Mail::DKIM::Canonicalization::DkCommon    undef
Mail::DKIM::Canonicalization::nowsp    undef
Mail::DKIM::Canonicalization::dk_simple    undef
Mail::DKIM::Algorithm::dk_rsa_sha1    undef
Mail::DKIM::Algorithm::rsa_sha1    undef
Mail::DKIM::Algorithm::Base    undef
Mail::DKIM::Algorithm::rsa_sha256    undef
Module::Build    0.4214
Module::Build::Cookbook    0.4214
Module::Build::PodParser    0.4214
Module::Build::Notes    0.4214
Module::Build::Config    0.4214
Module::Build::Base    0.4214
Module::Build::Dumper    0.4214
Module::Build::Compat    0.4214
Module::Build::ConfigData    undef
Module::Build::PPMMaker    0.4214
Module::Build::Platform::Windows    0.4214
Module::Build::Platform::VMS    0.4214
Module::Build::Platform::cygwin    0.4214
Module::Build::Platform::MacOS    0.4214
Module::Build::Platform::darwin    0.4214
Module::Build::Platform::Default    0.4214
Module::Build::Platform::os2    0.4214
Module::Build::Platform::aix    0.4214
Module::Build::Platform::VOS    0.4214
Module::Build::Platform::Unix    0.4214
DBI    1.631
Squirrel    undef
BerkeleyDB    0.54
PadWalker    1.98
Socket6    0.25
GSSAPI    0.28
ZeroMQ    0.23
oose    2.1213
Mouse    2.3.0
Moose    2.1213
SNMP    5.07021
encoding    2.12
ouse    undef
Encode    2.63
metaclass    2.1213
DBI::PurePerl    2.014286
DBI::FAQ    1.014935
DBI::ProfileSubs    0.009396
DBI::ProfileDumper    2.015325
DBI::Profile    2.015065
DBI::W32ODBC    undef
DBI::Changes    undef
DBI::ProfileData    2.010008
DBI::DBD    12.015129
DBI::ProxyServer    0.3005
DBI::Util::CacheMemory    0.010315
DBI::Util::_accessor    0.009479
DBI::Const::GetInfoType    2.008697
DBI::Const::GetInfoReturn    2.008697
DBI::Const::GetInfo::ODBC    2.011374
DBI::Const::GetInfo::ANSI    2.008697
DBI::Gofer::Response    0.011566
DBI::Gofer::Execute    0.014283
DBI::Gofer::Request    0.012537

+ еще куча всего - не отправляется всё через форму форума -60 с лишним килобайт
DBI::Gofer::Transport::stream    0.012537
DBI::Gofer::Transport::pipeone    0.012537
DBI::Gofer::Transport::Base    0.012537
DBI::Gofer::Serializer::Storable    0.015586
DBI::Gofer::Serializer::Base    0.009950
DBI::Gofer::Serializer::DataDumper    0.009950
DBI::ProfileDumper::Apache    2.014121
DBI::SQL::Nano    1.015544
DBI::DBD::SqlEngine    0.06
DBI::DBD::Metadata    2.014214