google
Ноя 23 2008

FTP сервер на Linux Ubuntu 8.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
2
3
./configure
make
make install

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

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

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

1
2
adduser ftpadmin
adduser ftp

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

1
2
3
4
root@alexlinux:/home/ftpadmin# 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:

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
2
3
4
root@alexlinux:~# 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 с поддержкой учетных записей:

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

Viewed 2747 times by 1349 viewers

Комментарии (10)

  • By user, 16 Декабрь 2008 @ 12:00

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

    не работает!

  • By vkontakte.ru admin, 16 Декабрь 2008 @ 22:00

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

  • By Slip, 10 Январь 2009 @ 15:46

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

  • By vkontakte.ru admin, 10 Январь 2009 @ 21:49

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

  • By TEST, 16 Январь 2009 @ 23:23

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

  • By vkontakte.ru admin, 17 Январь 2009 @ 20:57

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

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

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

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

  • By ZED, 6 Апрель 2009 @ 22:41

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

  • By vkontakte.ru admin, 6 Апрель 2009 @ 23:03

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

  • By MaEcTPo, 12 Апрель 2009 @ 3:24

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

  • By io, 16 Апрель 2009 @ 8:35

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

Other Links to this Post

RSS-лента комментариев к этой записи. TrackBack URI

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

CAPTCHA image