Как установить и настроить VSFTPD в Ubuntu 20.04 | 18.04
Это краткое руководство показывает студентам и новым пользователям, как установить FTP-сервер с помощью VSFTPD в Ubuntu 20.04 | 18.04.
Протокол FTP — один из самых простых способов передачи файлов между сервером и клиентскими компьютерами, однако он по своей сути небезопасен в своей стандартной форме.
В системах Linux, включая Ubuntu, доступно множество FTP-серверов с открытым исходным кодом. Есть ProFTPd, PureFTPD, VSFTPD и т. Д.
В этом посте показано, как настроить FTP с помощью VSFTPD (Very Secure Ftp Daemon).
Хотя этот пост протестирован на Ubuntu 20.04, он также должен применяться к другим версиям Ubuntu и большинству систем Linux.
Чтобы начать установку и настройку VSFTPD, выполните следующие действия:
Шаг 1. Установите VSFTPD
Чтобы установить VSFTPD в Ubuntu, выполните следующие команды.
sudo apt update sudo apt-get install vsftpd
После установки VSFTPD приведенные ниже команды можно использовать для остановки, запуска и включения службы сервера, чтобы она всегда запускалась при загрузке сервера
sudo systemctl stop vsftpd.service sudo systemctl start vsftpd.service sudo systemctl enable vsftpd.service
После установки вы можете проверить статус 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 Sun 2020-05-17 17:57:40 CDT; 17s ago
Main PID: 2916 (vsftpd)
Tasks: 1 (limit: 4657)
Memory: 584.0K
CGroup: /system.slice/vsftpd.service
└─2916 /usr/sbin/vsftpd /etc/vsftpd.conf
May 17 17:57:40 ubuntu2004 systemd[1]: Starting vsftpd FTP server...
May 17 17:57:40 ubuntu2004 systemd[1]: Started vsftpd FTP server.
Шаг 2. Настройка VSFTPD
После установки сервера вы найдете его основной файл конфигурации по адресу /etc/vsftpd.conf. Многие из настроек, которые вы настроите, хорошо документированы там.
Выполните приведенные ниже команды, чтобы открыть его основной файл конфигурации.
sudo nano /etc/vsftpd.conf
Затем начните настраивать параметры, подходящие для вашей среды.
1. Доступ по FTP
По умолчанию доступ к FTP предоставляется только анонимному пользователю. Чтобы предоставить доступ только локальным пользователям, измените строку в файле, чтобы она соответствовала настройкам ниже:
anonymous_enable=NO local_enable=YES
Чтобы разрешить локальным пользователям загружать файлы на FTP-сервер и предоставить им доступ только для загрузки в их домашние папки, отредактируйте следующие строки:
write_enable=YES chroot_local_user=YES allow_writeable_chroot=YES
Продолжите ниже, чтобы увидеть больше конфигураций.
2. Ограничения пользователей
Если вы не хотите, чтобы все локальные пользователи с учетной записью в системе загружали файл, вы можете ограничить доступ только для пользователей, которые находятся в разрешенном списке.
Эта опция допускает только тех пользователей, которые явно указаны в файле.
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO
Продолжайте ниже, чтобы увидеть больше конфигураций
3. Безопасность с помощью сертификатов SSL
Если вы хотите обеспечить зашифрованную передачу файлов FTP, вам необходимо включить сертификаты SSL в вашу настройку.
Вы можете использовать существующие сертификаты или создавать самозаверяющие.
Для самозаверяющих сертификатов выполните следующие команды:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
Команды будут генерировать файлы самозаверяющих сертификатов, которые вы можете использовать в своей конфигурации.
Снова откройте файл конфигурации VSFTPD по умолчанию и добавьте строки ниже, ссылающиеся на файлы сертификатов выше.
rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem ssl_enable=YES
Это должно зашифровать передачу файла на сервер.
На этом этапе ваш файл конфигурации должен выглядеть примерно так:
listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES write_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem ssl_enable=YES user_sub_token=$USER local_root=/home/$USER/ftp userlist_enable=YES userlist_file=/etc/vsftpd.user_list userlist_deny=NO
Сохраните изменения и перезапустите сервер.
sudo systemctl restart vsftpd
Продолжаем настройку.
4. Настройте FTP-серверы.
При добавлении новых пользователей FTP просто создайте их папки FTP и добавьте их в файл, чтобы разрешить доступ к серверу.
sudo mkdir -p /home/username/ftp/upload sudo chmod 550 /home/username/ftp sudo chmod 750 /home/username/ftp/upload sudo chown -R username: /home/username/ftp
Замените имя пользователя фактическим именем учетной записи пользователя.
Затем добавьте пользователей в разрешенный список.
echo "username" | sudo tee -a /etc/vsftpd.user_list
Шаг 3. Доступ к FTP-серверу VSFTPD
Теперь возьмите свой любимый FTP-клиент (FileZilla) и настройте новый сайт на своем сайте, управляйте и используйте протокол FTP с шифрованием с явным FTP через TLS… Введите свое имя пользователя и пароль и подключитесь.
Вам будет предложено ввести сертификат … принять сертификат и продолжить. Вы можете установить флажок в нижней части страницы, чтобы доверять сертификату, чтобы не получать подсказки в будущем.
Теперь вы должны безопасно передавать файлы через SSL/TLS.
Вывод:
В этом посте показано, как установить и настроить FTP-сервер VSFTPD в Ubuntu 20.04 | 18.04. Если вы обнаружите какую-либо ошибку выше, пожалуйста, используйте форму комментария ниже, чтобы сообщить.