15.2.3. Разграничение доступа к серверу ProFTP

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

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

<Directory incoming>

 <Limit WRITE>

  AllowAll

 </Limit>

 <Limit READ>

  DenyAll

 </Limit>

</Directory>

Директива 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

<Limit LOGIN>

 DenyAll

 AllowUser den

 Deny from 111.111.111.111

 Deny from 192.168.2.

</Limit>

Для конфигурирования отдельного каталога может также использоваться файл .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

<Anonymous /var/ftp>

 User ftp

 Group ftp

 UserAlias anonymous ftp

 RequireValidShell off

 <Directory *>

  <Limit WRITE>

   DenyAll

  </Limit>

  <Limit STOR>

   AllowAll

  </Limit>

 </Directory>

</Anonymous>

Директивы User и Group задают имя пользователя для анонимного доступа. В обоих случаях применяется имя ftp. Для имени

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату