Анонимный FTP-сервер можно построить с помощью wu-ftpd, установив пакет anonftp. Этот пакет нельзя использовать вместе с сервером ProFTPD. Пакет anonoftp поставляется в составе большинства дистрибутивов.
Сейчас рассмотрим, как организовать анонимный FTP-сервер с помощью сервера ProFTPD. Для организации анонимного доступа сервер ProFTPD имеет директиву Anonymous. При этом в блок Anonymous нужно поместить директивы, конфигурирующие анонимную службу. В самой же директиве Anonymous необходимо указать каталог, который будет использоваться в качестве корневого для анонимной службы. Сервер ProFTPD выполнит для этого каталога команду enroot, превращая этот каталог в корневой для удаленного пользователя. Перед тем, как сделать это, сервер ProFTPD прочитает все необходимые ему файлы конфигурации из реального каталога /etc.
При анонимной регистрации, по умолчанию в качестве имени пользователя указывается anonymous, а вместо пароля — адрес электронной почты пользователя. Вы же можете изменить параметры анонимного доступа, добавив проверку пароля для анонимного пользователя с помощью директивы AnonRequirePassword (см. табл 11.5). В следующем примере представлен типичный блок Anonymous, подходящий для большинства анонимных серверов (см. листинг 11.11.)
Листинг 11.11. Типичный блок Anonymous
User ftp
Group ftp
UserAlias anonymous ftp
RequireValidShell off
DenyAll
AllowAll
Директивы User и Group задают имя пользователя для анонимного доступа. В обоих случаях применяется имя ftp. Для имени ftp определяется псевдоним anonymous. Вместо пароля нужно указать адрес электронной почты.
Директива RequireValidShell отключает проверку командного интерпретатора пользователя. По умолчанию сервер ProFTPD ищет список допустимых интерпретаторов в файле /etc/shells. Если используемый пользователем интерпретатор не указан в файле /etc/shells, то соединение будет разорвано. Директива RequireValidShell off отключает такую проверку.
Директива определяет свойства для всех каталогов. При этом всем пользователям запрещено записывать файлы на сервер, но разрешено сохранять файлы сервера на свой локальный компьютер.
Желательно также добавить в блок Anonymous директиву MaxClients, которая указывает максимальное число клиентов. Нужно учитывать нагрузку на сервер и пропускной канал для определения максимального числа анонимных клиентов. Настоящих пользователей сервера FTP по возможности не следует ограничивать, в отличие от анонимных. При малоскоростном канале связи, например, 33 Кбит/с, установите маленькое максимальное количество анонимных клиентов, например, 5 или даже 3. Конечно, число клиентов также зависит от объема информации, расположенной на сервере. Если размеры файлов небольшие, например, документация, число клиентов можно установить несколько большим (10…15).
11.4. Вспомогательные программы
При работе с серверами wu-ftpd и ProFTPD вы можете использовать программы ftpshut, ftpwho, ftpcount. Инструментальные средства обоих серверов имеют похожие опции, но вспомогательные программы для ProFTPD выводят больше полезной информации.
Программа ftpshut останавливает сервер. Программа ftpwho выводит информацию о пользователях, подключенных к вашему серверу. Программа ftpcount сообщает о количестве установленных соединений.
Я рекомендую использовать расширенный вывод программы ftpwho. В этом режиме предоставляется больше информации (см. листинг 11.12).
Листинг 11.12. Результат работы программы ftpwho# ftpwho –v
Master proftpd process 759:
1113 2m55s proftpd: ftp - localhost.localdomain: anonymous/[email protected]: IDLE
(host: localhost.localdomain [127.0.0.1])
(cwd: /)
1150 0m20s proftpd: den - localhost.localdomain: IDLE
(host: localhost.localdomain [127.0.0.1])
(cwd: /home/den)
Service class 2 users
Программа ftpcount только сообщает об общем количестве пользователей (см. листинг 11.13).
Листинг 11.13. Результат работы программы ftpcountMaster proftpd process 759:
Service class 2 users
11.5. Виртуальный узел FTP
В этом разделе книги пойдет речь о конфигурировании виртуального FTP-сервера. Создание виртуального FTP-сервера будет происходить с использованием сервера ProFTP.
Для начала определимся, что такое виртуальный сервер? Как и подразумевает слово «виртуальный», такой сервер не будет существовать физически, но пользователь будет считать, что он работает с реальным сервером. ОС Linux может поддерживать несколько IP-адресов, благодаря чему имеется возможность создать виртуальные узлы. Если вы располагаете дополнительными IP-адресами, то они как раз могут использоваться для создания виртуальных узлов. При конфигурировании виртуальных FTP-узлов каждому из них нужно присвоить отдельный IP-адрес.
Виртуальные FTP-узлы нужны, если вы, например, хотите организовать несколько узлов FTP, один — для одной рабочей группы, другой — для второй, третий может быть анонимным и так далее. Обслуживать сразу несколько FTP-узлов позволяет все тот же демон proftpd.
Настройка виртуального FTP-узла очень похожа на настройку виртуального Web-сервера, настройка которого будет рассмотрена в следующей главе. Даже используется одна и та же директива VirtualHost. При этом, для конфигурирования виртуального FTP-сервера, в файл proftpd.conf нужно добавить директиву VirtualHost, содержащую IP-адрес (см. листинг 11.14).
Листинг 11.14. Директива VirtualHost
ServerName "Virtual FTP Server"
В блоке VirtualHost можно использовать другие директивы, например, директиву Anonymous, которая создаст гостевой узел. Можно также задать каталог или порт (см. листинг 11.15).
Листинг 11.15. Пример использования директивы VirtualHost
ServerName "Online library"
MaxClients 15
MaxLoginAttempts 1
DeferWelcome on
Allow from 192.168.1
Denyfromall
AllowUser libadmin
DenyAll
User library
Group library
AnonRequirePassword on
User ftp
Group ftp
UserAlias anonymous ftp
В листинге 11.15 приведена конфигурация виртуального сервера ftp.library.com. В директиве VirtualHost используется доменное имя, которое должно быть прописано в сервере DNS. IP-адрес должен указывать на узел сети, на котором запущен демон ProFTPD. В листинге 11.15 также конфигурируются две анонимных учетных записи — library и ftp. Причем учетная запись library требует ввода пароля при регистрации. Пароль должен совпадать с паролем того пользователя, который запустил демон. Доступ к виртуальному серверу разрешен только для подсети 192.168.1.0. Записывать данные на сервер может только пользователь libadmin.
Рис. 11.2. FTP-клиент gFTP
В качестве FTP-клиента для X Window я рекомендую использовать программу gFTP, которая обладает довольно удобным интерфейсом и богатыми функциями. Использование gFTP настолько простое, что я не буду останавливаться на его рассмотрении (см. рис. 11.2).
12Сервер Apache
Эта глава посвящена популярному WWW-серверу Apache. Сервер Apache разработан и поддерживается организацией Apache Project. Первоначально, сервер Apache был разновидностью сервера Web-сервера NCSA, разработанного в Национальном центре разработок суперкомпьютеров Иллинойского университета. Возникновение Apache было связано с тем, что в 1994 году ушел из проекта главный разработчик NCSA, оставив многих последователей самостоятельно разбираться в своем сервере. Со временем начали появляться исправления и дополнения к серверу NCSA — так называемые patches (патчи). А в апреле 1995 года вышла первая версия сервера Apache, основанного на версии 1.3 сервера NCSA. Первая версия Apache просто вобрала в себя все известные исправления сервера
Оглавление
-
1 Введение в Linux
-
1.1. Вступительное слово
-
1.2. О Linux
-
1.3. Почему именно Linux?
-
1.4. Область применения Linux-серверов
-
1.5. Как устроена данная книга
-
1.6. Какие сервера бывают и для чего они нужны
-
1.6.1. Сервер локальной сети
-
1.6.2. Шлюз — сервер для доступа в Интернет
-
1.6.3. Сервер удаленного доступа
-
1.7. Что такое сервер? (или Курс Молодого Администратора)
-
1.7.1. Архитектура сети: одноранговая и клиент/сервер
-
1.7.2. Протокол и интерфейс
-
1.7.3. Протокол TCP/IP
-
1.7.4.Системадоменныхимен—DNS
-
1.7.5. Многоуровневая архитектура стека TCP/IP
-
1.7.6. Порты и демоны
-
1.7.7. Структура пакетов IP и TCP
-
1.8. Общие рекомендации
-
1.9. Обзор дистрибутивов Linux
-
1.10. Глоссарий
-
2 Установка системы
-
2.1. Установка Red Hat Linux
-
***
-
***
-
2.2. Установка Linux Mandrake
-
2.3. Установка Linux на компьютер с чипсетом Intel810
-
2.4. Установка нескольких операционных систем
-
2.4.1. Установка Windows 9x и Linux
-
2.4.2. Установка Windows 9x, Windows NT/2000 и Linux.
-
2.4.3. Использование loadlin
-
2.5. Постинсталляционная настройка
-
2.6. Установка программного обеспечения
-
2.6.1.Традиционный способ установки: установка из исходных текстов
-
2.6.2. Программа RPM
-
2.6.3. Программы gnorpm, kpackage, apt
-
2.6.4. Установка из пакетов, содержащих исходный код
-
2.7. Завершение работы операционной системы
-
3 Учетные записи пользователей
-
3.1. Вход в систему
-
3.1.1. Вход в систему под другим именем
-
3.2. Изменение пароля
-
3.3. Идентификаторы пользователя и группы
-
3.4. Создание группы
-
3.5. Удаление и модификация учетных записей
-
3.6. Квотирование
-
3.6.1. Определение ограничений
-
3.6.2. Запрет квоты для пользователя или группы
-
3.6.3. Использование программы linuxconf для определения квот
-
3.7. Сценарий создания пользователей
-
4 Файловая система Linux
-
4.1. Файлы и каталоги. Дерево каталогов
-
4.2. Команды для работы с файлами и каталогами
-
4.2.1. Команды для работы с файлами
-
4.2.2. Команды для работы с каталогами
-
4.3.Ссылки
-
4.4. Стандартные имена устройств в Linux
-
4.5. Стандартные каталоги
-
4.6. Создание файловой системы. Типы файловых систем
-
***
-
4.7. Использование программы fdisk
-
4.8. Программа Disk Drake
-
4.9. Монтирование дисков. Файл/etc/fstab
-
4.10. Создание раздела (файла) подкачки
-
4.11. Использование LILO
-
4.12. Права доступа
-
4.13. Обслуживание файловой системы
-
4.14. Подключение магнитооптического диска
-
4.15. Использование стримера
-
4.15.1. Подключение стримера с интерфейсом SCSI
-
4.15.2. Подключение стримера с интерфейсомFDC
-
4.15.3. Управление стримером
-
4.16. Стратегия резервного копирования
-
4.17. Использование программы cpio
-
4.18. Повышение производительности жесткого диска
-
4.19. Создание массивов RAID
-
4.20. Форматирование дискет в Linux
-
5 Процессы
-
5.1. Системные вызовы fork() и ехес()
-
5.1.1. Общая схема управления процессами
-
5.2. Перенаправление ввода/вывода
-
5.3. Команды управления процессами
-
5.4. Создание расписаний
-
5.5. Уровни выполнения.Программа init
-
5.6. Сценарии загрузки системы
-
5.7. Стандартные файлы протоколов (журналов)
-
5.8. Управление протоколированием
-
5.8.1. Демон Syslogd
-
5.8.2. Сигналы
-
5.8.3. Файл конфигурации
-
5.8.4. Сетевое протоколирование
-
5.8.5. Демон klogd
-
5.8.6. Параметры ядра
-
6 Русификация Linux
-
6.1. Русификация консоли
-
6.2. Русификация системы X Window
-
6.3. Русификация принтера
-
7 Настройка сети
-
7.1. Установка сетевой платы. Настройка параметров сети
-
7.2. Подключение модема
-
7.3. Подключение к Интернет
-
7.3.1. Терминальный способ
-
7.3.2. PAP- и СНАР-аутентификация
-
7.4. Настройка DSL-соединения
-
7.4.1. Настройка соединения DSL в Linux Mandrake
-
7.4.2. Настройка соединения DSL в другом дистрибутиве
-
7.5. Настройка выделенных линий
-
7.6. Перед настройкой сервера
-
8 Конфигурирование сервера
-
8.1. Суперсерверы inetd и xinetd
-
8.1.1. Настройка сервера inetd
-
8.1.2. Настройка tcpd
-
8.1.3. Протокол IPv6
-
8.1.4. Установкаx inetd
-
8.1.5. Настройка xinetd
-
8.1.6. Параметры запуска xinetd
-
8.1.7. Пример файла конфигурации /etc/xinetd
-
8.2. Удаленный доступ: ssh и telnet
-
***
-
8.3.Маршрутизация
-
8.4. Настройка DHCP (Dynamic Host Configuration Protocol)
-
8.5. Подсчет трафика. Программа MRTG
-
***
-
8.6. Сетевая файловая система (NFS)
-
8.6.1. Настройка сервера NFS
-
8.6.2. Настройка клиента NFS
-
8.7. Поисковый сервер ht:/Dig
-
8.8. Прокси-сервер Socks5
-
8.8.1.Установка и настройкасервера
-
8.8.2. Альтернативные серверы Socks5
-
8.8.3. Настройка клиента Socks5 (licq)
-
8.9. Система обнаружения и защиты от вторжения
-
8.9.1. Что такое LIDS?
-
8.9.2. Установка LIDS
-
8.9.3. Базовая настройка
-
8.9.4. Правила доступа
-
8.9.5. Администриров ание LIDS
-
9 Протокол Server Message Block (SMB)
-
9.1. Установка Samba
-
9.2. Настройка файлового сервера
-
9.3. Доступ к SMB-ресурсам из Linux
-
9.4. Доступ к принтеру Linux для Windows-машин
-
9.5. Доступ к Windows-принтеру с компьютеров, работающих под Linux
-
9.6. Пример файла smb.conf
-
9.7. Конфигуратор SWAT
-
10 Служба имен — DNS
-
10.1. Настройка сервера DNS
-
10.2. Кэширующий сервер DNS
-
10.3. Настройка дополнительного сервера DNS
-
10.4. Команды управления сервером DNS
-
10.5. Использование nslookup
-
11 Настройка FTP
-
11.1. Сервер FTP wu-ftpd
-
11.1.1. Файл ftpaccess
-
11.1.2. Файл ftphosts
-
11.1.3. Файл ftpusers
-
11.1.4. Файл ftpgroups
-
11.1.5. Файл ftpconversions
-
11.1.6. Файл xferlog
-
11.2.СерверProFTP
-
11.2.1. Файл /etc/proftpd.conf
-
11.2.2. Ограничение доступа
-
11.2.3. Файл .ftpaccess
-
11.3. Организация анонимного FТР-сервера
-
11.4. Вспомогательные программы
-
11.5. Виртуальный узел FTP
-
12 Сервер Apache
-
12.1. Установка Apache
-
12.2. Файлы конфигураци исервера
-
12.2.1. Файл httpd.conf
-
12.2.2. Конфигурирование Apache с помощью netconf
-
12.3. Каталоги пользователей
-
12.4. Виртуальный HTTP-сервер
-
12.4.1. Виртуальные серверы с идентификацией по имени
-
12.4.2. Виртуальные серверы с идентификацией по IP-адресу
-
12.5. SSL и Apache
-
12.5.1. Установк а SSL
-
12.5.2. Подключение SSL к Apache
-
12.5.3. Генерирование сертификатов
-
12.6. Пример файла httpd.conf
-
***
-
***
-
***
-
12.7. Перекодирование русскоязычных документов «на лету»
-
13 Почтовый сервер
-
13.1. Настройка sendmail
-
***
-
13.2. Аутентификация в sendmail
-
13.3. Настройка почтовых клиентов
-
13.4. Другие программы для работы с электронной почтой
-
13.5. Создание списка рассылки
-
14 Бастионы
-
14.1. Применение IPChains
-
14.2. Настройка IPChains
-
14.3. Различные примеры
-
14.3.1. Пакеты SYN
-
14.3.2. Фрагментация пакетов
-
14.3.3. Пинг смерти
-
14.3.4. IР-спуфинг
-
14.3.5. Фильтрация фрагментированных бомб
-
14.4. Практический пример
-
***
-
14.5. IPTables
-
15 Прокси-сервер SQUID
-
15.1. Что такое SQUID?
-
15.2. Установка SQUID
-
15.3. Настройка SQUID
-
15.4. Запуск SQUID
-
15.5. Формат файла squid.conf
-
15.5.1. Параметры сети
-
15.5.2. Параметры соседей
-
15.5.3. Управление кэшем
-
15.5.4. Протоколирование
-
15.5.5. Параметры внешних программ
-
15.5.6. Списки ACL
-
15.5.7. Параметры доступа
-
15.5.8. Параметры администрирования
-
15.6. Отказ от рекламы. Баннерный фильтр
-
15.7. Разделение канала
-
15.8. Программы для учета трафика
-
15.9. Настройка клиентов
-
16 Установка MySQL
-
16.1. Установка сервера
-
16.2. Клиентская часть
-
16.3. Связка Apache + PHP + MySQL
-
16.3.1. Первый способ: из пакетов RPM
-
16.3.2. Второй способ: из исходных текстов
-
17 Практические примеры. Обратный звонок
-
17.1. Настройка шлюза
-
17.1.1. Настройка ядра
-
17.1.2. Настройка сети
-
17.1.3. Конфигурирование IpChains
-
17.1.4. Настройка DNS
-
17.1.5. Настройка Squid
-
17.2. Настройка Dial-In сервера
-
17.2.1. Установка программного обеспечения
-
17.2.2. Настройка mgetty
-
17.2.3. Настройка ррр
-
17.2.4. Включение IP Forwarding
-
17.2.5. Второй вариант настройки
-
17.2.6. Если что-то не работает…
-
17.2.7. Настройка Windows-клиентов
-
17.2.8. Дополнительная литература
-
17.3. Обратный звонок
-
17.3.1. Что такое callback?
-
17.3.2. Настройка сервера. Способ1
-
17.3.3. Настройка сервера.Способ 2
-
17.3.4. Настройка клиен тов. Способ 1
-
17.3.5. Настройка клиентов. Способ 2
-
18 Компилирование ядра
-
18.1. Параметры ядра
-
18.1.1. Параметры корневой файловой системы
-
18.1.2. Управление RAMDISK
-
18.1.3. Управление памятью
-
18.1.4. Другие параметры ядра
-
18.2. Конфигурирование ядра
-
18.2.1. Processor type and features
-
18.2.2. Loadable module support
-
18.2.3.General setup
-
18.2.4. PnP support
-
18.2.5. Block devices
-
18.2.6. Networking options
-
18.2.7. SCSI support
-
18.2.8. Network device support
-
18.2.9.IrDA, USB support
-
18.2.10. Filesystems
-
18.2.11. Sound
-
18.3. Компилирование ядра
-
19 Полезные команды и программы. Создание RPM-пакетов
-
19.1. Общие команды
-
***
-
19.2. Команды для работы с файлами
-
19.3. Команды для работы с Интернет
-
***
-
19.4. Обработка текста
-
***
-
***
-
19.5. Создание RPM-пакетов
-
19.6. Использование редактора vi
-
19.7. Интерпретатор команд bash
-
19.7.1. Каналы и списки
-
19.7.2. Перенаправление ввода/вывода
-
19.7.3. Подоболочки
-
19.7.4. Переменные и массивы
-
19.7.5. Подстановка команд и арифметических выражений
-
19.7.6. Управляющие структуры и циклы
-
19.7.7. Подстановка переменных
-
19.7.8. Функции
-
19.7.9. Обработка сигналов и протоколирование
-
20 Графический интерфейс пользователя. Система X Window
-
20.1. Установка и запуск системы
-
20.2. Конфигурационный файл XF86Config
-
20.3. Настройка X Window
-
20.4. Конвертирование шрифтов Windows
-
20.5. Оконная среда KDE
-
20.6. Оконная среда GNOME
-
20.7. Настройка Х-терминала
-
21 Linux в игровом зале
-
21.1. Достоинства и недостатки
-
21.2. Выбор аппаратного обеспечения для игрового зала
-
21.3. Установка драйверов для видеокарт nVidia
-
21.4. Установка Windows-эмулятора wine
-
21.5. Запуск игр с помощью эмулятора wine
-
21.6. Средства мультимедиа
-
21.7. Администрирование зала
-
21.7.1. Доступ к Интернет
-
21.7.2. Управление пользователями
-
21.7.3. Ограничение доступа пользователя
-
22 Антивирусная защита
-
22.1. Антивирусные программы
-
22.1.1. Программа DrWeb для Linux
-
22.1.2. Программа AVP для Linux
-
22.2. Проверка входящей и исходящей почты
-
23 Прочие возможности
-
23.1. SATAN
-
23.2. Защита от спама
-
23.3. Ограничение системных ресурсов
-
24 Вместо заключения
-
Приложения
-
Приложение А. Конфигурационные файлы Linux
-
***
-
***
-
***
-
Приложение Б. Общие параметры программ для системы X Window
-
Приложение В. Компактное и нормальное ядра
-
***
-
***
-
***
-
***
-
***
-
***
-
***
-
***
-
Приложение Г. Ссылки
-
***
-
***