[sendmail-conf] Прблема с хаками .
Victor Ustugov
victor на corvax.kiev.ua
Вт Дек 14 15:42:53 EET 2004
acesspost wrote:
>>заглянуть в /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, то такой ошибки
нет?
> 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) = "имя.этого.хоста";
--
Best wishes Victor Ustugov mailto:victor на corvax.kiev.ua
public GnuPG/PGP key: http://victor.corvax.kiev.ua/corvax.asc
ICQ: 77186900, 32418694 CRV2-RIPE, CRV-UANIC
Подробная информация о списке рассылки sendmail-conf