Перейти к основному контенту

Как установить FTP-сервер на Ubuntu

Попробуйте настроить FTP-сервер по нашей инструкции — мы расскажем, как установить FTP-сервер на Ubuntu 20.04, настроить сервер vsftpd и подключить защищённое FTP-соединение простым способом. Инструкция также подойдет для дистрибутива Ubuntu версий 18.04 и 16.04.

С FTP-сервером можно работать благодаря одному из базовых протоколов интернета — FTP. В операционной системе Ubuntu можно подключить такие популярные FTP-серверы, как: proftpd, wu-ftpd, pureftpd и vsftpd. Мы рассмотрим, как установить vsftpd Ubuntu — один из самых быстрых и безопасных серверов.

Чтобы начать работу с FTP-сервером vsftpd, установите и настройте его. Затем подключите защищённое соединение SSL/TLS, назначьте доступ FTP-пользователям и настройте брандмауэр. В инструкции ниже мы подробно описали каждый из этих этапов.

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

Чтобы установить на Ubuntu server vsftpd:

  1. 1.

    Обновите пакеты apt:

    sudo apt update
  2. 2.

    Установите FTP-сервер vsftpd:

    sudo apt install vsftpd
  3. 3.

    Проверьте работоспособность сервера:

    sudo systemctl status vsftpd

    Если сервер активен, в выводе появится надпись active:

    вывод FTP server Ubuntu

  4. 4.

    Добавьте службу в автозагрузку:

    sudo systemctl enable vsftpd

Готово, вы установили FTP-сервер vsftpd.

Настройка FTP-сервера на Ubuntu

Настройте сервер vsftpd через файл конфигурации — /etc/vsftpd.conf. Для этого:

  1. 1.

    Скопируйте оригинальный файл с настройками в файл /etc/vsftpd.conf.original:

    sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original
  2. 2.

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

    sudo nano /etc/vsftpd.conf
  3. 3.

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

    • Настройте сервер для запуска:
    listen=YES

    и

    listen_ipv6=NO
    • Настройте доступ к FTP-серверу, чтобы разрешить вход только локальным пользователям:
    anonymous_enable=NO

    и

    local_enable=YES
    • Разрешите пользователям работать в файловой системе (загружать и удалять файлы):
    write_enable=YES
    • Назначьте права для новых файлов:
    local_umask=022
    • Настройте сообщение о выборе каталога после регистрации:
    dirmessage_enable=YES
    • Разрешите серверу использовать локальный часовой пояс:
    use_localtime=YES
    • Настройте запись всех передач файлов в лог:
    xferlog_enable=YES
    • Настройте порт 20 для передачи данных:
    connect_from_port_20=YES
    • Задайте путь хранения логов и их формат:
    xferlog_file=/var/log/vsftpd.log

    и

    xferlog_std_format=YES
    • Откройте пользователям доступ только к своим домашним каталогам командами:
    chroot_local_user=YES

    и

    allow_writeable_chroot=YES
    • Настройте возможность использования PAM-сервиса:
    pam_service_name=vsftpd
    • Разрешите аутентификацию на FTP-сервере только тем пользователям, которые указаны в файле userlist с помощью команд:
    userlist_enable=YES
    userlist_file=/etc/vsftpd.userlist

    и

    userlist_deny=NO
  4. 4.
    Сохраните и закройте файл сочетанием клавиш Ctrl+X и Y.

Готово, вы настроили FTP-сервер.

Подключение защищенного соединения SSL/TLS

Для настройки защищённой FTP-передачи с помощью SSL/TLS нужен SSL-сертификат. Вы можете использовать уже существующий сертификат или создать самоподписанный. Чтобы настроить защищенное соединение через самоподписанный SSL-сертификат:

  1. 1.

    Сгенерируйте SSL-сертификат. Этой командой будет создан сертификат сроком действия 10 лет и 2048-битный закрытый ключ. Они будут храниться в файле vsftpd.pem.

    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
  2. 2.

    Откройте конфигурационный файл vsftpd.conf:

    sudo nano /etc/vsftpd.conf
  3. 3.

    Найдите директивы rsa_cert_file и rsa_private_key_file. Присвойте им значения пути к файлу vsftpd.pem командами:

    rsa_cert_file=/etc/ssl/private/vsftpd.pem

    и

    rsa_private_key_file=/etc/ssl/private/vsftpd.pem
  4. 4.

    Разрешите использование протокола SSL:

    ssl_enable=YES
  5. 5.
    Сохраните и закройте файл сочетанием клавиш Ctrl+X и Y.
  6. 6.

    Перезапустите сервер:

    sudo systemctl restart vsftpd

Готово, вы настроили защищённое соединение.

Создание FTP-пользователей и предоставление им доступа

Если у вас уже созданы FTP-пользователи, дайте им доступ:

  1. 1.

    Добавьте имена FTP-пользователей в созданный ранее файл /etc/vsftpd.userlist. Для этого откройте файл командой:

    sudo nano /etc/vsftpd.userlist

    Затем введите имена пользователей — в одной строке вводите одно имя.

  2. 2.
    Сохраните и закройте файл сочетанием клавиш Ctrl+X и Y.

Готово, вы назначили доступ FTP-пользователям.

Если таких пользователей ещё нет, сначала создайте их:

  1. 1.

    Создайте нового пользователя:

    sudo useradd user
  2. 2.

    Назначьте ему пароль:

    sudo passwd user

    Где user — имя пользователя.

  3. 3.

    Предоставьте FTP-доступ пользователю. Добавьте его имя в файл /etc/vsftpd.userlist:

    echo "user" | sudo tee -a /etc/vsftpd.userlist

Готово, вы создали FTP-пользователей и назначили им доступ.

Настройка работы брандмауэра

Если вы используете брандмауэр (firewall) UFW, разрешите FTP-трафик. Для этого:

  1. 1.

    Откройте порты 20, 21, 22, 990 и зарезервируйте диапазон портов 40000-50000 командами:

    sudo ufw allow 20/tcp
    sudo ufw allow 21/tcp
    sudo ufw allow OpenSSH
    sudo ufw allow 990/tcp
    sudo ufw allow 40000:50000/tcp
  2. 2.

    Перезагрузите UFW:

    sudo ufw disable
    sudo ufw enable
  3. 3.

    Проверьте работоспособность UFW:

    sudo ufw status

Готово, вы открыли брандмауэр для работы по FTP. Теперь вы можете проверить соединение через FTP-клиент FileZilla и приступить к работе с сервером.

Итак, вы узнали, каким способом можно быстро установить и настроить защищенный фтп-сервер на Убунту.

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 2 из 4