Розсилання пошти в мережевій операційній системі FreeBSD
Контрольная работа - Компьютеры, программирование
Другие контрольные работы по предмету Компьютеры, программирование
- Необхідно написати конфігураційні файли для UUCP.
- 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