Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

NIS: Сетевая информационная служба



Административная СУБД NIS (Network Information Service — сетевая информацион­ ная служба), выпущенная компанией Sun в 80-х годах, была первой СУБД такого рода. Сначала она называлась Sun Yellow Pages (желтые страницы Sun), но по причинам пра­ вового характера ее пришлось переименовать. Команды NIS до сих пор начинаются с префикса yp, поскольку имя, данное при рождении, забыть трудно. СУБД NIS была с воодушевлением принята поставщиками UNIX-систем и поддерживается во всех дис­ трибутивах Linux.

Но в наши дни для новых систем все же не следует использовать NIS, причем не только из-за неизбежной интеграции с системами Windows, но и из-за несовершенства NIS-системы безопасности и масштабируемости.

Тем не менее мы кратко рассмотрим службу NIS из уважения к большому числу дей­ ствующих систем, на которых она все еще используется.

Модель NIS

Единицей совместного использования в NIS является запись, а не файл. Запись обыч­ но соответствует одной строке конфигурационного файла. Главный сервер хранит офи­ циальные копии системных файлов, которые находятся в исходных каталогах и имеют текстовый формат. Серверный процесс делает эти файлы доступными по сети. Сервер и его клиенты образуют домен NIS5.

Для повышения эффективности поиска текстовые файлы преобразуются в файлы базы данных с помощью хеширующих функций библиотеки. После редактирования файлов на главном сервере необходимо попросить NIS преобразовать их в хеширован­ ный формат с помощью программы make. Полученный файл называется картой (mар).

С каждой записью может быть связан всего один ключ, поэтому системные файлы иногда приходится транслировать в несколько карт NIS. Например, файл /etc/passwd преобразуется в две карты: passwd.byname и passwd.byuid. Первая служит для отбо­ ра записей по имени пользователя, а вторая — для поиска по идентификатору. Любую из них можно использовать для выборки всех записей файла passwd, но хеширующие функции не сохраняют порядок записей, поэтому нельзя воссоздать точную копию ис­ ходного файла.

5 Не следует путать домены NIS с доменами DNS. Это абсолютно разные понятия, не имею­ щие ничего общего.

782 Часть II. Работа в сети

СУБД NIS позволяет реплицировать карты сети среди группы подчиненных серве­ ров. Это дает возможность ослабить нагрузку на главный сервер и поддерживать функ­ ционирование клиентов даже в том случае, когда некоторые серверы недоступны. Если на главном сервере файл изменился, необходимо разослать соответствующую карту NIS всем подчиненным серверам, чтобы везде были одинаковые данные. Клиенты, не раз­ личают главный и подчиненные серверы.

Схема работы NIS

Файлы данных NIS хранятся в одном каталоге, обычно в каталоге /var/ур. Далее мы будем называть его “NIS-каталогом”. Все карты NIS хранятся в хешированном виде (в формате базы данных) в подкаталоге NIS-каталога, соответствующем домену NIS. Точное имя и количество таких файлов зависит от используемой библиотеки хеширу­ ющих функций. Для каждого поля (ключа), по которому можно осуществить поиск в файле, должна быть создана отдельная карта. Например, в домене cssuns карты DB для файла /etc/passwd могут называться так.

/var/yp/cssuns/passwd.byname

/var/ур/cssuns/passwd.byuid

Команда makedbm создает карты NIS из обычных файлов. Ее никогда не нужно вы­ зывать непосредственно. Файл Makefile в каталоге /var/ур сконфигурирован так, что­ бы автоматически генерировать все распространенные карты NIS. После модификации какого-нибудь системного файла перейдите в каталог /var/ур и запустите программу make. Она сверит время модификации каждого файла со временем модификации соот­ ветствующих карт и выполнит команду makedbm для каждой карты, который необходи­ мо перестроить.

В системах HP-UX вместо команды make используется команда ypmake.

Копирование карт с главного сервера на подчиненные осуществляет команда ypxfr. Она работает по модели запроса: для того чтобы она импортировала карты, ее нужно запускать на каждом подчиненном сервере. Подчиненные серверы время от времени выполняют команду ypxfr для того, чтобы проверить, последние ли версии карт на­ ходятся в их распоряжении. С помощью демона cron можно управлять периодичностью этих проверок.

Стандартная реализация механизма копирования карт несколько неэффективна, поэтому в Linux существует демон rpc.ypxfrd, который можно запустить на главном сервере для ускорения ответов на запросы команды ypxfr. Этот демон работает в обход стандартного протокола NIS и просто рассылает копии файлов карт. К сожалению, в разных системах файлы карт хранятся с использованием различных форматов баз дан­ ных и разного порядка следования байтов, поэтому применение команды ypxfrd чрева­ то возможной несовместимостью.

Команда yppush используется на главном сервере. Она не пересылает никаких данных, а просто заставляет каждый подчиненный сервер выполнить команду ypxfr. Команда yppush задается в файле Makefile, находящемся в NIS-каталоге, и обеспечи­ вает принудительную рассылку откорректированных карт на подчиненные серверы.

Существует специальная карта ypservers, которая не соответствует ни одному обыч­ ному файлу. Он содержит список всех серверов домена и создается автоматически при

Глава 19. Совместное использование системных файлов 783

конфигурировании домена с помощью команды ypinit. Содержимое этой карты изуча­ ется всякий раз, когда главному серверу нужно разослать карты на подчиненные серверы.

После начального конфигурирования единственными активными компонентами си­ стемы NIS остаются демоны ypserv и ypbind. Первый из них работает только на серве­ рах (и главном, и подчиненных); он принимает запросы от клиентов и отвечает на них, осуществляя поиск информации в хешированных файлах карт.

Демон ypbind работает на всех компьютерах NIS-домена, включая серверы. Функ­ ции библиотеки языка С обращаются к локальному демону ypbind всякий раз, когда им нужно ответить на административный запрос (при условии, что это разрешено установ­ ками файла /etc/nsswitch.conf). Демон ypbind находит в соответствующем домене демон ypserv и возвращает его адрес библиотечной функции, которая затем обращает­ ся непосредственно к серверу.

Современные версии демона ypbind периодически проверяют, работают ли они с наиболее активным сервером в домене NIS. Это является улучшением по сравнению с традиционной реализацией демона, в которой осуществлялась привязка к определен­ ному серверу

В NIS есть ряд вспомогательных команд, которые предназначены для изучения карт, определения версий карт, используемых каждым сервером, и управления привязкой клиентов к серверам. Полный перечень команд и демонов NIS приведен в табл. 19.4.

Таблица 19.4. Команды и демоны NIS

Утилита Описание

ypserv Демон сервера NIS; запускается на этапе начальной загрузки

ypbind Демон клиента NIS; запускается на этапе начальной загрузки

domainnaxne Задает домен NIS, в который входит компьютер (выполняется на этапе начальной загрузки)

ypxfr Загружает текущую версию карты с главного сервера

ypxfrd Обслуживает запросы, поступающие от команды ypxfr (работает на главном сервере)

yppush Заставляет подчиненные серверы обновить свои версии карты

makedbm Создает хешированную карту из обычного файла

ypmakea Обновляет хешированные карты для тех файлов, которые изменились

ypinit Конфигурирует компьютер как главный или подчиненный сервер

ypset Заставляет демон ypbind установить соединение с конкретным серверома

ypwhich Определяет, с каким сервером работает текущий компьютер

yppoll Определяет, какую версию карты использует сервер

ypcat Отображает значения, содержащиеся в карте NIS

ypmatch Отображает элементы карты, соответствующие заданному ключу

yppasswd Изменяет пароль на главном сервере NIS

ypchfn Изменяет содержимое поля GECOS на главном сервере NIS

ypchsh Меняет регистрационный интерпретатор команд на главном сервере NIS

yppasswdd Сервер для команд yppasswd, ypchsh и ypchfn

ypupdated6 Сервер для обновления карты NIS (управляется демоном inetd)

а Нужно отдельно включать с помощью команды ypbind -ypsetme или ypbind -ypset (второй вари­

ант опаснее).

б Не используется или не поддерживается во всех системах.

784 Часть II. Работа в сети

Безопасность NIS

Система NIS небезопасна. Особенно неприятен широковещательный режим. Любой узел сети может выступить в качестве сервера для того или иного домена и распростра­ нить среди NIS-клиентов ложные административные данные. В системах Linux эту про­ блему можно смягчить, если явно указать каждому клиенту доступные ему серверы NIS.

Если вопросы безопасности системы для вас очень важны, не следует использовать NIS для управления скрытыми паролями. Используйте для этого такие альтернативные распределенные механизмы аутентификации, как LDAP.

В старых версиях СУБД NIS содержала множество “прорех”. Поэтому используйте только современную версию NIS.

 

27. Системы электронной почты

Теоретически система электронной почты состоит из нескольких компонентов.

