RE: [sendmail-conf] Прблема с хаками .

acesspost accesspost на mail.ru
Вт Дек 14 16:04:06 EET 2004


>>заглянуть в /var/log/mailog
>>там может быть что-то типа такого:
>>Dec 14 14:06:20 corvax sendmail[17060]: iBEC6KiD017058: Warning: 
>>prog_open: program /usr/local/scripts/check_mail_address.pl unsafe: No 
>>such file or directory
> 
>>Как он скрипты на перле подсасывает?
> 
>>sendmail ничего не подсасывает, у него подсос отсутствует в конструкции
> 
>>Sendmail его сам запускает?
> 
>>для интерпретации любого скрипта будет запущен интерпретатор, указанный 
>>в первой строке скрипта, в данном случае /usr/bin/perl
> 
> Извините за тупость, понял свою ошибку у меня
> /usr/local/scripts/check_mail_address.pl не был исполняемым файлом, каюсь.

>да уж... у только что тред назад отмотал и увидел, что вместо совета 
>проверить

>./check_mail_address.pl -v адрес

>был проверен запуск

>perl /etc/mail/check_mail_address-0.09.pl -v fdgdfv на yandex.ru

> Скрипт запускается и работает через Sendmail, но теперь почему-то возникла
> ошибка syslog?
> 
> echo 'verify_sender fdgdfv<@yandex.ru.>' | sendmail -bt -d21.12
> ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
> Enter <ruleset> <address>
> 
>>verify_sender      input: fdgdfv < @ yandex . ru . >
> 
> -----trying rule: $*
> -----rule matches: $: $1 $| $> verify_sender_check_host $&{client_name} $|
> $&{client_addr}
> rewrite: RHS $&{client_name} => "(NULL)"
> rewrite: RHS $&{client_addr} => "(NULL)"
> -----skip subr verify_sender_check_host (151)
> rewritten as: fdgdfv < @ yandex . ru . > $| $|
> -----trying rule: $* $| SKIP
> ----- rule fails
> -----trying rule: $* $| $# $*
> ----- rule fails
> -----trying rule: $* $| $*
> -----rule matches: $: $1
> rewritten as: fdgdfv < @ yandex . ru . >
> -----trying rule: $+ < @ $+ > $*
> -----rule matches: $: $1 @ $2
> rewritten as: fdgdfv @ yandex . ru .
> -----trying rule: $+ .
> -----rule matches: $: $1
> rewritten as: fdgdfv @ yandex . ru
> -----trying rule: $+ @ $+
> -----rule matches: $: < $( mail_from_check $1 @ $2 $) >
> Cannot get host name of local machine at
> /usr/libdata/perl/5.00503/Sys/Syslog.pm line 248    

>не понял. а если руками запускать check_mail_address.pl, то такой ошибки 
>нет?

При ручном запуске скрипта с адресом все срабатывает как надо.
/usr/local/scripts/check_mail_address.pl 4763874 на yandex.ru
error: 5.1.1 User unknown

> rewritten as: < fdgdfv @ yandex . ru >
> verify_sender    returns: < fdgdfv @ yandex . ru > 
> 
> в этой строке в Syslog.pm: my($host_uniq) = Sys::Hostname::hostname();
> целиком:
> sub connect {
>     unless ($host) {
>         require Sys::Hostname;
>         my($host_uniq) = Sys::Hostname::hostname();
>         ($host) = $host_uniq =~ /([A-Za-z0-9_.-]+)/; # allow FQDN (inc _)
> 
> Странно, имя моей машины определяется правильно!

>замаялся я уже с этим тредом. самое простое - это забить на определение 
>FQDN и прописать его руками, т. е. заменить

>my($hostname) = hostfqdn();

>на

>my($hostname) = "имя.этого.хоста";


Нужно имя моего хоста вписать?
Можно на это все забить конечно, я milter-sender недели 2-е назад ставил, он
вроде нормально работал и все определял, но есть проблема не все почтовики
говорят про отсутствие пользователя :(
А стабильно ли работает milter-sender? Я имею ввиду в масштабе предприятия.



Подробная информация о списке рассылки sendmail-conf