Денис Колисниченко - Linux: Полное руководство
- Название:Linux: Полное руководство
- Автор:
- Жанр:
- Издательство:Наука и Техника
- Год:2006
- Город:Санкт-Петербург
- ISBN:5-94387-139-Х
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Денис Колисниченко - Linux: Полное руководство краткое содержание
Данная книга представляет собой великолепное руководство по Linux, позволяющее получить наиболее полное представление об этой операционной системе. Книга состоит из трех частей, каждая из которых раскрывает один из трех основных аспектов работы с Linux: Linux для пользователя, сетевые технологии Linux (и методика настройки Linux-сервера), программирование Linux. В книге охвачен очень широкий круг вопросов, начиная с установки и использования Linux «в обычной жизни» (офисные пакеты, игры, видео, Интернет), и заканчивая описанием внутренних процессов Linux, секретами и трюками настройки, особенностями программирования под Linux, созданием сетевых приложений, оптимизацией ядра и др.
Изложение материала ведется в основном на базе дистрибутивов Fedora Cora (Red Hat) и Mandriva (Mandrake). Однако не оставлены без внимания и другие дистрибутивы SuSe, Slackware, Gentoo, Alt Linux, Knоppix. Дается их сравнительное описание, a по ходу изложения всего материала указываются их особенности.
Книга написана известными специалистами и консультантами по использованию Linux, авторами многих статей и книг по Linux, заслуживших свое признание в самых широких Linux-кругах. Если вы желаете разобраться в особенностях Linux и познать ее внутренний мир, эта книга — ваш лучший выбор.
Linux: Полное руководство - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
♦ socket_type
♦ user
♦ server
♦ wait.
Атрибут protocolуказывается только для RPC-сервисов, а также для всех сервисов, которые не описаны в
/etc/services
. Атрибут rpc_version — только для RPC-сервисов. Атрибут rpc_numberуказывается только для RPC-сервисов, которые не перечислены в файле /etc/rpc
. Атрибут portзадается только для не-RPC сервисов, которые не описаны в /etc/services
.
Следующие атрибуты поддерживают все операторы присваивания:
♦ only_from
♦ no_access
♦ log_on_success
♦ log_on_failure
♦ passenv
♦ env (кроме оператора «-=»).
В секции defaults, в которой описаны атрибуты по умолчанию, обычно указываются следующие атрибуты:
♦ log_type
♦ log_on_success
♦ log_on_failure
♦ only_from
♦ no_access
♦ passenv
♦ instances
♦ disabled
♦ enabled.
11.3.3. Запуск xinetd
Я надеюсь, что с настройкой все более-менее понятно. Если нет, то немного ниже вы найдете пример файла
/etc/xinetd.conf
. Сейчас же займемся запуском только что откомпилированного и настроенного суперсервера. А запускать его можно с ключами, самые нужные из которых приведены в таблице 11.3. За списком остальных обращайтесь к man-странице.
Ключи запуска xinetdТаблица 11.3
Ключ | Назначение |
---|---|
-f файл | Устанавливает альтернативный файл конфигурации, который должен использоваться вместо стандартного файла /etc/xinetd.conf |
-pidfile pid_файл | Файл, в который будет записан PID процесса |
-stayalive | Даже если ни один сервис не прописан, демон должен выполняться («остаться в живых») |
-d | режим отладки (debug mode) |
-limit число | Ограничение на количество одновременно запущенных процессов |
Как и любой демон, xinetdуправляется сигналами:
♦ SIGHUP заставит xinetdперечитать файлы конфигурации и остановить службы, с этого момента отключенные;
♦ SIGQUIT остановит xinetd;
♦ SIGTERM остановит xinetd, остановив предварительно все запущенные им серверы;
♦ SIGUSR1 выведет дамп состояния в файл
/var/run/xinetd.dump
.
11.3.3.1. Защита xinetd
Суперсервер xinetdдостаточно защищен, но его конфигурационный файл придется защитить вам самим. Естественно, нужно установить ему права доступа, разрешив только чтение в только суперпользователю:
# chmod 400 /etc/xinetd.conf
Чтобы никто не смог изменить, удалить, переименовать этот файл, установите ему атрибут «i» (только на файловой системе ext2 или ext3):
# chattr +i /etc/xinetd.conf
11.3.3.2. Пример файла конфигурации /etc/xinetd
Теперь, как и обещал, привожу пример файла конфигурации. В этом листинге перечислены чаще всего используемые сервисы с оптимальными атрибутами. Конечно же, вам предстоит решить, какие сервисы вы будете использовать, а какие нет. Возможно, вы также измените и их атрибуты — например, время работы того или иного сервиса.
Листинг 11.1. Фрагмент файла конфигурации /etc/xinetd
# Параметры по умолчанию для всех возможных сервисов
defaults
{
# Число серверов, которые могут быть активны одновременно
instances = 25
# Параметры протоколирования
log_type = FILE /var/log/servicelog
log_on_success = HOST PID
log_on_failure = HOST RECORD
# Параметры доступа
only_from = 111.11.111.0 111.111.112.0
only_from = localhost 192.168.1.0/32
# Отключенные сервисы
disables = tftp
}
service login {
flags = REUSE
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/etc/in.rlogind
log_type = SYSLOG local4 info
}
# Сервис telnet - эмуляция терминала удаленных систем
# для интерфейса обратной петли
service telnet {
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/etc/in.telnetd
bind = 127.0.0.1
log_on_failure += USERID
}
# Сервис telnet — эмуляция терминала удаленных систем
service telnet {
flags = REUSE
disable = yes
socket_type = stream
wait = no
user = root
server = /usr/etc/in.telnetd
bind = 192.231.139.175
redirect = 128.138.202.20 23
log_on_failure += USERID
}
service ftp {
socket_type = stream
wait = no
user = root
server = /usr/etc/in.ftpd
server_args = -1
instances = 4
log_on_success += DURATION USERID
log_on_failure += USERID
access_times = 2:00-8:59 12:00-23:59
nice = 10
}
service name {
socket_type = dgram
wait = yes
user = root
server = /usr/etc/in.tnamed
}
# Поддержка протокола TFTP (Trivial FTP). Этот протокол
# используется для обмена информацией между интеллектуальными
# маршрутизаторами и, скорее всего, вы не будете его
# использовать.
service tftp {
socket_type = dgram
wait = yes
user = root
server = /usr/etc/in.tftpd
server_args = -s /tftpboot
}
# SMTP-сервис Qmail. Конфигурируется для запуска по
# требованию суперсервера xinetd
service smtp {
socket_type = stream
protocol = tcp
wait = no
user = qmaild
id = smtp
server = /var/qmail/bin/tcp-env
server_args = /var/qmail/bin/qmail-smtpd
log_on_success -= DURATION USERID PID HOST EXIT
log_on_failure -= USERID HOST ATTEMPT RECORD
}
# Сервис finger, позволяющий узнать общедоступную информацию о
# пользователях системы, записанную в /etc/passwd.
service finger {
socket_type = stream
disable = yes
wait = no
user = nobody
server = /usr/etc/in.fingerd
}
service echo {
type = INTERNAL
id = echo-stream
socket_type = stream
protocol = tcp
user = root
wait = no
}
service echo {
type = INTERNAL
id = echo-dgram
socket_type = dgram
protocol = udp
user = root
wait = yes
}
service rstatd {
type = RPC
disabled = no
flags = INTERCEPT
rpc_version = 2-4
socket_type = dgram
protocol = udp
server = /usr/etc/rpc.rstatd
wait = yes
user = root
}
Как видно из примера, я сконфигурировал лишь самые необходимые сервисы. Доступ к сервисам в рассматриваемом примере могут получать только клиенты из сетей 111.111.111.0 111.111.112.0 и 192.168.1.0. Можно также указывать адрес и маску подсети, например, 192.168.1.0/32. Вместо sendmailя использовал qmail. Можно было бы запускать qmailв режиме standalone, но так как я не очень часто пользуюсь услугами 25-го порта, то мне удобнее запускать сервис smtpчерез xinetd. Из соображений безопасности я отключил некоторые сервисы: finger, telnet.
Интервал:
Закладка: