Главная » 2013 » Декабрь » 12 » 11.2.СерверProFTP
01:57
11.2.СерверProFTP

Альтернативой, и, на мой взгляд, достаточно хорошей, сервера wu‑ftpd является сервер ProFTPD. Он намного проще в плане конфигурирования, чем сервер wu‑ftpd, и обладает достаточно гибкими возможностями. Для его установки достаточно установить пакет proftpd. Подобно серверу wu‑ftpd, ProFTPD может запускаться автоматически при запуске системы или вызываться суперсервером при наличии запроса на установку соединения. Первый режим называется standalone.

Сервер ProFTPD может вызываться с параметрами, указанными в табл. 11.4.

Параметры сервера ProFTPD Таблица 11.4

Параметр

Описание

‑h

Справочная информация

‑n

Запускает сервер в автономном режиме. Для этого в файле конфигурации нужно указать режим запуска standalone (см. ниже)

‑d

Уровень_отладки Устанавливает уровень отладки сервера (1‑5)

‑с

Файл_конфигурации Задает использование альтернативного файла конфигурации вместо стандартного /etc/proftpd. conf

‑p 0|1

Запрещает (0) или разрешает (1) использование постоянного пароля. Для получения более подробной информации (смотрите документацию по серверу)

‑I

Выводит список всех модулей, откомпилированных для использования сервером ProFTPD

‑v

Выводит версию

11.2.1. Файл /etc/proftpd. conf

Сервер ProFTPD использует всего один файл конфигурации. – /etc/proftpd. conf, который по своей структуре чем‑то похож на файл конфигурации Web‑сервера Apache (а именно – директивами конфигурирования).

В листинге 11.8 представлен простейший файл конфигурации сервера ProFTPD.

Листинг 11.8. Пример файла конфигурации /etc/proftpd. conf

