Ru:HOWTO: Install PureFTPd

From Sabayon Wiki
Jump to: navigation, search

Установка PureFTPd

При помощи Entropy

Для установки PureFTPd при помощи Entropy выполните следующие команды:

su
equo update
equo install net-ftp/pure-ftpd

Это самый простой и быстрый метод установки.

При помощи Portage

Для установки PureFTPd при помощи Portage выполните:

su
emerge --sync
USE="ldap pam ssl" emerge -av net-ftp/pure-ftpd

Чтобы собрать PureFTPd с другими параметрами ознакомьтесь с выводом команды

 equery u net-ftp/pure-ftpd

и установите интересующее вас значение переменной USE

Ручная установка без использования менеджера пакетов

Внимание! Не рекомендуется использовать этот метод установки, так как установленная программа не будет управляться ни одним из пакетных менеджеров системы. Это означает что нет гарантии того, что вы сможете корректно удалить или обновить ее. 1. Загрузите последнюю версию исходного кода программы с официального сайта http://download.pureftpd.org/pub/pure-ftpd/releases/ В данный момент это версия 1.0.22

wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.22.tar.gz

или

wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.22.tar.bz2

2. Распакуйте архив

tar xzfv pure-ftpd-1.0.22.tar.gz

или

tar xjfv pure-ftpd-1.0.22.tar.bz2

в зависимости от типа загруженного архива; 3. Перейдите в директорию, в которую распаковался архив; сконфигурируйте исходный код и выполните сборку программы

cd pure-ftpd-1.0.22
./configure —with-everything
make

4. Получите права суперпользователя и установите PureFTPd

su
make install

Настройка после установки

1. От имени root создайте две директории

mkdir /home/ftp/pub
mkdir /home/ftp/incoming

2. Создайте пользователя ftpadmin - это администратор FTP-сервера. Его домашняя директория /home/ftp

adduser ftpadmin

3. Назначьте права на созданные директории

chmod -R 0777 /home/ftp/incoming
chmod -R 0755 /home/ftp/pub

4. Теперь можно запустить сервер для анонимного входа

sudo pure-ftpd -4 -A -B -M -l unix -U 022:022

Настройка авторизации

1. Добавьте в конфигурационный файл данный тип авторизации

AUTH="-l puredb:/etc/pureftpd.pdb"

2. Создайте нового пользователя, на пример user1

sudo pure-pw useradd user1 -u ftpadmin -d /home/ftp

Присвойте ему пароль, по запросу. На пример password1 3. Преобразуйте добавленных пользователей из файла с логинами-паролями в файл, который может считать сервер pure-ftpd при запуске:

sudo pure-pw mkdb

4. Запустите сервер

sudo pure-ftpd -4 -A -B -E -U 022:022 -p 50000:51000 -O clf:/var/log/pureftpd.log fscharset=utf8 clientcharset=cp1251 -lpuredb:/etc/pureftpd.pdb tls=2

Логин для работы с сервером user1 ; пароль - password1

Опции запуска PureFTPd

  • -4 – использовать только протокол Ipv4;
  • -A – «запирать» всех пользователей в своих домашних папках (chroot);
  • -B – запускать сервер как службу (демон);
  • -E – запретить работу анонимным пользователям;
  • -U 022:022 – все пользователи работают с указанной маской;
  • -O clf:/var/log/pureftpd.log – журналировать все дейст­вия демона в формате, подобном log­-файлу веб­-серве­ра Apache (IP:пользователь:время:ресурс);
  • fscharset=utf8 –clientcharset=cp1251 – задает пере­кодировку на лету с локальной UTF8 на «классическую» клиентскую cp1251;
  • -lpuredb:/etc/pureftpd.pdb – для авторизации пользо­вателей использовать БД формата puredb, расположен­ную по указанному адресу;
  • tls=2 – разрешать только зашифрованные соедине­ния. В рассматриваемом примере мы разреша­ем клиентам присоединяться к серверу только с исполь­зованием шифрования, опция ­­tls=2, к сожалению, мно­гие стандартные FTP­-клиенты «не понимают» этого. Са­мое простое решение заключается в изменении парамет­ров запуска Pure­FTPd с ключом ­­tls=1, разрешающим как шифрованные, так и не зашифрованные соедине­ния.

Для того чтобы ознакомится со всеми опциями запуска посетите страницу man

man pure-ftpd