Pure-FTP довольно легкий в настройке и по этому был выбран мной в качестве основного ПО.
Установка
sudo apt install pure-ftpd
Запустим и добавим в автозапуск
sudo systemctl start pure-ftpd
sudo systemctl enable pure-ftpd
Теперь включаем jail
sudo nano /etc/pure-ftpd/conf/ChrootEveryone
Пишем yes

Дальше запрещаем PAM
sudo nano /etc/pure-ftpd/conf/PAMAuthentication

Ну с базовой настройкой покончено, нужно создать виртуальных пользователей
ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50pure
ls -l /etc/pure-ftpd/auth/

Мы включили авторизацию puredb, дальше нам нужно изменить uid MinUID пользователя web сервера.
ps -ef | grep nginx
В моем случае это www-data, узнаем его uid
id www-data
33 именно это мы должны изменить в файле /etc/pure-ftpd/conf/MinUID
sudo nano /etc/pure-ftpd/conf/MinUID

Если этого не сделать то выйдет ошибка 530 Sorry, but I can’t trust you.
На конец то создаем виртуального пользователя
sudo pure-pw useradd test -u www-data -g www-data -d /var/www -c "FIO" -y 4
Для внесения изменений pureftpd.pdb
sudo pure-pw mkdb -m
Ну на этом основная часть закончена ftpd настроен. Так же нужно посмотреть какие права на /var/www там должен быть www-data.
ТОП команды
sudo pure-pw show Login - просмотр данных юзеров
sudo pure-pw passwd Login - изменить пароль
sudo pure-ftpwho - мониторинг
Для улучшения безопасности поставил ssl/tls
sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem -days 3650
Дадим ему правильные
sudo chmod 600 /etc/ssl/private/pure-ftpd.pem
Разрешаем подключение по tls
sudo nano /etc/pure-ftpd/conf/TLS

И делаем рестар демона
sudo systemctl restart pure-ftpd
Оставьте первый коментарий