Skip to content
Vsftpd

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

Если установка проходит под root правами, то sudo применять ни к чему.

Для начала обновляем пакеты:

sudo apt update

Инсталлируем FTP-сервер vsftpd:

sudo apt install vsftpd

Проверьте корректность установки

sudo systemctl status vsftpd

Если всё хорошо будет примерно так:

* vsftpd.service - vsftpd FTP server
     Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-09-25 16:24:33 MSK; 3h 24min ago
    Process: 2066 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited, status=0/SUCCESS)
   Main PID: 2073 (vsftpd)
      Tasks: 1 (limit: 2317)
     Memory: 1.1M
     CGroup: /system.slice/vsftpd.service
             `-2073 /usr/sbin/vsftpd /etc/vsftpd.conf

Добавляем службу в список автозагрузки:

sudo systemctl enable vsftpd

С установкой всё. Осталось настроить работу vsftpd. Для этого будем редактировать файл /etc/vsftpd.conf

На всякий случай копируем оригинальный файл с настройками.

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

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

sudo nano /etc/vsftpd.conf

Поочерёдно ищем и заменяем или добавляем:

listen=YES

listen_ipv6=NO

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

use_localtime=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

allow_writeable_chroot=YES

pam_service_name=vsftpd

userlist_enable=YES

userlist_file=/etc/vsftpd.userlist

userlist_deny=NO

Настраиваем защищённое SSL/TLS соединение

Генерируем SSL-сертификат:

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

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

sudo nano /etc/vsftpd.conf

Ищем нужные директивы и заменяем их своими путями:

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

Устанавливаем в YES:

ssl_enable=YES

Сохраняем, закрываем.

Перезапускаем vsftpd сервер:

sudo systemctl restart vsftpd

Добавляем FTP пользователя

sudo useradd -s /bin/bash user
По-умолчанию новый пользователь пользуется оболочкой /bin/sh, мы задаём «правильную» -s /bin/bash

Делаем ему пароль:

sudo passwd user

Разрешаем ему доступ и добавляем его имя в список разрешённых:

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

Настраиваем брандмауэр ufw

Открываем порты, команды вводить поочерёдно:

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

Перезагружаем ufw

sudo ufw disable

sudo ufw enable

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

sudo ufw status

Должно быть так

vsftpd

Всё.

Комментариев: 0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Back To Top