Пользовательский агент (“mail user agent”— MUA или UA), который дает пользовате­ лям возможность читать и составлять сообщения.

Глава 20. Электронная почта 789

• • •

Агент передачи электронной почты (mail submission agent MSA), принимающий по­ чту, исходящую от агента MUA, обрабатывающий ее и передающий транспортной системе.

Транспортный агент (mail transport agent — МТА), который пересылает сообщения с одного компьютера на другой.

Агент доставки (delivery agent — DA), который помещает сообщения в локальное хранилище2.

Необязательный агент доступа (access agent — АА), который связывает пользо­ вательский агент с хранилищем сообщений (например, посредством протокола IMAP или POP).

К
вирусов и (исходящих) внутренних секретов компании. Схема взаимодействия всех ука­ занных компонентов представлена на рис. 20.1.

некоторым из этих агентов присоединяются инструменты для распознания спама,

Компьютер А - отправитель Компьютер Б -получатель

Рис. 20.1. Компоненты почтовой системы

 

Протоколы SMTP, POP3.

Протокол SMTP (Simple Mail Transport Protocol — простой протокол передачи элек­ тронной почты) и его расширенная версия ESMTP были стандартизованы в документах RFC (в частности, RFC5321) и используются для передачи сообщений между разными частями почтовой системы.

• • • • •

От пользовательского агента к агенту представления или транспортному агенту, когда сообщение поступает в почтовую систему.

От агента представления к транспортному агенту, когда сообщение начинает свой путь.

От транспортного агента или агента представления к программам сканирования спама и вирусов.

От одного транспортного агента к другому при передаче сообщений от одной ор­ ганизации другой.

От транспортного агента к агенту доставки, когда сообщение поступает в локаль­ ное хранилище.

5 Следует отметить, что многие строки заголовка, включая строки Received, могут оказаться поддельными. С этими данными необходимо быть крайне осторожными.

796 Часть II. Работа в сети

Поскольку формат сообщений и протокол передачи стандартизированы, транспорт­ ные агенты отправителя и получателя не обязательно должны быть одинаковыми и даже знать друг о друге; просто они оба должны придерживаться протоколов SMTP и ESMTP. На разных почтовых серверах могут работать различные транспортные агенты, и их вза­ имодействие будет безошибочным.

В соответствии со своим именем, протокол SMTP является довольно простым. Транспортный агент связывается с вашим почтовым сервером и, по существу, сообщает следующее: “Вот сообщение; пожалуйста, доставь его по адресу user@your.domain”. Ваш транспортный агент отвечает: “Хорошо”.

Требование строго придерживаться протокола SMTP стало основой для борьбы со спамом и вредоносными программами, поэтому системные администраторы должны хорошо в нем разбираться. Его язык имеет всего несколько команд; самые важные пере­ числены в табл. 20.2.

Таблица 20.2. Команды протокола SMTP

Команда Функция

HELO имя_компьютера Проверяет, поддерживает ли компьютер протокол SMTP

EHLO имя_компьютера Проверяет, поддерживает ли компьютер протокол ESMTP

MAIL FROM: обратный_адрес Идентифицирует конверт отправителя

RCPT TO: прямой_адреса Идентифицирует конверт получателя

VRFY адрес Проверяет корректность адреса (возможность доставки)

EXPN адрес Демонстрирует расширение альтернативных имен и отображения файла .forward

DATA Отмечает начало тела сообщения6

QUIT Завершает сообщение и прерывает соединение

RSET Восстанавливает состояние соединения

HELP Выводит на экран описание команд SMTP

а У сообщения может быть несколько команд RCPT. 6 Тело завершается точкой в строке.

POP3 (англ. Post Office Protocol Version 3 — протокол почтового отделения, версия 3) — стандартный Интернет-протокол прикладного уровня, используемый клиентами электронной почты для извлечения электронного сообщения с удаленного сервера по TCP/IP-соединению.

POP и IMAP (Internet Message Access Protocol) — наиболее распространенные Интернет-протоколы для извлечения почты. Практически все современные клиенты и сервера электронной почты поддерживают оба стандарта. Протокол POP был разработан в нескольких версиях, нынешним стандартом является третья версия (POP3). Большинство поставщиков услуг электронной почты (такие как Hotmail, Gmail и Yahoo! Mail) также поддерживают IMAP и POP3. Предыдущие версии протокола (POP, POP2) устарели.

Альтернативным протоколом для сбора сообщений с почтового сервера является IMAP.

