This page is hosted for free by zzz.com.ua, if you are owner of this page, you can remove this message and gain access to many additional features by upgrading your hosting to PRO or VIP for just 32.50 UAH.

Linux - ProFTPd сервер

Не работает? Начинай читать инструкцию.

FTP сервер ProFTPd. Настройка ftp сервера и файла .ftpaccess

После установки пакета FTP сервера ProFTPd, пришлось немного его настроить. Практически вся настройка ProFTPd, делается в двух файлах - proftpd.conf и .ftpaccess

Предлагаю ознакомиться с предложениями моих партнёров

Ограничить выполнение 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>

Можно скрыть определенные файлы.

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

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

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

HideFiles ^\.(ftpaccess|htaccess)$ user

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

HideFiles \.conf$

Запретить изменение определенных файлов

Директивы 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)$

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

Необходимо воспользоваться директивой 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

Предлагаю ознакомиться с предложениями моих партнёров