Установка и настройка Pure‐FTPd в Ubuntu 22.04 - vovan58/1c_referance GitHub Wiki
Установка Pure-FTPd в Ubuntu 22.04
Установка и настройка Pure-FTPD (Pure FTP)
Виртуальные пользователи PureDB
Механизм Virtual Users в Pure-FTPD (README.Virtual-Users), представляет из себя следующее - в системе заводится системный пользователь, который ассоциируется с виртуальным пользователем. Можно ассоциировать несколько виртуальных пользователей с реальным системным пользователем. Для виртуальных пользователей назначается свой каталог, можно назначить ему так же квоты и прочее.
Включим авторизацию из база данных пользователей PureDB (создадим символическую ссылку), по умолчанию была настроена авторизация Unix(no - выключена) и PAM (yes - включена). При аутентификации важен порядок загрузки, потому добавим цифру 60 в название создаваемой символической ссылки, чтобы проверка пользователя начиналась именно с проверки из PureDB
ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/60PureDB
ls -l /etc/pure-ftpd/auth/
lrwxrwxrwx 1 root root 26 Sep 17 12:32 60PureDB -> /etc/pure-ftpd/conf/PureDB
lrwxrwxrwx 1 root root 26 Sep 17 12:29 65unix -> ../conf/UnixAuthentication
lrwxrwxrwx 1 root root 25 Sep 17 12:29 70pam -> ../conf/PAMAuthentication
Настройка
Теперь остается задать важные параметры в конфиге, например: Создавать домашнюю директорию автоматически:
echo "yes" | sudo tee /etc/pure-ftpd/conf/CreateHomeDir
Запрещать анонимный доступ:
echo "yes" | sudo tee /etc/pure-ftpd/conf/NoAnonymous
Пользователь не уйдет дальше своего каталога (не подымется выше):
echo "yes" | sudo tee /etc/pure-ftpd/conf/ChrootEveryone
Человеческий лог:
echo "yes" | sudo tee /etc/pure-ftpd/conf/VerboseLog
Работаем только по IPv4:
echo "yes" | sudo tee /etc/pure-ftpd/conf/IPV4Only
Максимальное количество клиентов:
echo "100" | sudo tee /etc/pure-ftpd/conf/MaxClientsNumber
Максимальное количество клиентов с одного IP:
echo "8" | sudo tee /etc/pure-ftpd/conf/MaxClientsPerIP
Не показывать системный файлы (вида .имя_файла):
echo "no" | sudo tee /etc/pure-ftpd/conf/DisplayDotFiles
Время простоя до отключения — 15 минут:
echo "15" | sudo tee /etc/pure-ftpd/conf/MaxIdleTime
Максимальная параллельная (?) загрузка:
echo "16" | sudo tee /etc/pure-ftpd/conf/MaxLoad
FTP, порты пассивного режима:
echo "50000 50300" | sudo tee /etc/pure-ftpd/conf/PassivePortRange
Генерируем самоподписанный сертификат:
sudo openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
sudo chmod 600 /etc/ssl/private/pure-ftpd.pem
Измените конфигурацию Pure-FTPD для активации TLS (2 - для отключения простого ftp и оставления только tls):
echo 1 | sudo tee /etc/pure-ftpd/conf/TLS
Не забываем после изменений сделать перезапуск:
sudo /etc/init.d/pure-ftpd restart
Теперь все работает — замечательно.
Ну и просмотреть логи можно так:
more /var/log/messages | grep pure-ftpd
Использование утилит Pure-FTPD
Теперь можно добавить виртуального пользователя:
pure-pw useradd remote -u ftpuser -g ftpgroup -d /home/pubftp/remote -N 10
Где remote — имя пользователя для доступа к FTP, а /home/pubftp/remote — персональная директория, с которой он будет работать. -N 10 задает квоту в 10МБ (ограничение на использование дискового пространства). Эту директорию не нужно создавать вручную, т.к. она появится автоматически (параметр задается при конфигурировании, об этом чуть позже) при первом подключении и обмене данными с сервером.
Список существующих пользователей:
pure-pw list
Подробная информация о пользователе:
pure-pw show remote
Удаление пользователя — когда-нибудь может пригодиться, но не сейчас:
pure-pw userdel remote