POP поддерживает простые требования «загрузи-и-удали» для доступа к удаленным почтовым ящикам. Хотя большая часть POP-клиентов предоставляют возможность оставить почту на сервере после загрузки, использующие POP клиенты обычно соединяются, извлекают все письма, сохраняют их на пользовательском компьютере как новые сообщения, удаляют их с сервера, после чего разъединяются.

Другие протоколы, в частности IMAP, предоставляют более полный и комплексный удаленный доступ к типичным операциям с почтовым ящиком. Многие клиенты электронной почты поддерживают как POP, так и IMAP; однако, гораздо меньше интернет-провайдеров поддерживают IMAP.

POP3-сервер прослушивает общеизвестный порт 110. Шифрование связи для POP3 запрашивается после запуска протокола, с помощью либо команды STLS (если она поддерживается), либо POP3S, которая соединяется с сервером используя TLS или SSL по TCP-порту 995.

Доступные сообщения клиента фиксируются при открытии почтового ящика POP-сессией и определяются количеством сообщений для сессии, или, по желанию, с помощью уникального идентификатора, присваиваемого сообщению POP-сервером. Этот уникальный идентификатор является постоянным и уникальным для почтового ящика и позволяет клиенту получить доступ к одному и тому же сообщению в разных POP-сессиях. Почта извлекается и помечается для удаления с помощью номера сообщения. При выходе клиента из сессии помеченные сообщения удаляются из почтового ящика.

 

IMAP

IMAP (англ. Internet Message Access Protocol) — протокол прикладного уровня для доступа к электронной почте.

Базируется на транспортном протоколе TCP и использует порт 143.

IMAP предоставляет пользователю обширные возможности для работы с почтовыми ящиками, находящимися на центральном сервере. Почтовая программа, использующая этот протокол, получает доступ к хранилищу корреспонденции на сервере так, как будто эта корреспонденция расположена на компьютере получателя. Электронными письмами можно манипулировать с компьютера пользователя (клиента) без постоянной пересылки с сервера и обратно файлов с полным содержанием писем.

Для отправки писем используется протокол SMTP.

Протокол IMAP представляет собой альтернативу POP3.

POP3 имеет ряд недостатков, и наиболее серьёзный из них — отсутствие возможностей по управлению перемещением и хранением сообщений на сервере. Сообщения, как правило, загружаются с почтового сервера все сразу, после чего они с сервера удаляются, то есть отсутствует возможность выбирать сообщения для получения.

Для решения проблем, связанных с этой особенностью POP3, в Вашингтонском университете был разработан новый протокол, предполагающий возможность получения пользователями электронной почты из одного почтового ящика из различных мест, при этом сообщения не распределяются между точками получения. Пользователю предоставляется возможность управлять сообщениями в его почтовом ящике и дополнительными функциями по обслуживанию почтовых ящиков на сервере.

При использовании POP3 клиент подключается к серверу только на промежуток времени, необходимый для загрузки новых сообщений. При использовании IMAP соединение не разрывается, пока пользовательский интерфейс активен, а сообщения загружаются только по требованию клиента. Это позволяет уменьшить время отклика для пользователей, в чьих ящиках имеется много сообщений большого объёма.

Протокол POP требует, чтоб текущий клиент был единственным подключенным к ящику. IMAP позволяет одновременный доступ нескольких клиентов к ящику и предоставляет клиенту возможность отслеживать изменения, вносимые другими клиентами, подключенными одновременно с ним.

Благодаря системе флагов, определенной в IMAP4, клиент может отслеживать состояние сообщения (прочитано, отправлен ответ, удалено и т. д.); данные о флагах хранятся на сервере.

Клиенты IMAP4 могут создавать, переименовывать и удалять ящики и перемещать сообщения между ящиками. Кроме того, можно использовать расширение IMAP4 Access Control List (ACL) Extension (RFC 4314) для управления правами доступа к ящикам.

Поиск сообщений происходит на стороне сервера.

IMAP4 имеет явный механизм расширения.

 

30. Почтовые серверы

Существует два типа почтовых серверов: серверы, взаимодействующие с Интернетом для обработки входящих и исходящих сообщений, и внутренние серверы, взаимодей­ ствующие с пользователями. Ниже мы опишем структуру почтовой системы, которая, как нам кажется, является легко масштабируемой, хорошо управляемой и безопасной. Задачи управления входящей и исходящей почтой в ней решают специально выделен­ ные для этих целей серверы. Один из вариантов такой структуры приведен на рис. 20.2.

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.