Устанавливаем FTP сервер на Debian
Здравствуйте, уважаемые подписчики и читатели!
В этой статье я покажу Вам, как установить FTP-сервер на Debian 11. Для тех из вас, кто не знал, FTP-сервер vsftpd является одним из самых надежных приложений среди профессионалов Linux.
Прежде чем мы установим какое-либо программное обеспечение, важно убедиться, что ваша система обновлена, выполнив следующие команды в терминале:
sudo apt update
sudo apt upgrade
Установим дополнительное программное обеспечение
sudo apt install gnupg2
По умолчанию Vsftpd доступен в базовом репозитории Debian 11. Теперь выполните следующую команду ниже, чтобы установить Vsftpd в вашу систему Debian:
sudo apt install vsftpd
После завершения установки включите Vsftpd (для автоматического запуска при загрузке системы), запустите веб-сервер и проверьте состояние с помощью приведенных ниже команд:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
sudo systemctl status vsftpd
Теперь создайте пользователя FTP для файла. Локальным пользователям, указанным в этом файле, предоставляется разрешение на доступ к FTP-серверу:vsftp.userlist
sudo adduser webuser
Далее нам нужно добавить пользователя webuser в список пользователей vsftpd:
echo “webuser” | sudo tee -a /etc/vsftpd.userlist
После этого создайте каталог FTP:
sudo mkdir -p /home/webuser/ftp_directory
sudo chown nobody:nogroup /home/webuser/ftp_directory
sudo chmod a-w /home/webuser/ftp_directory
Затем создайте каталог, в который можно загружать файлы, и передайте право собственности пользователю sohan, выполнив команду:
sudo mkdir -p /home/webuser/ftp_directory/ftp_data
sudo chown webuser:webuser /home/webuser/ftp_directory/ftp_data
cd /home/webuser/ftp_directory/
chmod -R 777 ftp_data
Теперь мы должны продолжить и отредактировать основной файл конфигурации :/etc/vsftpd.conf
nano /etc/vsftpd.conf
Измените следующий файл:
listen=NO listen_ipv6=YES anonymous_enable=NO write_enable=YES local_umask=022 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 user_sub_token=$USER local_root=/home/$USER/ftp_directory userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO
Перезапустите сервер, чтобы изменения вступили в силу:
sudo systemctl restart vsftpd
Чтобы обеспечить безопасное FTP-соединение с сервером, нам необходимо зашифровать сервер с помощью SSL-сертификата:
sudo mkdir /etc/cert
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/cert/vsftpd.pem -out /etc/cert/vsftpd.pem
Затем отредактируйте файл и внесите некоторые изменения:vsftpd.conf
nano /etc/vsftpd.conf
Добавьте следующую строку:
rsa_cert_file=/etc/cert/vsftpd.pem rsa_private_key_file=/etc/cert/vsftpd.pem ssl_enable=YES allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO require_ssl_reuse=NO ssl_ciphers=HIGH
Сохраните и выйдите из файла, затем перезапустите Vsftpd, используя следующую команду:
sudo systemctl restart vsftpd
Чтобы проверить FTP-соединение, вам необходимо установить FTP-клиент в той же или отдельной системе, откуда вы хотите получить доступ к FTP-серверу. В моём случае я использую FileZilla в качестве FTP-клиента.
Поздравляем! Вы успешно установили FTP-сервер .