Главная

 / 

...

 / 

Поддержка

 / 

Часто задаваемые вопросы

 / 

Протокол передачи файлов FTP (использование файла .ftpaccess)


FTP - сетевой протокол, предназначенный для передачи файлов. Позволяет просматривать содержимое каталогов, скачивать файлы с сервера и загружать на сервер.

В качестве ftp сервера на нашем хостинге используется proftpd. Это позволяет изменять некоторые настройки с помощью файлов .ftpaccess. Директивы, заданные в файле .ftpaccess, действуют только на каталог, в котором он располагается, и на все его подкаталоги. Большинство этих директив направлено на ограничение доступа и повышение уровня безопасности. Все директивы, которые могут быть использованы в .ftpaccess, вы можете найти на странице:
http://www.proftpd.org/docs/directives/linked/config_ref_context_ftpaccess.html.

На нашем хостинге действуют следующие ограничения:
Максимальное количество соединений под одним логином - 10
Максимальное количество соединений с одного IP - 10

Часто задаваемые вопросы по настройке файла .ftpaccess 

1. В результате неудачного редактирования файла .ftpaccess полностью пропал доступ к хостингу по протоколу ftp. Как это можно исправить?


Если доступ к .ftpaccess случайно или намеренно был запрещен, то данный файл можно отредактировать через файловый менеджер в панели управления или используя ssh.

2. Каким образом можно ограничить выполнение ftp команд с определенных IP адресов?


Это можно сделать при помощи директив Limit, Allow, Deny, Order, AllowAll, DenyAll.

Пример 1. Полностью запрещаем доступ всем, кроме клиентов с хоста 192.0.2.78 и из сети 192.0.3.0/24

<Limit ALL>
  Allow 192.0.2.78
  Allow 192.0.3.0/24
  DenyAll
</Limit>

Пример 2. Запрещаем любую запись для всех, кроме клиентов с IP адресами 192.0.2.78 и 192.0.2.77:

<Limit WRITE>
  Allow 192.0.2.78,192.0.2.77
  DenyAll
</Limit>

3. Каким образом можно скрыть определенные файлы?


С помощью директивы HideFiles можно скрывать файлы, названия которых удовлетворяют заданному регулярному выражению:

HideFiles [!]regexp|"none" ["user"|"group" expression]

Пример 1. Скрыть файлы .ftpaccess и .htaccess для всех, кроме пользователя user0:

 HideFiles ^\.(ftpaccess|htaccess)$ user !mysite0

Пример 2. Скрыть конфигурационные файлы:

HideFiles \.conf$

4. Можно ли запретить изменение определенных файлов?


Директивы PathDenyFilter/PathAllowFilter позволяют запретить или разрешить модификацию файлов, определяемых регулярным выражением. Правила применяются к ftp командам DELE, MKD/XMKD, RMD/XRMD, RNFR, RNTO, STOR, STOU, а также к командам SITE CHGRP и SITE CHMOD. Если имя файла удовлетворяет регулярному выражению в PathDenyFilter, то указанные выше операции над файлом запрещаются, в противном случае - разрешаются. Если имя файла удовлетворяет регулярному выражению в PathAllowFilter, то операции над этим файлом разрешаются, в противном случае - запрещаются. Если используются обе директивы, то первой проверяется PathAllowFilter:

PathDenyFilter regexp

или

PathAllowFilter regexp

Пример 1. Запрещаем модификацию файлов .htaccess и .ftpaccess:

PathDenyFilter ^\.(ftpaccess|htaccess)$

5. Как изменить права доступа по умолчанию для загружаемых файлов и каталогов?


Необходимо воспользоваться директивой Umask:
Umask [ маска для файлов [ маска для каталогов ]]

Пример 1. Создавать файлы с правами 444:

Umask 222

Директивы .ftpaccess 

Limit


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

  • ALL - все ftp команды
  • DIRS - ftp команды: CDUP, CWD, LIST, MDTM, NLST, PWD, RNFR, STAT, XCUP, XCWD, XPWD
  • LOGIN - ftp логин
  • READ - ftp команды: RETR, SIZE
  • WRITE - ftp команды: APPE, DELE, MKD, RMD, RNTO, STOR, STOU, XMKD, XRMD

Формат записи:

<Limit команда1 [ команда2 ...]>
</Limit>

Allow/Deny


Директивы задают список хостов или сетей, для которых соответственно разрешено/запрещено выполнение команды:

Allow|Deny ["from"] "all"|"none"|хост|сеть[,хост|сеть[,...]]

Примечание: указывайте в директивах Allow/Deny IP адрес, а не имя хоста.

Order


Директива Order задает последовательность, в которой проверяются директивы Allow и Deny. По умолчанию, порядок выполнения: allow, deny, то есть сначала проверяются директивы Allow. Если директива Allow явно задает разрешение для хоста, то директивы Deny не проверяются, и ftp-клиенту разрешается выполнение команд. Если директива Allow явно не задает разрешение для хоста, то проверяется директива Deny, и если хост ей удовлетворяет, то выполнение команд запрещается, в противном случае - разрешается. Если директива Order определяет порядок: deny, allow, то сначала проверяются директивы Deny. Если к хосту применяются какие-либо запреты, то директива Allow не проверяется, и ftp-клиенту запрещается выполнение команд. Если ничего не запрещается, то проверяются директивы Allow. Если Allow явно задает разрешение для хоста, то ftp-клиенту разрешается выполнение команд, в противном случае - запрещается.

Формат записи:

Order allow,deny|deny,allow

AllowAll


Директива явно разрешает доступ к блоку <Limit>, используется по умолчанию.


DenyAll


Запрещает доступ, это аналог следующей комбинации директив:

Order Deny,Allow
Deny from all

DeleteAbortedStores


Удалять файлы, которые были загружены не до конца:

DeleteAbortedStores on

ListOptions


Скрывать файлы с именами, начинающимися с точки:

ListOptions "+a"

AllowOverwrite


Запретить перезапись существующих файлов:

AllowOverwrite off

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

Тогда напишите нам!

*Ваш e-mail:

 Номер вашего Лицевого счета:

 Категория вопроса:

*Вопрос:

*Введите отображаемый код: