Как настроить FTP-сервер на Linux (VSFTPD, Ubuntu, CentOS)

    Команда Simple-Server
    13.03.2026
    10 мин

    Введение

    FTP (File Transfer Protocol) — это классический протокол передачи файлов, который широко используется для загрузки и управления файлами на удаленных серверах. В этом руководстве мы рассмотрим процесс установки и настройки FTP-сервера на Linux.

    Установка FTP-сервера

    Для установки FTP-сервера в зависимости от дистрибутива Linux можно использовать разные пакеты.

    Установка VSFTPD (Very Secure FTP Daemon) — рекомендуется

    sudo apt update && sudo apt install vsftpd -y

    Блок ниже — только для CentOS/AlmaLinux/Rocky. На Ubuntu/Debian его не выполняйте.

    sudo yum install vsftpd -y

    После установки сервис нужно запустить и добавить в автозагрузку:

    sudo systemctl start vsftpd sudo systemctl enable vsftpd

    Базовая настройка VSFTPD

    Открываем конфигурационный файл:

    sudo nano /etc/vsftpd.conf

    Изменяем или добавляем следующие параметры:

    anonymous_enable=NO # Запрещаем анонимный доступ local_enable=YES # Разрешаем локальным пользователям вход write_enable=YES # Разрешаем запись chroot_local_user=YES # Ограничиваем доступ пользователей их домашним каталогом allow_writeable_chroot=YES # На Ubuntu 22.04 нужен вместе с chroot_local_user=YES

    Сохраняем и перезапускаем FTP-сервер:

    sudo systemctl restart vsftpd

    Создание FTP-пользователя

    Создадим нового пользователя для FTP-доступа:

    sudo adduser --disabled-password --gecos "" ftpuser sudo passwd ftpuser # задайте пароль вручную

    Назначим правильные права доступа:

    sudo chown ftpuser:ftpuser /home/ftpuser

    Открытие портов в брандмауэре

    Разрешаем трафик для FTP в iptables или firewalld.

    Ubuntu/Debian (UFW)

    sudo ufw allow 20/tcp sudo ufw allow 21/tcp sudo ufw allow 990/tcp

    CentOS/RHEL (firewalld)

    Блок ниже — только для CentOS/AlmaLinux/Rocky. На Ubuntu/Debian его не выполняйте.

    sudo firewall-cmd --permanent --add-service=ftp sudo firewall-cmd --reload

    Проверка работы FTP

    Проверить доступность FTP-сервера можно с помощью команды:

    sudo apt install ftp -y # или: sudo apt install lftp -y ftp localhost

    Либо с удаленного компьютера:

    ftp your_server_ip

    Дополнительные настройки

    Ограничение пользователей в определенной директории

    Создаем каталог для FTP и меняем владельца:

    sudo mkdir -p /srv/ftp sudo chown ftpuser:ftpuser /srv/ftp

    Редактируем конфигурацию:

    local_root=/srv/ftp

    Включение пассивного режима FTP

    Добавляем в /etc/vsftpd.conf:

    pasv_enable=YES pasv_min_port=40000 pasv_max_port=50000

    Открываем указанный диапазон портов:

    sudo ufw allow 40000:50000/tcp

    Заключение

    Теперь ваш FTP-сервер готов к работе. Вы можете подключаться к нему с любого FTP-клиента, например, FileZilla. Если возникли проблемы, проверьте логи vsftpd с помощью:

    sudo journalctl -u vsftpd --no-pager

    💡 Рекомендация: Для удобного и безопасного управления файлами рекомендуем использовать SFTP вместо FTP, так как он работает поверх SSH и шифрует данные.

    VPS для FTP-сервера

    Надёжный VPS для запуска собственного FTP-сервера с гарантией uptime 99.9%.

    StarterVDS

    490

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация или чистый VPS без панели?

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны