Родерик Смит - Сетевые средства Linux
- Название:Сетевые средства Linux
- Автор:
- Жанр:
- Издательство:Издательский дом Вильямс
- Год:2003
- Город:Москва
- ISBN:5-8459-0426-9
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Родерик Смит - Сетевые средства 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 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Рис. 22.1. Диспетчер пакетов предоставляет информацию о серверах, установленных в системе
Чтобы обнаружить серверы, присутствующие в системе, можно проверить следующие файлы.
• Конфигурационный файл суперсервера. При поиске серверов следует проверить конфигурационные файлы /etc/inetd.confи /etc/xinetd.conf, а также файлы в каталоге /etc/xinetd.d. Таким образом, вы найдете ссылки на все серверы, запускаемые посредством суперсервера. В конфигурационном файле inetdстроки, в начале которых стоит символ #, представляют собой комментарии, поэтому серверы, указанные в них, не активны. Для суперсервера xinetdзапуск сервера запрещает запись disable = yes.
• Сценарии запуска SysV. Можно найти серверы, запускаемые посредством сценариев просмотрев каталоги, предназначенные для размещения таких сценариев (обычно это каталог /etc/rc.d/rc?.dили /etc/rc?.d, где символ ?означает уровень выполнения). Необходимую вам информацию предоставят имена файлов, находящихся в этих каталогах. Заметьте, что некоторые из программ, запускаемых посредством сценариев SysV, не являются серверами, поэтому, прежде чем запретить их выполнение, следует выяснить назначение этих программ.
• Локальные сценарии запуска. Во многих дистрибутивных пакетах для запуска локальных программ используются локальные сценарии. Файлы, содержащие их, обычно называются rc.localили boot.local. Локальными считаются такие программы, при инсталляции которых использовался нестандартный способ, отличающийся от подхода, принятого для данного дистрибутивного пакета. Чтобы обнаружить серверы, выполняющиеся в системе, надо просмотреть весь локальный сценарий.
Подробно вопросы запуска серверов, в том числе соглашения об именовании сценариев SysV, были рассмотрены в главе 4. Определить назначение сценариев запуска вам помогут такие инструменты, как ntsysvи tksysv. Кроме того, в некоторых системах (Caldera, Mandrake, Red Hat и TurboLinux) команда chkconfig --list, заданная в командной строке, отображает состояние сценариев SysV, а в ряде случаев и назначение записей в конфигурационном файле xinetd.
Проанализировав сценарии запуска и конфигурационный файл суперсервера, вы выясните, какие серверы выполняются в системе, однако ничего не узнаете об инсталлированных серверах. Как было сказано ранее, получить сведения о программах, которые были инсталлированы на компьютере, позволяет диспетчер пакетов. Кроме того, вы можете проверить все исполняемые файлы в системе, однако для этого необходимо затратить столько усилий, что данное решение нельзя считать приемлемым.
Для обнаружения серверов может использоваться утилита ps. Она возвращает информацию о. процессах, выполняющихся в системе. При запуске psможно указывать разные опции, но для выявления серверов достаточно ввести в командной строке ps ax.
Объем информации, возвращаемой ps, достаточно велик, поэтому имеет смысл перенаправить вывод в файл или передать данные, сгенерированные программой ps, утилите moreили less. Если вы ищете сведения о конкретном сервере, используйте утилиту grep. Например, чтобы получить информацию о сервере sendmail, надо ввести команду ps ах | grep sendmail. Следует помнить, что утилита psпредоставляет сведения как о серверах, так и о других программах. Ниже приведен фрагмент данных, сгенерированных программой ps.
$ ps ax
PID TTY STAT TIME COMMAND
1 ? S 0:15 init [3]
502 ? S 0:05 named -u bind
520 ? S 0:01 cupsd
535 ? SW 0:00 [nfsd]
1741 pts/4 S 0:00 /bin/bash
4168 ? S 0:00 httpd
На самом деле в процессе выполнения программа psгенерирует десятки и даже сотни строк. В данном примере удалена почти вся информация, кроме нескольких строк, иллюстрирующих работу этой утилиты. В первой строке программа psвыводит сведения о процессе init, для идентификации которого всегда используется номер 1. Данный процесс является корнем дерева, представляющего иерархию процессов в системе. Все остальные процессы порождаются либо непосредственно init, либо его дочерними процессами. Процессы, имена которых помещаются в квадратные скобки, представляют собой процессы ядра. В данном примере процессом ядра является [nfsd]. Как видно из его имени, [nfsd]поддерживает функции сервера NFS, реализованного средствами ядра. Процессы named, cupsdи httpdпредставляют собой пользовательские процессы. О принадлежности их к серверам можно судить по двум признакам. Во-первых, имя каждого из них оканчивается буквой " d", а во-вторых, эти процессы не связаны с терминалами (в поле TTY отображается символ ?). В отличие от них, процесс /bin/bashне является процессом сервера, так как в поле TTY выводится значение pts/4, т.е. данный процесс связан с конкретным терминалом.
Определив процессы серверов с помощью ps, надо отыскать документацию на те серверы, назначение которых вам неизвестно. Для этого следует ввести команду man имя, указав в качестве параметра имя интересующего вас процесса. Кроме того, постарайтесь найти исполняемый файл с именем, совпадающим с именем процесса. Это позволит вас проследить, какой пакет использовался для его инсталляции. Для получения информации о пакете введите команду rpm -qf путь_к_файлу . (В системе Debian для этого используется команда dpkg -S путь_к_файлу .)
Используя ps, не забывайте, что эта утилита не отображает сведения о серверах, которые не выполнялись в момент ее запуска. Например, если сервер запускается с помощью суперсервера и во время вызова psни один из клиентов не работал с ним, вы не получите информацию об этом сервере. Данная утилита также не предоставит сведений о тех серверах, работа которых была временно завершена.
netstatПри использовании psдля поиска серверов возникает проблема, состоящая в том, что данная утилита не сообщает, используется ли данный сервер для поддержки сетевого взаимодействия. Получить эту информацию вам поможет программа netstat. Данная программа возвращает данные о сетевых соединениях. Подобно ps, при запуске netstatмогут указываться различные опции. Для поиска информации о серверах можно использовать команду netstat -lр. Опция -lсообщает утилите netstatо том, что она должна анализировать порты, через которые серверы ожидают поступление запросов, а опция -pзадает вывод имен серверов, связанных с этими портами. Как и ps, утилита netstatгенерирует большой объем данных, поэтому желательно перенаправить вывод в файл или передать входные данные программе lessили more.
Интервал:
Закладка: