Product SiteDocumentation Site

11.3. FTP File Server

FTP (File Transfer Protocol) — один из первых протоколов Интернета (RFC 959 был выпущен в 1985 году!). Он использовался для распространения файлов ещё до появления Интернета (протокол HTTP был создан в 1990 году и формально определён в версии 1.0 в RFC 1945, выпущенном в 1996 году).
Этот протокол позволяет как загружать, так и скачивать файлы; по этой причине он по-прежнему широко используется для развертывания обновлений на веб-сайте, размещённом у вашего интернет-провайдера (или любого другого объекта, размещающего веб-сайты). В этих случаях доступ обеспечивается с помощью идентификатора пользователя и пароля; при успешной аутентификации FTP-сервер предоставляет доступ для чтения и записи к домашнему каталогу этого пользователя.
Другие FTP-серверы в основном используются для распространения файлов для публичного скачивания; Пакеты Debian являются хорошим примером. Содержимое этих серверов извлекается с других, географически удалённых серверов; затем он становится доступным для менее удалённых пользователей. Это означает, что аутентификация клиента не требуется; как следствие, этот режим работы известен как «анонимный FTP». Если быть совершенно точным, клиенты аутентифицируются с именем пользователя anonymous; паролем часто по соглашению является адрес электронной почты пользователя, но сервер его игнорирует.
Многие FTP-серверы доступны в Debian (ftpd(-ssl), proftpd-basic, pure-ftpd и так далее), которые все обеспечивают виртуальный пакет ftp-server. Обратите внимание, что пакет pyftpd был удалён из проекта Debian из-за того, что он больше не поддерживается и несовместим с Python 3. Администраторы Falcot Corp выбрали vsftpd потому что они используют FTP-сервер только для распространения нескольких файлов (включая репозиторий пакетов Debian); поскольку им не нужны расширенные функции, они решили сосредоточиться на аспектах безопасности.
Установка пакета создаёт системного пользователя ftp. Эта учётная запись всегда используется для анонимных FTP-соединений, а её домашний каталог (/srv/ftp/) — это корень дерева, доступный пользователям, подключающимся к этой службе. Конфигурация по умолчанию (в /etc/vsftpd.conf) требует некоторых изменений, чтобы сделать большие файлы доступными для публичной загрузки: необходимо включить анонимный доступ (anonymous_enable=YES) и отключить доступ только для чтения локальных пользователей (local_enable=NO). Последнее особенно важно, поскольку протокол FTP не использует никакого шифрования, и пароль пользователя может быть перехвачен.
Доступ к ресурсам FTP и FTPS можно получить с помощью различных клиентов с графическим интерфейсом пользователя или без него, а также их можно смонтировать локально с помощью команды curlftpfs из одноимённого пакета.