Родерик Смит - Сетевые средства Linux Страница 28
- Категория: Компьютеры и Интернет / Программное обеспечение
- Автор: Родерик Смит
- Год выпуска: -
- ISBN: -
- Издательство: -
- Страниц: 204
- Добавлено: 2019-06-19 15:03:36
Родерик Смит - Сетевые средства Linux краткое содержание
Прочтите описание перед тем, как прочитать онлайн книгу «Родерик Смит - Сетевые средства Linux» бесплатно полную версию:В этой книге описаны принципы действия и область применения многих серверов, выполняющихся в системе Linux. Здесь рассматриваются DHCP-сервер, серверы Samba и NFS, серверы печати, NTP-сервер, средства удаленной регистрации и система X Window. He забыты и средства, традиционно используемые для обеспечения работы Internet-служб: серверы DNS, SMTP, HTTP и FTP. Большое внимание уделено вопросам безопасности сети. В данной книге нашли отражения также средства удаленного администрирования — инструменты Linuxconf, Webmin и SWAT.Данная книга несомненно окажется полезной как начинающим, так и опытным системным администраторам.Отзывы о книге Сетевые средства LinuxПоявилась прекрасная книга по Linux, осталось воспользоваться ею. Не упустите свой шанс.Александр Стенцин, Help Net Security, www.net-security.orgЕсли вы стремитесь в полной мере использовать сетевые возможности Linux — эта книга для вас. Я настоятельно рекомендую прочитать ее.Майкл Дж. Джордан, Linux OnlineВыхода подобной книги давно ожидали читатели. Менее чем на 700 страницах автор смог изложить суть самых различных вопросов, связанных с работой Linux. Автор является высококвалифицированным специалистом в своей области и щедро делится своими знаниями с читателями.Роджер Бертон, West, DiverseBooks.com
Родерик Смит - Сетевые средства Linux читать онлайн бесплатно
Не устанавливайте в качестве уровня по умолчанию уровень 0 или 6. Если вы поступите так, то сразу после загрузки работа системы будет завершена либо компьютер начнет перезагружаться. Для того чтобы изменить настройку, вам придется загрузить компьютер с другого диска.
Если вы хотите временно изменить уровень выполнения, сделайте это с помощью команды telinit (в некоторых системах для этого приходится вызывать init). Синтаксис telinit имеет следующий вид:
telinit [-t время_в_секундах] [уровень]
При изменении уровня выполнения некоторые процессы могут быть завершены. Для завершения процесса Linux передает ему сигнал SIGTERM либо SIGKILL. Сигнал SIGTERM обеспечивает более "мягкий" режим окончания работы; при этом программа получает возможность закрыть файлы и освободить другие ресурсы. SIGKILL принудительно завершает выполнение программы, в результате файлы, используемые в процессе его работы, могут быть повреждены. При изменении уровня выполнения telinit сначала пытается использовать SIGTERM. Если процесс продолжает выполняться, то через пять секунд telinit передает ему сигнал SIGKILL. Опция -t позволяет изменить этот интервал. В большинстве случаев значение, равное пяти секундам, вполне приемлемо.
Второй параметр, передаваемый telinit, задает уровень выполнения. Для указания уровня используется один символ. Результаты, которые вы получите, задавая в качестве этого параметра число, очевидны. Кроме того, вы можете передать программе другие символы. Их назначение описано ниже.
• а, b или с. Некоторые записи в файле /etc/inittab идентифицируются с помощью символов a, b и с. Эти символы имеют специальное назначение. Если вы передадите один из них telinit, программа будет обрабатывать соответствующие ему записи /etc/inittab; при этом уровень выполнения системы не изменится.
• Q или q. Если задать одно из этих значений как уровень выполнения, telinit повторно считает содержимое файла /etc/inittab и продолжит работу с учетом внесенных изменений.
• S, или s. Эта опция переводит систему в однопользовательский режим.
• U, или u. Данная опция вызывает перезагрузку процесса init; при этом новое содержимое файла /etc/inittab не считывается.
Зачем может понадобиться переходить на другой уровень выполнения? Изменяя уровень выполнения по умолчанию, вы можете изменять набор серверов, работающих в системе. В большинстве дистрибутивных пакетов самым важным считается сервер X Window. Одна из последних записей в файле /etc/inittab управляет запуском этого сервера; в некоторых системах эта задача решается с помощью сценариев запуска SysV. Изменение уровня выполнения позволяет быстро перейти от одного набора сервера к другому, разрешить или запретить графический режим или временно отключить X Window.
Использование inetd
В обычных условиях программа-сервер связывается с некоторым портом (ресурсом, для идентификации которого используется тип протокола и число в интервале от 1 до 65535). В зависимости от номера порта, указанного в запросе, этот запрос направляется тому или иному серверу. Например, почтовый сервер, поддерживающий SMTP (Simple Mail Transfer Protocol — простой протокол передачи почты), традиционно использует TCP-порт 25, a HTTP (Hypertext Transfer Protocol — протокол передачи гипертекстовой информации), как правило, связывается с портом 80.
Программа inetd является одним из суперсерверов, используемых в операционной системе Linux. Суперсервер выполняет функции посредника. Вместо набора серверов в системе запускается один суперсервер, который связывается со всеми портами, соответствующими серверам из набора. При установлении соединения суперсервер загружает сервер, порт которого указан в запросе, после чего этот сервер выполняет требуемые действия по передаче данных. Использование суперсервера обеспечивает два основных преимущества по сравнению с постоянным выполнением обычных серверов. Во-первых, при таком подходе уменьшается объем используемой оперативной памяти; в особенности это заметно, если на компьютере должно присутствовать большое количество программ- серверов. Во-вторых, перед тем как запрос будет передан обычном серверу, его получает суперсервер, который может выполнять необходимую фильтрацию данных; это повышает безопасность системы. Недостаток использования суперсервера состоит в том, что продолжительность обработки запроса увеличивается (как правило, на одну-две секунды). Это связано с тем, что для загрузки сервера требуется определенное время. Поэтому суперсервер лучше применять для серверов, которые вызываются достаточно редко. Если запросы к серверу приходят часто, лучше, если такой сервер постоянно присутствует в памяти компьютера.
Формат файла /etc/inetd.conf
Для настройки inetd используется конфигурационный файл /etc/inetd.conf. Если не принимать во внимание комментарии (строки, начинающиеся с символа #), то можно сказать, что содержимое файла inetd.conf представляет собой набор строк, каждая из которых определяет отдельный сервер. Пример записи, содержащейся в файле /etc/inetd.conf приведен ниже.
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
Каждая строка файла состоит из нескольких полей, которые отделяются друг от друга с помощью пробелов или символов табуляции.
• Имя сервера. Первое поле в строке идентифицирует протокол, используемый сервером. Имя протокола должно соответствовать имени, указанному в файле /etc/services. Например, обратившись к этому файлу, можно выяснить, что имени telnet соответствует значение 23/tcp, т.е. сервер, поддерживающий протокол telnet, должен использовать для взаимодействия порт 23. Для того чтобы программа inetd могла управлять сервером, для этого сервера должна существовать запись в файле /etc/services. Очевидно, что, планируя запуск редко встречающегося сервера посредством inetd, надо позаботиться о том, чтобы соответствующая запись была включена в этот файл. Подавляющее большинство серверов изначально учтено в /etc/services.
• Тип гнезда. Второе поле указывает тип гнезда, используемого при поддержке протокола. Допустимы типы stream, dgram, raw, rdm и seqpacket.
• Тип протокола. Третье поле указывает тип протокола. В данном случае речь идет о нижележащем протоколе транспортного уровня, например TCP или UDP. Допустимые протоколы указаны в /etc/protocols, однако в подавляющем большинстве случаев в этом поле указывается значение tcp или udp.
• wait/nowait. Четвертое поле записи содержит одно из двух значений: wait или nowait. Значение wait имеет смысл только для дейтаграмм (тип гнезда dgram). В остальных случаях предполагается значение nowait. Большинство серверов, поддерживающих обмен с помощью дейтаграмм, связываются с гнездом и освобождают inetd для обслуживания последующих обращений. Эти серверы называются многопотоковыми (multi-threaded); для них в рассматриваемом здесь поле должно содержаться значение nowait. Серверы, которые связываются с гнездом, обрабатывают все данные, а затем по истечении времени тайм-аута завершают работу, называются однопотоковыми (single-threaded); для них в данном поле должно содержаться значение wait. В этом поле можно также задать числовое значение, отделив его от ключевого слова wait точкой, например wait.60. Число указывает максимальное количество серверов данного типа, которые inetd может загрузить в течение одной минуты. По умолчанию принимается значение, равное 40.
• Имя пользователя. Программа inetd может запустить сервер с привилегиями указанного пользователя. Это позволяет существенно повысить уровень безопасности системы. Ограничив права сервера необходимым минимумом, вы сокращаете возможности злоумышленников по незаконному проникновению в систему. Так, например, серверу Apache не требуются никакие специальные привилегии, поэтому его можно запускать с правами пользователя nobody либо определить права Apache, создав для него отдельную учетную запись. В приведенном выше примере указано имя root, так как привилегии этого пользователя необходимы для выполнения процедуры регистрации, которая осуществляется в начале Telnet-сеанса. Если к имени пользователя вы добавите имя группы, разделив эти имена точкой, сервер получит привилегии группы. Например, значение nobody.nogroup указывает на то, что сервер должен быть запущен с правами пользователя nobody и группы nogroup.
Жалоба
Напишите нам, и мы в срочном порядке примем меры.