Введение в ос linux
Вид материала | Документы |
СодержаниеСетевые службы |
- Единый графический интерфейс. Введение в операционную систему Linux, 429.5kb.
- В Linux. 2 Приобретение и инсталляция Linux. 3 Учебник по Linux 4 Администрирование, 3589.91kb.
- Документация Calculate Linux, 12378.73kb.
- Gnu/Linux, 51.18kb.
- Лекция 17. Операционная система Linux, 126.24kb.
- Концепция развития спо в РФ 2 История Linux, 105.81kb.
- Windows против Linux, 88.72kb.
- RH253 Сетевые службы Red Hat Linux и администрирование безопасности, 45.9kb.
- Установка ос linux: основные моменты, 83.79kb.
- Исследование возможностей ос linux для приложений реального времени с обработкой разнородной, 98.25kb.
Сетевые службыЭта часть лекции -- обзорная. Поскольку, с одной стороны, толковое и последовательное объяснение устройства многочисленных сетевых служб Linux требует, по крайней мере, отдельного курса лекций, а с другой стороны -- хорошей теоретической и практической подготовки слушателя. Так что придётся ограничиться поверхностным описанием наиболее востребованных для личного или домашнего пользования сервисов. Стоит заранее отметить, что описываемые задачи, как правило, могут решаться несколькими путями с помощью различных демонов или утилит, по-разному выполняющих одну и ту же работу. У администратора Linux всегда есть свобода выбора! HTTPМефодий, конечно, знает, что Internet, как глобальная сеть компьютеров служит хранилищем глобальной сети документов под общим название WWW (World Wide Web, "Всемирная Паутина"). Связь между документами в Паутине обеспечивается за счёт особого -- гипертекстового -- формата этих документов. Большинство из них написаны на специальном языке гипертекстовой разметки, HTML (HyperText Markup Language) или его диалектах и расширениях. Гипертекст может содержать ссылки на любые другие документы в Паутине. Формат такой ссылки описывается стандартом URL (Universal Resource Locator, всеобщий указатель ресурсов). Всемирность сети HTML-документов образовалась за счёт удобства доступа к ним: огромное число абонентов Internet предоставляют возможность просмотра этих документов по специальному протоколу HTTP (HyperText Transfer Protocol), и ещё большее число (фактически, каждый компьютер) запускают клиентские программы-навигаторы (или "броузеры", от англ. "browse", "просматривать"), позволяющие легко "переходить по ссылке", т. е. начинать просмотр документа, на который в выбранном месте ссылался исходный. Сами документы при этом принято называть WWW-страницами, или просто страницами. Apache -- HTTP-сервер, обладающий самым большим набором возможностей. Учитывая организованный в нём механизм подключаемых модулей (plug-ins), создавать которые может любой грамотный программист, описать умения Apache полностью, видимо, невозможно. Документация по одним только стандартным его возможностям занимает более 50 тысяч строк. Конфигурационные файлы Apache хранятся в /etc/httpd/conf (или, в зависимости от дистрибутива, /etc/apache). Главный конфигурационный файл -- httpd.conf. Этот файл неплохо самодокументирован: вместе с комментариями в нём много больше тысячи строк, что позволяет не изучать руководство, если администратор запамятовал синтаксис той или иной настройки, но, конечно, не позволяет вовсе не изучать руководства. DirectoryIndex index.html index.htm index.shtml index.cgi AccessFileName .htaccess DocumentRoot "/var/www/html" Options Indexes Includes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" AllowOverride None Options ExecCGI Order deny,allow Deny from all Allow from 127.0.0.1 localhost
Пользователь, набравший в броузере "ое_имя_сервера", увидит содержимое каталога, указанного настройкой DocumentRoot (в примере -- /var/www/html). Каждый каталог, содержащий WWW-страницы, должен быть описан группой настроек Если настройку каталога AllowOverride установить в All, в любом его подкаталоге можно создать дополнительный конфигурационный файл, изменяющий общие свойства каталога. Имя этого файла задаёт настройка AccessFileName (в примере -- ".htaccess"). Доступом к страницам в каталоге управляют настройки Order, Deny и Allow. Так, доступ к каталогу /var/www/html разрешён отовсюду, а к каталогу /var/www/cgi-bin -- только с самого сервера. Важное свойство WWW-серверов -- поддержка т. н. динамических WWW-страниц. Динамическая WWW-страница не хранится на диске в том виде, в котором её получает пользователь. Она создаётся -- возможно, на основании какого-то шаблона -- непосредственно после запроса со стороны броузера. Никаких особенных расширений протокола HTTP при этом можно не вводить, просто сервер получает запрос на WWW-страницу, которой не соответствует ни один файл. Зато HTTP-адрес (точнее говоря, URL) этой страницы распознаётся сервером как динамический и передаётся на обработку выделенной для этого программе. Программа генерирует текст в формате HTML, который и передаётся пользователю в качестве запрошенной страницы. В примере для этого используется каталог /var/www/cgi-bin, группа настроек которого имеет единственный параметр Options -- ExecCGI. Для того, чтобы этот каталог, в действительности не входящий в /var/www/html, был доступен броузеру как подкаталог /cgi-bin всего дерева, необходимо прикрепить его к DocumentRoot с помощью ScriptAlias; эта настройка говорит также и о том, что файлы в этом каталоге -- сценарии, и их надо запускать, а не показывать(2). Как и многие другие прикладные протоколы, HTTP был и остаётся текстовым. При желании можно выучить команды HTTP и получать странички с серверов с помощью telnet вручную. Это означает, что любая система идентификации, основанная на одном только HTTP, будет небезопасна: если передавать учётные данные по HTTP непосредственно, любой абонент сети на протяжении всего маршрута пакета от броузера к серверу сможет подглядеть внутрь этого пакета и увидеть там пароль. Более или менее безопасно можно чувствовать себя, только зашифровав весь канал передачи данных. Для этого неплохо подходит алгоритм шифрования с открытым ключом, описанный в разделе Терминальный доступ. Универсальный способ шифрования большинства текстовых прикладных протоколов называется SSL, Secure Socket Layer (уровень надёжных сокетов). Идея этого способа -- в том, что шифрованием данных занимается не само приложение, а специальная библиотека работы с сокетами, то есть шифрование происходит на стыке прикладного и транспортного уровня. Конечно, и клиент, и сервер должны включать в себя поддержку SSL, поэтому для служб, защищённых таким способом, обычно отводятся другие номера портов (например, 80 -- для HTTP, и 443 -- для HTTPS). В Apache этим занимается специальный модуль -- mod_ssl, его настройки и способ организации защищённой службы можно найти в документации. Несмотря на то, что Apache решает практически любые задачи, связанные с организацией WWW-страниц, есть, конечно, и области, где его применение нежелательно или невозможно. Если, например, задача WWW-сервера -- отдавать десяток-другой статически оформленных страниц небольшому числу клиентов, запускать для этого Apache -- как стрелять из пушки по воробьям. Лучше воспользоваться сервером thttpd, специально для таких задач предназначенным: он займёт намного меньше ресурсов системы. Особая ситуация возникает, когда самый важный параметр сервера -- его быстродействие. Например сервер, раздающий т. н. "баннеры" (banners, небольшие картинки рекламного характера), приносит тем больше дохода, чем быстрее работает, что означает: может обслуживать больше клиентов. Способ радикально уменьшить время отклика такого сервера на HTTP-запрос -- оформить его не в виде демона, а в виде модуля ядра. Такой сервер существует в виде дополнений к ядру Linux под общим названием tux. |