Использование файла .ftpaccess на хостинге

Для ftp-сервиса предусмотрено управление доступом с помощью файла .ftpaccess. Данный файл создаётся в директории, доступ к которой требуется изменить. Действие директив в файле .ftpacces распространяется на директорию, в которой он размещен, и на все вложенные директории и файлы.

В общем случае структура .ftpaccess состоит из одной или нескольких секций Limit и выглядит следующим образом:

<Limit параметр>
...
список директив

...
</Limit>

Параметрами в данном случае могут быть ALL, DIRS, LOGIN, READ, WRITE, либо отдельные 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.

Директивы:

  • Allow from | Deny from — разрешить | запретить, со значениями all | none | хост | сеть;
  • Order — задает последовательность выполнения директив Allow | Deny, может принимать значения allow, deny или deny, allow
    • allow, deny — проверяются сначала директивы Allow, если совпадение найдено, то доступ разрешается, иначе проверяются директивы Deny и если совпадение найдено, то доступ запрещается, иначе доступ предоставляется;
    • deny, allow — проверяются сначала директивы Deny, если совпадение найдено, то доступ запрещается, иначе проверяются директивы Allow и если совпадение найдено, то доступ предоставляется;
       
  • AllowAll | DenyAll — разрешить все | запретить все;
  • DeleteAbortedStores on | off — удаление файлов, которые загружены не до конца, да | нет;
  • ListOptions — опции показа директорий;
  • AllowOverwrite on | off — разрешает перезаписывать файлы;
  • AllowUser | DenyUser — разрешить | запретить пользователя(ей), список пользователей перечисляется через запятую;
  • AllowGroup | DenyGroup — разрешить | запретить группы пользователей, список групп перечисляется через запятую.

Настройка доступа с помощью Limit

Чтобы запретить всем пользователям доступ по ftp, укажите в .ftpaccess следующее:

<Limit ALL>
Deny from all
</Limit>

Если вы хотите разрешить доступ только с конкретного ip-адреса:

<Limit ALL>
Allow from xx.xx.xx.xx
Deny from all
</Limit>

Где xx.xx.xx.xx — необходимый IP-адрес.

В обратном случае, если вы хотите запретить доступ с конкретного адреса:

<Limit ALL>
Order deny, allow
Allow from all
Deny from xx.xx.xx.xx
</Limit>

Кроме того, можно ограничить права отдельному пользователю ftp. Для того, чтобы запретить запись для пользователя login_ftp, где login — идентификатор вашей услуги хостинга, используйте в .ftpaccess следующие директивы:

<Limit WRITE>
DenyUser login_ftp
</Limit>

Другие директивы .ftpaccess

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

DeleteAbortedStores on

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

ListOptions "+a"

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

AllowOverwrite off

Всё ещё остались вопросы?