Как установить PureFTP сервер на Linux Ubuntu

Pure_ftp

Итак, рассмотрим как установить FTP сервер у себя на компьютере. Зачем это нужно? – в случае если вы являетесь администратором в университете или не очень крупной фирме, и вашим пользователям необходимо иметь доступ к неким общим ресурсам. Шары это конечно хорошо, но не очень удобно. К тому же с FTP-ресурсами пользователи смогут работать через браузер. Еще вы сможете сделать некоторые папки, доступными только одной группе пользователей, а остальные, всем используя аутентификацию и авторизацию. Но, что тут говорить преимуществ масса!

В качестве сервера мы будем использовать бесплатную софтинку PureFTPd. Это мощный, гибко настраиваемый сервер, достаточно безопасный и быстрый. То, что надо!

В данной статье будут рассмотрены лишь простейшие примеры, как установить и запустить сервер, если вам нужен более серьезный подход то вам в первую очередь сюда ->
http://www.pureftpd.org/project/pure-ftpd

Качаем сервер с оф. сайта программы http://download.pureftpd.org/pub/pure-ftpd/releases/ в папку

/home/booch/ftpd/
/home/booch/ftpd/

Далее:

cd home/booch/ftpd/
cd home/booch/ftpd/

Распаковываем:

tar xvf pure-ftpd-YOUR VERSION.tar.bz2
tar xvf pure-ftpd-YOUR VERSION.tar.bz2

Переходим в папку:

cd pure-ftpd-YOUR VERSION
cd pure-ftpd-YOUR VERSION

Внимание! В вашей системы должны быть установленные все необходимые пакеты для сборки и компиляции программ.
Собираем:

./configure
make
make install
./configure
make
make install

Далее создаем папки:

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

Создаем пользователей, домашней папкой пользователя ftpadmin будет /home/booch/ftpadmin/ и это будет админский аккаунт, система запросит данные и пароль, введите их. Для пользователя ftp домашней папкой будет /home/booch/ftp/ когда система начнет задавать вам вопросы, можно просто жать Ctrl+D таким образом все поля останутся пустыми, включая поле с паролем, ведь это публичный и анонимный аккаунт.

adduser ftpadmin
adduser ftp
adduser ftpadmin
adduser ftp

Смотрим вывод

cat /etc/passwd | grep ftp
 
ftpadmin:x:1001:1001:Admin,4,4,2,3:/home/ftpadmin:/bin/bash
ftp:x:1002:1002:,,,:/home/ftp:/bin/bash
cat /etc/passwd | grep ftp

ftpadmin:x:1001:1001:Admin,4,4,2,3:/home/ftpadmin:/bin/bash
ftp:x:1002:1002:,,,:/home/ftp:/bin/bash

Все верно!
Теперь нужно разобраться с правами. Папка Incoming это тот ресурс куда пользователи смогут заливать свои файлы. Папка Pub это тот ресурс откуда пользователи смогут брать файлы без права на запись.
Выполняем:
Для директории Incoming:

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

Для директории Pub:

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

Запускаем сервер:

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

Проверяем:

[email protected]:~# ps -ef | grep ftpd
 
root     22931     1  0 10:58 ?        00:00:00 pure-ftpd (SERVER)    
root     26586 16289  0 12:06 pts/0    00:00:00 grep ftpd 
[email protected]:~# ps -ef | grep ftpd

root     22931     1  0 10:58 ?        00:00:00 pure-ftpd (SERVER)    
root     26586 16289  0 12:06 pts/0    00:00:00 grep ftpd 

Опции:
-4 – ipv4only
-A – chroot everyone – обязательный параметр (запирает пользователя в его домашней директории)
-B – режим демона
-l unix использовать (не обязательный параметр)
-U – выбираем маску для файлов и директорий
– подробнее об этих и остальных параметрах – man pure-ftpd и официальный сайт.

Вариант анонимного FTP с поддержкой учетных записей:

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

Вариант только анонимного FTP:

pure-ftpd -4 -A -B -M -e -U 022:022
pure-ftpd -4 -A -B -M -e -U 022:022

Вариант только НЕ анонимного FTP:

pure-ftpd -4 -A -B -M -E -U 022:022
pure-ftpd -4 -A -B -M -E -U 022:022

Тестируем работу сервера для систем Linux и Windows XP. Для подключения используются стандартные средства.

Система Windows XP, подключение по протоколу FTP с помощью стандартной программы Explorer:
ftp_1

Система Windows XP, подключение по протоколу FTP с помощью программы Firefox:
ftp_2

Система Linux Ubuntu 8.10, подключение по протоколу FTP с помощью программы Nautilus:
ftp_3

Система Linux Ubuntu 8.10, подключение по протоколу FTP с помощью программы Firefox:
ftp_4

Больше информации на сайте http://www.pureftpd.org/project/pure-ftpd написано на английском, очень доступным и простым языком, поймет и ребенок.