FTP сервер на Linux Ubuntu 8.10
Итак, рассмотрим как установить 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:

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

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

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

Больше информации на сайте http://www.pureftpd.org/project/pure-ftpd написано на английском, очень доступным и простым языком, поймет и ребенок.
Viewed 2747 times by 1349 viewers
Комментарии (10)
Other Links to this Post
RSS-лента комментариев к этой записи. TrackBack URI




By user, 16 Декабрь 2008 @ 12:00
pure-ftpd -4 -A -B -M -l unix -U 022:022
-bash: pure-ftpd: command not found
не работает!
By
admin, 16 Декабрь 2008 @ 22:00
Попробуй для начала без ключей, т.е. просто pure-ftp если напишет: command not found – то вывод прост, программа не установлена, в противном случае отпишись, решим проблему.
By Slip, 10 Январь 2009 @ 15:46
оч хорошо! 5+ но вопрос таков остался можно ли поставить в качастве папки фтп папку своего пользователя?
By
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
admin, 17 Январь 2009 @ 20:57
У меня такого не наблюдалось!
в команде которую вы указали совершенно четко указан ключ -А
-A – chroot everyone – обязательный параметр (запирает пользователя в его домашней директории)
как вариант можете поменять права для всех остальных папок, или группу.
#chown -R root:root ./ftp-admin
можно поставить пароль на папки тогда уже точно не зайдет никто и никуда!
By ZED, 6 Апрель 2009 @ 22:41
Сделал все по мануалу, но в ФФ «переход в каталог на уровень выше» работает и позволяет тоже видеть все. Заходит с логином и паролем существующего пользователя.
By
admin, 6 Апрель 2009 @ 23:03
смотри права, если права рутовские, то хоть ты тресни, никуда ты с под юзера не зайдешь
By MaEcTPo, 12 Апрель 2009 @ 3:24
У меня таже радость, что и у предыдущих комментаторов. Поставил везде «запирать в домашнем каталоге», но всеравно пускает выше. И зачем еще с правами танцевать? Ведь просто поменять root директорию должно, а оно не меняет. Баг какой-то?
Кто-то нашел солюшн?
By io, 16 Апрель 2009 @ 8:35
А меня проблема с кодировкой. кто под виндой тот видит абру кадабру как быть!?