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

23.11.2008, рубрики: how-to | Теги: | 10 комментариев »

Pure_ftp

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

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

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

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

  1. /home/booch/ftpd/

Далее:

  1. cd home/booch/ftpd/

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

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

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

  1. cd pure-ftpd-YOUR VERSION

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

  1. ./configure
  2. make
  3. make install

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

  1. mkdir /home/ftp/pub
  2. mkdir /home/ftp/incoming

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

  1. adduser ftpadmin
  2. adduser ftp

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

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

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

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

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

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

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

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

Проверяем:

  1. root@alexlinux:~# ps -ef | grep ftpd
  2.  
  3. root     22931     1  0 10:58 ?        00:00:00 pure-ftpd (SERVER)
  4. 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 с поддержкой учетных записей:

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

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

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

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

  1. 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 написано на английском, очень доступным и простым языком, поймет и ребенок.


10 комментариев на запись “Как установить PureFTP сервер на Linux Ubuntu”

  1. 1 user сказала в 12:00, 16.12.2008:

    pure-ftpd -4 -A -B -M -l unix -U 022:022
    -bash: pure-ftpd: command not found

    не работает!

  2. 2 admin сказала в 22:00, 16.12.2008:

    Попробуй для начала без ключей, т.е. просто pure-ftp если напишет: command not found – то вывод прост, программа не установлена, в противном случае отпишись, решим проблему.

  3. 3 Slip сказала в 15:46, 10.01.2009:

    оч хорошо! 5+ но вопрос таков остался можно ли поставить в качастве папки фтп папку своего пользователя?

  4. 4 admin сказала в 21:49, 10.01.2009:

    Да, никаких проблем, папка ftp приведена в качестве примера.

  5. 5 TEST сказала в 23:23, 16.01.2009:

    Поставил, создал пользователя итд, запустил сервер командой #pure-ftpd -4 -A -B -M -E -U 022:022
    Все работает, но пользователь почему то в домашней папке не запирается, с помощью клиента Total Commander он может лазить везде. В чем трабл?

  6. 6 admin сказала в 20:57, 17.01.2009:

    У меня такого не наблюдалось!
    в команде которую вы указали совершенно четко указан ключ -А

    -A – chroot everyone – обязательный параметр (запирает пользователя в его домашней директории)

    как вариант можете поменять права для всех остальных папок, или группу.
    #chown -R root:root ./ftp-admin

    можно поставить пароль на папки тогда уже точно не зайдет никто и никуда!

  7. 7 ZED сказала в 22:41, 06.04.2009:

    Сделал все по мануалу, но в ФФ «переход в каталог на уровень выше» работает и позволяет тоже видеть все. Заходит с логином и паролем существующего пользователя.

  8. 8 admin сказала в 23:03, 06.04.2009:

    смотри права, если права рутовские, то хоть ты тресни, никуда ты с под юзера не зайдешь

  9. 9 MaEcTPo сказала в 3:24, 12.04.2009:

    У меня таже радость, что и у предыдущих комментаторов. Поставил везде «запирать в домашнем каталоге», но всеравно пускает выше. И зачем еще с правами танцевать? Ведь просто поменять root директорию должно, а оно не меняет. Баг какой-то?
    Кто-то нашел солюшн?

  10. 10 io сказала в 8:35, 16.04.2009:

    А меня проблема с кодировкой. кто под виндой тот видит абру кадабру как быть!?


Оставить комментарий

  • Доступные теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code lang=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" extra="">

  • *