Директивы конфигурации делятся на две группы: директивы, определяющие некоторые параметры, и блочные директивы. Блочные директивы конфигурирования похожи на тэги языка HTML. С помощью блочных директив задаются блоки, содержащие директивы, которые определяют параметры (см. листинг 11.8). При этом используются начальные и конечные блочные директивы. Конечная директива имеет то же имя, что и начальная, но с наклонной чертой в начале. Например, начальная директива <Directory /*>, а конечная – </Directory> (см. листинг 11.8). Действия каждой пары директив распространяются только на блок, который они задают (который расположен между ними). Директива <Directory> определяет свойства какого‑нибудь каталога. В вышеприведенном листинге (листинг 11.8) определяются свойства корневого каталога.

В табл. 11.5 представлены все директивы файла конфигурации сервера ProFTPD.

Директивы файла конфигурации сервера ProFTPD Таблица 11.5

Директива

Описание

AccessGrantMsg сообщение

Ответное сообщение, которое будет отправлено пользователю в случае его регистрации или получения анонимного доступа. Символы %u будут заменены на имя пользователя, которое он ввел при регистрации

Allow from all|host|network [,host|network[,…]]

Используется внутри блока Limit. Ограничивает доступ к серверу (а именно разрешает доступ). По умолчанию allow from all

AllowAll

Разрешает доступ к блокам Directory, Anonymous, Limit

AllowForeignAddress on|off

Разрешает клиенту указывать при соединении соединения адрес, который не соответствует ему. По умолчанию off. Может использоваться в блоках VirtualHost, Anonymous, <Global>

AllowGroup список_групп

Разрешает доступ определенным группам. Используется в блоке Limit

AllowUser список_пользователей

Разрешает доступ определенным пользователям. Используется в блоке Limit

AnonRequirePassword on|off

Требует пароль при анонимной регистрации. Пароль должен совпадать с паролем того пользователя, который запустил демон. По умолчанию данная опция выключена

<Anonymous directory>

Создает анонимную учетную запись, directory – корневой каталог анонимного сервера

AuthGroupFile путь

Позволяет указать путь к альтернативному файлу group. По умолчанию используется файл /etc/group

AuthUserFile путь

Указывает альтернативный файл passwd

Bind IP‑адрес

Разрешает привязку дополнительного IP‑адреса к основному или виртуальному хосту

DefaultRoot каталог

Задает корневой каталог по умолчанию

Deny from all|host|network

Запрещает доступ к серверу. Используется в блоке Limit

DenyAll

Запрещает анонимным пользователям доступ к объектам, указанным в блоке Limit

DenyUser

Список пользователей Запрещает доступ определенным пользователям

<Directory> путь

Используется в VirtualHost, Anonymous для того, чтобы определить особенные параметры доступа к каталогу и его подкаталогам

DisplayFirstChdir файл_сообщения

Указанный текстовый файл будет выводиться, когда пользователь впервые за время сеанса войдет в данный каталог. Используется в VirtualHost, Directory, Anonymous

DisplayLogin файл_сообщения

Этот файл будет отображен, когда пользователь зарегистрируется

<Global>

Используется для задания параметров, которые будут использоваться как основным, так и всеми виртуальными серверами

<Limit command>

Ограничение на выполнение данной FTP‑команды, например, LOGIN, WRITE, READ, STOR

MaxClients number|none сообщение

Ограничение на количество клиентов. Приведенное сообщение будет отображено, если пользователю будет отказано в доступе. Блоки Anonymous, Global

MaxLoginAttempts

Максимальное количество попыток зарегистрироваться. По умолчанию 3. Блоки VirtualHost, Global

Order allow, deny|deny, allow

Порядок выполнения директив Allow и Deny в блоке Limit

PersistentPassword on|off

При значении on будут использованы системные файлы /etc/passwd и /etc/group, несмотря на то, что командой enroot корневой каталог был изменен

RequireValidShell on|off

Разрешает или запрещает регистрацию при использовании оболочек (shells), которые не указаны в файле /etc/shells

ServerAdmin email

Определяет email администратора сервера

ServerType

Определяет режим работы сервера standalone (по умолчанию) или inetd. В первом случае сервер будет запускаться автоматически из стартовых сценариев системы, во втором – его будет запускать сервер inetd при попытке соединения

TimeoutIdle секунды

Время в секундах, в течение которого пользователь имеет право не проявить активности. По умолчанию 60 (1 минута)

Umask маска

Определяет права доступа для созданного файла. Маска – число в восьмеричной системе, определяющее набор прав доступа (см. главу 4)

User имя пользователя

Имя пользователя, присвоенное демону ProFTP

UserAlias псевдоним пользователь

Создает указанный псевдоним для указанного пользователя

<VirtualHost address>

Создает виртуальный сервер

11.2.2. Ограничение доступа

Я считаю необходимым подробно рассмотреть блочную директиву Limit. Эта директива определяет вид и параметры доступа к тому или иному каталогу. Рассмотрим листинг 11.9.

Листинг 11.9. Пример использования директивы Limit

Директива Directory определяет свойства каталога incoming, а директива Limit задает вид доступа к этому каталогу. Команда WRITE директивы Limit вместе с директивой AllowAll разрешает всем пользователям записывать информацию в этот каталог. Команда READ директивы Limit задает ограничение на чтение этого каталога. В рассматриваемом случае чтение запрещено для всех пользователей. Кроме команд WRITE и READ в директиве Limit можно задавать команды STOR и LOGIN (см. табл. 11.6).

В блоке Limit можно задавать директивы Allow, AllowAll, AllowGroup, AllowUser, Deny, DenyAll, DenyUser (см. табл. 11.5). Например, в листинге 11.10 запрещается доступ всем пользователям, кроме den. Пользователь den может регистрироваться со всех компьютеров, кроме компьютера с IP‑адресом 111.111.111.111. Также запрещена регистрация из сети 192.168.2.0

Команды директивы Limit, ограничивающие права доступа Таблица 11.6

Команда

Описание

LOGIN

Ограничивает регистрацию

WRITE

Ограничивает запись

READ

Ограничивает чтение

STOR

Ограничивает прием файлов

Листинг 11.10. Пример блока Limit

11.2.3. Файл. ftpaccess

Для конфигурирования отдельного каталога может также использоваться файл. ftpaccess, который расположен в этом каталоге. В нем содержатся такие же директивы, что и в файле proftpd. conf, но файл. ftpaccess имеет приоритет перед файлом proftpd. conf.

Категория: Настройка FTP | Просмотров: 498 | Добавил: spb_serge | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: