Сначала, используя apt устанавливаем pure-ftpd пакет – он доступен в репозиториях по умолчанию:
sudo apt-get update
sudo apt-get install pure-ftpd
По завершении установки демон будет запущен и слушать на 21 порту:
![](data:image/png;base64,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)
Подход к конфигурации демона pure-ftpd отличается от других программ тем, что параметры демона задаются полностью параметрами командной строки, а для формирования этих параметров, написана программа-обертка. Сама конфигурация pure-ftpd представляет из себя набор однострочных конфигурационных файлов – отдельный файл для каждого параметра.
Вот как выглядит конфигурация pure-ftpd:
cd /etc/pure-ftpd/conf/
ls -al
Результат выполнения команды будет следующего вида:
![](data:image/png;base64,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)
Каждый конфигурационный файл описывает отдельный параметр командной строки демона pure-ftpd. Например, файл AltLog содержит формат и путь к журналу передачи (tranfer log file):
cat AltLog
Содержимое выглядит приблизительно так:
![](data:image/png;base64,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)
Настройка основных параметров сервера (сервер слушает на порту 21 на всех доступных интерфейсах и будет использвать IP 12.34.56.78 и порты 4500-4600 для пассивного режима – следует настроить перенаправление на NAT маршрутизаторе, если сервер находится за ним):
sudo -i
echo ,21 > Bind
echo 12.34.56.78 > ForcePassiveIP
echo 4500 4600 > PassivePortRange
Настройка параметров безопасности:
echo yes > ChrootEveryone
echo yes > ProhibitDotFilesRead
echo yes > ProhibitDotFilesWrite
echo yes > NoChmod
echo yes > BrokenClientsCompatibility
Настройка ограничений:
echo 4 > MaxClientsPerIP
echo 20 > MaxClientsNumber
Теперь нужно решить какие будут использоваться методы авторизации. Имеются следующие варианты:
- Unix Authentication (любой пользователь, имеющий системную учетную запись сможет зайти на FTP сервер)
- PureDB авторизация использует отдельную базу виртуальных пользователей pure-ftpd.
Предпочтительнй использовать второй вариант, который мы и настроим. Итак, отключим Unix и PAM вторизацию, установим путь к PureDB базе пользователей и добавим PureDB как метод вторизации путем создаия символической ссылки в директории /etc/pure-ftpd/auth:
echo no > PAMAuthentication
echo no > UnixAuthentication
echo /etc/pure-ftpd/pureftpd.pdb > PureDB
ln -s /etc/pure-ftpd/conf/PureDB ../auth/50pure
Добавим системную группу и пользователя, с правами которых будут храниться файлы, выгружаемые на сервер виртуальными пользователями. Из соображений безопасности, этот пользователь не должен иметь домашнней директории (-d /bin/null) и не иметь доступа к командной оболочке (-s /bin/false) :
groupadd -g 2001 ftpgroup
useradd -u 2001 -s /bin/false -d /bin/null -c "pureftpd user" -g ftpgroup ftpuser
Сгенерируем сертификат безопасности:
sudo apt-get install openssl
echo 1 > TLS
sudo openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Изменяем права доступа на сертификат, чтоб он не был доступен никому, кроме рутового пользователя:
sudo chmod 600 /etc/ssl/private/pure-ftpd.pem
В последний раз перезапускаем сервер для применения нашей свежей конфигурации:
sudo service pure-ftpd restart
Вот и все. Наш сервер настроен, осталось только добавить пользователей.
Создадим нового пользователя, назовем его “pureusertest”:
sudo pure-pw useradd pureusertest -u ftpuser -g ftpgroup -d /home/pureftp/pureusertest -N 10
Программа попросит ввести пароль и его подтверждение.
Не забудьте выполнить команду pure-pw mkdb: она нужна для того, чтоб применить изменения, сделанные в базе виртуальных пользователей, по умолчанию находящуюся по пути /etc/pure-ftpd/pureftpd.passwd:
sudo pure-pw mkdb
Формат базы пользователей – двоичный, для ускорения поиска в базе имеется индекс.
Просмотр списка пользователей:
pure-pw list
Получение информации, касающейся определенного пользователя:
pure-pw show pureusertest
Если вы обратили внимание, что строка “Directory: /home/pubftp/pureusertest/./” заканчивается на ./ – не стоит переживать по этому поводу. Это всего-лишь chroot инструкция для данного пользователя, что обозначает, что он не может попасть в директории, находящиеся “выше”.
Изменение пароля пользователя:
sudo pure-pw passwd pureusertest
После изменения пароля, не забудьте выполнить команду pure-pw mkdb:
sudo pure-pw mkdb
Вот и все. Pure-FTPd настроен. Если есть вопросы, замечания – пишите в комментах.
Источник: http://profhelp.com.ua