ProFTPd – установка и настройка анонимного FTP сервера
- 28.02.10, 06:43
ProFTPd – один из самых популярных FTP серверов. Существует под множество платформ, в том числе под Windows. Настраивается одним файлом. Идеология конфигурационного файла взята из Apache. Известен своей надежностью, простотой организации виртуальных FTP серверов и наличием различных дополнительных модулей (SQL, LDAP, SSL/TLS, RADIUS).
В данном руководстве рассказывается как установить и настроить анонимный FTP сервер ProFTPd на Ubuntu Linux 6.06 LTS. Данная ОС выбрана по причине ее популярности и совместимости с Debian GNU Linux. Различия по отношению к другим дистрибутивам будут только установке.
Результатом нашей работы станет FTP сервер с двумя директориями pub и incoming. Первая предназначена для хранения общедоступных для скачивания файлов. Все пользователи могут войти в нее и скачать понравившийся им файл. Создавать, удалять, переименовывать и перемещать файлы в этой папке запрещено. Вторая директория предназначена для закачки файлов на сервер. Роль администратора – переодически просматривать файлы находящиеся в incoming и если они ничего не нарушают – перемещать их в pub.
Установка Для установки и предварительного конфигурирования достаточно одной команды
$ sudo aptitude install proftpd
Установочный скрипт proftpd самостоятельно создаст пользователя, директории, конфигурационный файл и добавит себя в скрипты автоматической загрузки.
Настройка
/etc/proftpd.conf
Вашим любимым текстовым редактором открываем конфигурационный файл proftpd.conf
sudo vi /etc/proftpd.conf
и делаем его похожим на конфигурацию приведенную ниже
# Название сервера ServerName «My anonymous FTP server» # Тип сервера, standalone – отдельный сервер, запускается в inet.d ServerType standalone
# Порт прослушиваемый сервером Port 21
# Порт пользователь под которым работает сервер User nobody Group nogroup
# Максимальнок кол-во одновременно запущенных серверов MaxInstances 30
# Куда складывать логи TransferLog /var/log/proftpd-tranfer.log SystemLog /var/log/proftpd-sys.log
# Ограничение скорости скачивания, закачивания на 4 мб/сек TransferRate RETR,STOR 4096
# Секция описывает анонимный FTP сервер
# Максимальное кол-во одновременно подключенных клиентов MaxClients 20 «Sorry, max %m users — try again later»
# Пользователь под которым будет работать анонимный FTP сервер User ftp Group nogroup # Псевдоним, пользователь anonymous – это пользователь «ftp» UserAlias anonymous ftp
# Ограничение на запись
# Запретить всем DenyAll
# Секция описывающая директорию «incoming»
# Ограничения на загрузку, скачивание, создание директорий
# Разрешить всем AllowAll
# Конец секции описывающей директорию «incoming»
# Секция описывающая директорию «pub»
# Ограничения на скачивание
# Разрешить всем AllowAll
# Конец секции описывающей директорию «pub»
# Конец секции описывающей анонимный FTP сервер
Создание рабочих каталогов
Корневая директория сервера расположена в домашнем каталоге пользователя ftp, коим является
/home/ftp
Создадим в этом каталоге каталоги pub и incoming
mkdir /home/ftp/incoming mkdir /home/ftp/pub
Расстановка прав
Для того чтобы анонимный ftp сервер мог работать в перечисленных каталогах, он должен иметь на них соответствующие права. Из файла /etc/proftpd.conf пользователь под которым будет работать анонимный FTP – это «ftp», группа – «nogroup». Сделаем этого пользователя владельцем каталогов incoming и pub
chown -R ftp:nogroup /home/ftp/incoming chown -R ftp:nogroup /home/ftp/pub
Проверим
ls -la /home/ftp
Если все так – вы готовы к первому запуску
Запуск
Для запуска, перезагрузки, останова и пр. Debian пакет ProFTPd создал скрипт /etc/init.d/proftpd. Посмотрим какие этот скрипт воспиринимает комманды:
$ /etc/init.d/proftpd help Usage: /etc/init.d/proftpd {start|force-start|stop|force-stop|reload|restart|force-reload}
start | force-start | stop | force-stop | reload | restart | force-reload
Пробуем запустить
$ sudo /etc/init.d/proftpd start
Если все нормально то должны создаться указанные в /etc/proftpd.conf лог файлы и в файле /var/log/proftpd-sys.log добавиться строчка вида
Aug 23 23:15:09 coder-desktop proftpd[5100] localhost: ProFTPD 1.2.10 (stable) (built do mrt 22 18:28:32 CET 2001) standalone mode STARTUP
Сервер запущен.
Тест
Любым FTP клиентом пробуем подключиться к нашему FTP серверу. Имя anonymous, пароль [email protected]. Должны показаться два каталога, pub и incoming. В папке incoming можно создавать каталоги, закачивать и скачивать файлы, удалять закачанное нельзя. Из каталога pub разрешено скачивать выложенные в нее администратором файлы, любые изменения в этом каталоге запрешены.
Коментарі