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

2016-07-29СтудИзба

Описание файла

Документ из архива "Розсилання пошти в мережевій операційній системі FreeBSD", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "контрольные работы и аттестации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48899"

Текст из документа "48899"

КОНТРОЛЬНА РОБОТА № 3

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

Мета роботи

Одержати практичні навички у розсиланні пошти з використанням протоколу UUCP та команди MAIL у мережевій операційній системі FreeBSD4.2

Теоретичні положення

Протокол UUCP (Unix to Unix copy) призначений для копіювання файлів між декількома машинами в мережі, для виконання команд на віддаленій машині. Цей протокол також можна використати для розсилання пошти. Нехай одна з машин є вузлом, яка обмінюється поштою з користувачами поза організацією, де вона знаходиться через головну обчислювальну машину з адресою MAIL.PROVIDER.KIEV.UA, а також виконує розсилання пошти ще трьом машинам всередині організації, де вона знаходиться. Нехай імена цих машин будуть host1.your.domain.org, host2.your.domain.org і host3.your.domain.org.

Нехай для простоти ім'я нашої машини буде MYHOST.YOUR.DOMAIN.ORG

Кожній машині для проведення операції розсилання пошти необхідно присвоїти її власне UUCP - ім’я. Воно не повинно співпадати з її справжнім іменем, але не зважаючи на це, будемо вважати, що UUCP - імена наших машин - це MYHOST, HOST1, HOST2, HOST3 і PROVIDER

Обмін поштою відбувається повністю через протокол UUCP, причому схема проходження така:

Нехай стрілка означає напрям дзвінка. Тоді

P ROVIDER

MYHOST

HOST1

HOST2

HOST3

Настройка розсилання пошти передбачає настройку самого протоколу UUCP і настройку служби SENDMAIL.

Розглянемо детально, як організований протокол UUCP, і які основні команди і daemon’и необхідні для повної його реалізації


UUCP - Unix to Unix copy

Синтаксис команди - uucp [опції] вихідний_файл кінцевий_файл

Файл може бути записаний як СИСТЕМА!ШЛЯХ, де СИСТЕМА - це UUCP – ім’я даної машини. Після того, як була дана команда, вона не виконується відразу, а записується в загальну чергу, а її виконання проводити daemon UUCICO при його звертанні до системи. Причому це звертання відбувається відразу, якщо в опціях не був вказаний ключ -r або --nouucico.

Для цієї команди можуть бути дані наступні опції

-c, --nocopy - не копіювати вихідні файли в SPOOL - директорію. Якщо файли були видалені до того, як над ними попрацював daemon UUCICO, то копіювання аварійно перерветься;

-С, --copy - ця операція відбувається за умовчання;

-d, --directories - створювати всі необхідні директорії для копіювання, якщо це необхідно;

-f, --nodirectories - не створювати ніяких директорій, вважаючи, що вони уже існують. В іншому випадку аварійно перервати копіювання;

-R - копіювати рекурсивним методом, тобто копіювати вкладені папки;

-m, --mail - повідомляти про вдале (невдале) закінчення пересилки пошти через mail;

-n user, --notify user- повідомляти про вдале (невдале) закінчення пересилки пошти через mail для конкретного користувача на віддаленій системі;

-r, --nouucico - не запускати daemon UUCICO відразу, а ставити файли в чергу для пізнішого виконання;

-j, --jobid - виводити на екран ідентифікаційний номер процесу;

-t, --uuto - використовується за умовчання для скрипта UUTO для коректної інтерпретації СИСТЕМА!ШЛЯХ;

Команда UUSTAT

Синтаксис команди - uustat [опції]

Показує поточний статус різних об'єктів, які підпадають під дії протоколу UUCP. Ця команда також може бути використана для того щоб відповісти на запит або послати негативну відповідь на запит, посланий командами UUCP або UUX.

Для повного перегляду допомоги англійською мовою в командному рядку UNIX необхідно набрати команду man uustat.

Нам буде достатньо використати команду

uustat -all - показати всю чергу запитів на передачу файлів

uustat --status - показати всі послідовності зв'язних інформаційних обмінів між усіма віддаленими машинами.

Uustat --ps - показати стан всіх процесів UUCP, які контролюють порти або доступ до системи.

UUX

Синтаксис команди - uux [опції] команди

Ця команда служить для виконання команд на віддалених машинах через UUCP використовуючи файли віддаленої машини. При виконанні автоматично запускається daemon UUCICO, якщо в командному рядку не стояло --nouucico

Виконання команди відбувається через активізацію daemon’а UUXQT. Аргументи файлів можуть бути зібрані з віддаленої системи і передані керуючій системі, як потік стандартного вводу.

При написанні шляхів в якості аргументів UUX, можна використати знання, отримані з параграфа про UUCP.

Для більш детального перегляду допомоги англійською мовою в командному рядку UNIX необхідно набрати команду man UUX.

Для повного опису конфігурації необхідно розглянути також наступний daemon і дві додаткові утиліти

Daemon UUXQT

Синтаксис daemon’а : UUXQT [опції]

Він виконує команди, що вимагаються командою UUX з локальної або віддаленої машини. Daemon UUXQT запускається daemon’ом UUCICO відразу ж по факту виконання команди UUX, якщо в рядку не був вказаний ключ --nouucico

Розглянемо основні опції

-c command - виконуються запити тільки для указаних в командному рядку команд;

-s system - виконуються запити, отримані з указаних в командному рядку названий систем.

Утиліта UUCHK

Синтаксис uuchk [-s система] [стандартні опції для UUCP]

UUCHK зчитує дані про конфігурацію протоколу UUCP, і відображає значно ширший спектр інформації, чим можна прочитати в конфігураціойному файлі. Цю утиліту корисно використовувати, коли відбувається процес конфігурації протоколу UUCP. Опція система використовується для того, щоб указати, для яких систем необхідно вивести дані про конфігурацію. Утиліта MAKEMAP служить для перетворення файлів в бази даних для настройки SENDMAIL.

Настройка протоколу UUCP

  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 =========

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

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.your.domain.org uucp-dom:host3

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

uucp-dom:provider

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

Окрема точка в кінці означає - все інше пересилати провайдеру, він сам розбереться. Зрозуміло, що мову в mailertable йде тільки про імена машин. Про користувачів він нічого не знає. Тобто, записи

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

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

означають тільки те, що пошта для машин

host1.your.domain.org

foo.host1.your.domain.org

bar.host1.your.domain.org

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5168
Авторов
на СтудИзбе
438
Средний доход
с одного платного файла
Обучение Подробнее