Как установить PureFTP сервер на Linux Ubuntu
23.11.2008, рубрики: how-to | Теги: servers | 10 комментариев »Итак, рассмотрим как установить FTP сервер у себя на компьютере. Зачем это нужно? – в случае если вы являетесь администратором в университете или не очень крупной фирме, и вашим пользователям необходимо иметь доступ к неким общим ресурсам. Шары это конечно хорошо, но не очень удобно. К тому же с FTP-ресурсами пользователи смогут работать через браузер. Еще вы сможете сделать некоторые папки, доступными только одной группе пользователей, а остальные, всем используя аутентификацию и авторизацию. Но, что тут говорить преимуществ масса!
В качестве сервера мы будем использовать бесплатную софтинку PureFTPd. Это мощный, гибко настраиваемый сервер, достаточно безопасный и быстрый. То, что надо!
В данной статье будут рассмотрены лишь простейшие примеры, как установить и запустить сервер, если вам нужен более серьезный подход то вам в первую очередь сюда ->
http://www.pureftpd.org/project/pure-ftpd
Качаем сервер с оф. сайта программы http://download.pureftpd.org/pub/pure-ftpd/releases/ в папку
- /home/booch/ftpd/
Далее:
- cd home/booch/ftpd/
Распаковываем:
- tar xvf pure-ftpd-YOUR VERSION.tar.bz2
Переходим в папку:
- cd pure-ftpd-YOUR VERSION
Внимание! В вашей системы должны быть установленные все необходимые пакеты для сборки и компиляции программ.
Собираем:
- ./configure
- make
- make install
Далее создаем папки:
- mkdir /home/ftp/pub
- mkdir /home/ftp/incoming
Создаем пользователей, домашней папкой пользователя ftpadmin будет /home/booch/ftpadmin/ и это будет админский аккаунт, система запросит данные и пароль, введите их. Для пользователя ftp домашней папкой будет /home/booch/ftp/ когда система начнет задавать вам вопросы, можно просто жать Ctrl+D таким образом все поля останутся пустыми, включая поле с паролем, ведь это публичный и анонимный аккаунт.
- 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
Все верно!
Теперь нужно разобраться с правами. Папка Incoming это тот ресурс куда пользователи смогут заливать свои файлы. Папка Pub это тот ресурс откуда пользователи смогут брать файлы без права на запись.
Выполняем:
Для директории Incoming:
- chmod -R 0777 /home/ftp/incoming
Для директории Pub:
- chmod -R 0755 /home/ftp/pub
Запускаем сервер:
- pure-ftpd -4 -A -B -M -l unix -U 022:022
Проверяем:
- 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 с поддержкой учетных записей:
- pure-ftpd -4 -A -B -M -l unix -U 022:022
Вариант только анонимного FTP:
- pure-ftpd -4 -A -B -M -e -U 022:022
Вариант только НЕ анонимного FTP:
- pure-ftpd -4 -A -B -M -E -U 022:022
Тестируем работу сервера для систем Linux и Windows XP. Для подключения используются стандартные средства.
Система Windows XP, подключение по протоколу FTP с помощью стандартной программы Explorer:

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

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

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

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



pure-ftpd -4 -A -B -M -l unix -U 022:022
-bash: pure-ftpd: command not found
не работает!
Попробуй для начала без ключей, т.е. просто pure-ftp если напишет: command not found – то вывод прост, программа не установлена, в противном случае отпишись, решим проблему.
оч хорошо! 5+ но вопрос таков остался можно ли поставить в качастве папки фтп папку своего пользователя?
Да, никаких проблем, папка ftp приведена в качестве примера.
Поставил, создал пользователя итд, запустил сервер командой #pure-ftpd -4 -A -B -M -E -U 022:022
Все работает, но пользователь почему то в домашней папке не запирается, с помощью клиента Total Commander он может лазить везде. В чем трабл?
У меня такого не наблюдалось!
в команде которую вы указали совершенно четко указан ключ -А
-A – chroot everyone – обязательный параметр (запирает пользователя в его домашней директории)
как вариант можете поменять права для всех остальных папок, или группу.
#chown -R root:root ./ftp-admin
можно поставить пароль на папки тогда уже точно не зайдет никто и никуда!
Сделал все по мануалу, но в ФФ «переход в каталог на уровень выше» работает и позволяет тоже видеть все. Заходит с логином и паролем существующего пользователя.
смотри права, если права рутовские, то хоть ты тресни, никуда ты с под юзера не зайдешь
У меня таже радость, что и у предыдущих комментаторов. Поставил везде «запирать в домашнем каталоге», но всеравно пускает выше. И зачем еще с правами танцевать? Ведь просто поменять root директорию должно, а оно не меняет. Баг какой-то?
Кто-то нашел солюшн?
А меня проблема с кодировкой. кто под виндой тот видит абру кадабру как быть!?