Поиск по разделу помощи:
Расширенный поиск
Главная / Помощь по услуге / Виртуальный хостинг (панель ХЦ) / FTP

Как ограничить доступ к файлам по протоколу FTP?


На виртуальном хостинге с панелями управления ХЦ и Plesk для разграничения доступа по протоколу FTP можно использовать файл .ftpaccess. На cPanel-хостинге файлы .ftpaccess не поддерживаются.

Данный файл можно разместить на хостинге, воспользовавшись доступом по протоколам SSH или SFTP.
Загрузить или отредактировать файл .ftpaccess, используя доступ по FTP, не представляется возможным. 

Действие файла .ftpaccess распространяется рекурсивно на все содержимое директории, в которой он размещен.

Внимание! Файл .ftpaccess не влияет на доступ по протоколу SSH.

Обычно файл .ftpaccess имеет следующий вид:

<Limit параметр>
директивы
...
</Limit>


Директива Limit определяет блок, в котором задаются настройки прав на выполнение определенных команд. Параметрами данной директивы могут быть стандартные FTP-команды или группы:

  • ALL — все команды FTP;
  • WRITE — операции записи (APPE, DELE, MKD, RMD, RNTO, STOR, STOU, XMKD, XRMD);
  • READ — операции чтения (RETR, SIZE);
  • DIRS — операции с директориями (CDUP, CWD, LIST, MDTM, NLST, PWD, RNFR, STAT, XCUP, XCWD, XPWD).


Внутри блока Limit используются следующие директивы:

  • Allow/Deny
    Директивы Allow и Deny определяют, следует ли разрешить или запретить выполнение операций с указанных IP-адресов или сетей.
    Например:
    Allow from 89.111.176.84 – разрешить доступ с IP-адреса  89.111.176.84.
    Deny from 89.111.176.0/24 – запретить доступ из сети 89.111.176.0/24.
    Allow from All – разрешить доступ со всех IP-адресов.
    Deny from All – запретить доступ со всех IP-адресов.
  • AllowAll
    Директива разрешает доступ к блоку; используется по умолчанию.
  • DenyAll
    Запрещает доступ.
  • Order
    Директива Order задает порядок просмотра директив Allow и Deny.
    При установке порядка Order allow,deny доступ предоставляется, если это явно разрешено директивой Allow или если доступ не запрещен директивой Deny.
    В случае установки порядка Order deny,allow доступ запрещается, если это указано директивой Deny или если доступ не разрешен директивой Allow.
  • AllowOverwrite
    Директива AllowOverwrite off запрещает перезапись существующих файлов.


Рассмотрим несколько примеров.

  1. Разрешить доступ только с двух определенных IP-адресов:
<Limit All>
Order allow,deny
Allow from 89.111.176.84
Allow from 89.111.176.85
Deny from all
</Limit>
  1. Запретить запись в директорию:

<Limit WRITE>
DenyAll
</Limit>


Необходимо помнить, что действие директив в файле .ftpaccess распространяется также и на все поддиректории.
Для разрешения записи в какой-либо поддиректории необходимо создать в ней отдельный файл .ftpaccess с директивами, разрешающими запись файлов.