FTP
Общие сведения
Инструкция по настройке FTP через vsftpd
https://routerus.com/how-to-setup-ftp-server-with-vsftpd-on-ubuntu-20-04/?ysclid=lirub96cbf661879171
Дополнительная информация по настройке(на английсокм)
https://www.ubuntu-server.com/22-04/how-to-setup-ftp-server-with-vsftpd-on-ubuntu-22-04/
Если у вас возникают проблемы при запуске сервиса попробуйте полностью переустановить командой:
sudo apt-get --purge remove vsftpd
Мой конфиг файл(без шифрования и настройки папок пользователя) не забывайте про проброс портов на роутере
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
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to blah FTP service.
chroot_local_user=YES
allow_writeable_chroot=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
utf8_filesystem=YES
pasv_min_port=40000
pasv_max_port=50000
Открыть порты в ufw
sudo ufw allow 40000:50000/tcp
Ручная смена кодировки в Filezilla
https://serfery.ru/kompyuternaya-gramotnost/iyeroglify_v_filezilla_v_imenakh_faylov-kak_izmenit_kodirovku/?ysclid=lirzroji9555876526
Дружим с nginx
Возникла идея создать пользователя, перенести его корневую папку в /var/www и запустить его в группу www-data, однако эта папка создана root из группы root, что вполне опасно, поскольку подключившись к серверу через ssh данный пользователь обладает самыми большими правами. следовательно пришлось сменить права доступа рекурсивно командой:
sudo chgrp -R www-data /var/www/*
sudo find /var/www -type f -exec chmod 664 {}
sudo find /var/www -type d -exec chmod 775 {}
sudo find /var/www -type d -exec chmod g+s {}
Далее я создал пользователя и прописал ему домашнюю папку прописываю в var/www:
sudo useradd uftp -d /var/www
sudo passwd uftp
В результате все созданные мной файлы в данном каталоге будут работать, однако сам каталог и папки я не смогу изменить поскольку они созданы другим пользователем.
Остаётся лишь запретить пользователю доступ к ssh, для этого прописываем такую команду:
sudo nano /etc/ssh/sshd_config
В файле добавляем строчку:
DenyUsers uftp
После чего перезагружаем ssh
sudo systemctl restart sshd
возможно понадобиться добавить пользователя в группу www-data



