Розсилання пошти в мережевій операційній системі FreeBSD

Контрольная работа - Компьютеры, программирование

Другие контрольные работы по предмету Компьютеры, программирование

  1. Необхідно написати конфігураційні файли для UUCP.
  2. drwxrwx--- 3 uucp uucp 512 15 ноя 16:23 ./

drwxr-xr-x 10 root wheel 2048 30 дек 21:44 ../

-r--r----- 1 uucp uucp 61 23 янв 1997 call

-r--r----- 1 uucp uucp 260 8 апр 1997 config

-rw-r----- 1 uucp uucp 250 3 сен 20:51 dial

-r--r----- 1 uucp uucp 1 25 авг 1996 dialcode

-r--r----- 1 uucp uucp 14 21 апр 1997 passwd

-r--r----- 1 uucp uucp 96 29 май 1997 port

drwxr-xr-x 2 root uucp 512 15 ноя 12:08 samples/

-r--r----- 1 uucp uucp 160 28 май 1997 sysin

-r--r----- 1 uucp uucp 366 16 ноя 16:06 sysout

 

1.1 call

 

В цьому файлі описується ваш логін і пароль для продзвонки на інші uucp-машини. Природно, логін і пароль необхідно получити від адміністратора тої машини, на яку ви зібрались дзвонити. В нашому випадку він буде виглядати приблизно так:

 

======= call ======

# system login password

provider uumyhost Your_Secret_Password

======= call ======

 

1.2 config

 

В цьому файлі описуються різні параметри uucp, в основному шляхи і імена файлів. Цей файл потрібен, якщо потрібно перевизначити деякі умовчання, які або задані при компіляції.

 

======= config ======

nodename myhost # тут необхідно указати ваше власне uucp-імя

spool /var/spool/uucp

pubdir /var/spool/uucppublic

logfile /var/spool/uucp/Log

statfile /var/spool/uucp/Stats

debugfile /var/spool/uucp/Debug

sysfile sysin sysout # імена файлів з описами систем - ваших лінків

portfile port

dialfile dial

dialcodefile dialcode

callfile call

passwdfile passwd

# кількість одночасно виконуваних процесів розкладки пошти

max-uuxqts 1

======= config ======

 

1.3 dial

 

Це файл з описами модемів.

 

======= dial ======

dialer idc # довільне імя модему, під яким він буде відомий uucp

dialtone w

pause ,

#chat "" ATZ\r\d\c OK ATM0DPW\T CONNECT \p\c

chat "" ATZ\r\d\c OK ATM0DT\T CONNECT \p\c

chat-fail BUSY

chat-fail ERROR

chat-fail NO\sDIALTONE

chat-fail NO\sCARRIER

#complete \d\d+++\d\dATH\r\c

#abort \d\d+++\d\dATH\r\c

======= dial ======

1.4 dialcode

 

Служить для набору номера, має нульову довжину

 

1.5 passwd

 

В цьому файлі містяться логін і відповідний пароль для тих систем, які будуть дзвонити вам. При роботі з протоколом UUCP daemon uucico -l авторизує подзвонивших користувачів, пропонуючи їм при цьому ввести логін і пароль, і перевіряє правильність пароля по цьому файлу. Які логіни і паролі можна присвоїти віддаленим машинам, які дзвонять вам справа смаку. Правильніше дати їм логіни, які починаються однаково, наприклад, з двох букв uu.

 

======= passwd ======

uuhost1 Top_Secret_Password

uuhost2 Smart_Password

uuhost3 Stupid_Password

======= passwd ======

 

1.6 port

 

В цьому файлі міститься опис портів. Портів може бути багато. Кожен порт має своє імя, яке і використовується надалі в файлах з описами віддалених систем. Hабір параметрів не обмежується нижченаведеним прикладом. Докладніше можна знайти в описі до Taylor UUCP.

 

======= port ======

port port1 # імя порту

type modem

device /dev/cuaa1

dialer idc

speed 38400

port port2 # теж імя порту

type tcp

service 540

======= port ======

 

1.7 sysin

 

Це файл з описами систем, які будуть дзвонити вам.

======= sysin ======

call-login *

call-password *

local-send /

local-receive /

port port1 # це, як ви памятаєте, у нас модемний порт

chat-timeout 90

protocol g # можливо, ви захочете використати який-небудь інший протокол

time never # дзвонять тільки вони, ви їм ніколи не дзвоните

debug 1

system host1

myname myhost # як ви представитесь системі host1, коли вона подзвонить

called-login uuhost1

system host2

myname myhost

called-login uuhost2

system host3

myname myhost

called-login uuhost3

======= sysin ======

 

1.8 sysout

 

В цьому файлі зручно прописати ті системи, на які ви самі збираєтесь дзвонити. В даному випадку у нас тільки одна така система - ваш провайдер.

 

======= sysout ======

call-login *

call-password *

local-send /

local-receive /

port port1

chat-timeout 90

protocol g

time any # дзвонити в будь-який час. А взагалі час можна задавати дуже гнучко.

debug 1

system provider

chat ogin: \L word: \P # берется з файлу call

phone 111111

alternate # так робиться перебір номерів

phone 222222

alternate

phone 333333

======= sysout ======

 

Коректність настройки можна перевірить, запустив uuchk.

Щоб періодично дзвонити своєму провайдеру за поштою, вставте рядок в /etc/crontab

 

0 * * * * uucp /usr/libexec/uucp/uucico -S provider

Hастройка sendmail

 

2.1 Hастройка sendmail.cf

 

Hеобхідно створити новий sendmail.cf, котрий буде знати про uucp. Для його

 

створення возьмемо такий файл-прототип:

====== uucp.mc =========

divert(-1)

include(`../m4/cf.m4)

 

VERSIONID(`@(#)uucp.mc 1.01)

OSTYPE(bsd4.4)dnl

MAILER(local)dnl

MAILER(smtp)dnl

MAILER(uucp)dnl

FEATURE(nodns)dnl

FEATURE(nocanonify)dnl

FEATURE(mailertable)dnl

FEATURE(uucpdomain)dnl

 

define(`SMART_HOST, `uucp-dom:provider)dnl

define(`confCOPY_ERRORS_TO, `postmaster)dnl

====== uucp.mc =========

Після чого необхідно виконати команду

/etc/sendmail.cf">m4 uucp.mc > /etc/sendmail.cf

 

Увага! MAILER(smtp) прибирати не можна, навіть, якщо ніякого smtp немає. Він все рівно потрібен для того, щоб працював мейлер uucp-dom. Це мейлер, котрий знає про доменну форму імен - для того, щоби адреса в листах не були в форматі uucp (через знаки оклику).

2.2 Hастройка mailertable

 

Маршрутзація uucp пошти відбувається згідно правилам, описаним в mailertable. Візьмемо в якості шаблону такий файл

 

======= /etc/mailertable ======

uucp-dom:provider

======= /etc/mailertable ======

 

Де provider - це uucp-імя системи провайдера (система повинна бути описана в /etc/uucp/sysout) Точка тут виступає в ролі символа підстановки і означає будь-яку кількість довільних символів. Якщо ви не є завершеною системою, то якщо роздаєте пошту комусь ще по uucp, то ваш mailertable може виглядати так:

 

======= /etc/mailertable ======

host1.your.domain.org uucp-dom:host1

host1.your.domain.org uucp-dom:host1

host2.your.domain.org uucp-dom:host2

host2.your.domain.org uucp-dom:host2

.host3