Я считаю необходимым подробно рассмотреть блочную директиву Limit. Эта директива определяет вид и параметры доступа к тому или иному каталогу. Рассмотрим листинг 15.8.
Листинг 15.8. Пример использования директивы Limit
AllowAll
DenyAll
Директива Directoryопределяет свойства каталога incoming
, а директива Limitзадает вид доступа к этому каталогу. Команда WRITE директивы Limitвместе с директивой AllowAllразрешает всем пользователям записывать информацию в этот каталог. Команда READ директивы Limitзадает ограничение на чтение этого каталога. В рассматриваемом случае чтение запрещено для всех пользователей.
Кроме команд WRITE и READ, в директиве Limitможно задавать команды STOR и LOGIN (таблица 15.6).
Команды директивы Limit, ограничивающие права доступа Таблица 15.6
Команда |
Назначение |
LOGIN |
Ограничивает регистрацию |
WRITE |
Ограничивает запись |
HEAD |
Ограничивает чтение |
STOR |
Ограничивает прием файлов |
В блоке Limitможно задавать директивы Allow, AllowAll, AllowGroup, AllowUser, Deny, DenyAll, DenyUser. Например, в листинге 15.9 запрещается доступ всем пользователям, кроме den. Пользователь den может регистрироваться со всех компьютеров, кроме компьютера с IP-адресом 111.111.111.111. Также запрещена регистрация из сети 192.168.2.0
Листинг 15.9. Пример блока Limit
DenyAll
AllowUser den
Deny from 111.111.111.111
Deny from 192.168.2.
Для конфигурирования отдельного каталога может также использоваться файл .ftpaccess
, который расположен в этом каталоге. В нем содержатся такие же директивы, что и в файле proftpd.conf
, но файл .ftpaccess
имеет приоритет перед файлом proftpd.conf
.
Организация анонимного FTP-сервера
Анонимный FTP-сервер можно построить с помощью wu-ftpd, установив пакет anonftp. Этот пакет нельзя использовать вместе с сервером ProFTPD. Пакет anonftp поставляется в составе большинства дистрибутивов.
Сейчас рассмотрим, как организовать анонимный FTP-сервер с помощью сервера ProFTPD. Для организации анонимного доступа сервер ProFTPDимеет директиву Anonymous. При этом в блок Anonymousнужно поместить директивы, конфигурирующие анонимную службу. В самой же директиве Anonymous необходимо указать каталог, который будет использоваться в качестве корневого для анонимной службы. Сервер ProFTPD выполнит для этого каталога команду chroot, превращая этот каталог в корневой для удаленного пользователя. Перед тем, как сделать это, сервер ProFTPD прочитает все необходимые ему файлы конфигурации из реального каталога /etc
.
При анонимной регистрации по умолчанию в качестве имени пользователя указывается anonymous, а вместо пароля — адрес электронной почты пользователя. Вы же можете изменить параметры анонимного доступа, добавив проверку пароля для анонимного пользователя с помощью директивы AnonRequirePassword. В следующем примере представлен типичный блок Anonymous, подходящий для большинства анонимных серверов (см. листинг 15.10).
Листинг 15.10. Типичный блок 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).
Читать дальше
Конец ознакомительного отрывка
Купить книгу