Быстро разворачиваем FTP сервер на основе ProFTPd

  • Блог им. Fatroll  
Необходимо быстро поднять фтп без скучного чтения манов и ковыряния конфигов?
Пожалуйста, сейчас я вам расскажу, как мы это будем делать.
Итак, начнем.

Сервер у нас будет анонимный (что позволит пользователям, не имеющих учетной записи,
пользоваться им).
Сначала определимся со структурой.
Корневая папка анонимного ftp сервера — /home/ftp/pub
С учетной записью пользователя ftp имеем право на изменение всего в /home/ftp
Итак, создаем пользователя для возможности загрузки файлов на наш фтп:

Для начала откроем /etc/shells и добавим строку

/bin/false 

если у вас её там нет.
Создаем директорию:
sudo mkdir /home/ftp/pub

Добавляем пользователя:
sudo useradd имя_пользователя -p ваш_пароль -d /home/ftp -s /bin/false


Присваиваем права:
sudo chmod 755 /home/ftp
sudo chmod 777 /home/ftp/pub


Установка

$ sudo apt-get install proftpd

Установочный скрипт самостоятельно создаст конфигурационный файл и добавит себя в скрипты
автоматической загрузки.

Конфиг лежит в /etc/proftpd/proftpd.conf

старый оставим и переименуем
sudo mv /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf.backup


Создаем в вашем любимом редакторе новый proftpd.conf и пишем туда следующее:

# имя сервера
ServerName "My FTP"

# Тип сервера - standalone - отдельный
ServerType standalone
DefaultServer on
AllowStoreRestart off

# Порт, слушаемый сервером
Port 21
Umask 022

# Максимальное кол-во одновременных соединений
MaxInstances 30 

# имя пользователя и группа, под которой запускается proftpd
User nobody
Group nogroup
AllowOverwrite on

<Limit SITE_CHMOD>
DenyAll
</Limit>
PersistentPasswd off

<Global>
IdentLookups off
</Global>

# ниже замените "имя_пользователя" на свое!
DefaultRoot /home/ftp/ имя_пользователя

<Directory /home/ftp>
 <Limit WRITE>
 AllowUser anonuser
 </Limit>
</Directory> 

# Анонимный доступ 

<Anonymous /home/ftp/pub>
User ftp
Group ftp

# Разрешаем клиентом заходить как под логином "anonymous", так и под "ftp"
UserAlias anonymous ftp

# Ограничение кол-ва максимальных соединений анонимных пользователей
MaxClients 10

# Отключаем запрос пароля у анонимных
RequireValidShell off
AnonRequirePassword off


<Limit WRITE>
DenyAll
</Limit>

</Anonymous>


Запуск осуществляется через скрипт/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 restart


Готово! (:
  • ftp,
  • ubuntu,
  • proftpd
  • 0
  • 11 января 2010, 22:55
  • Fatroll      


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

RSS свернуть / развернуть
+
0
Спасибо, нужно будет попробовать :)
avatar

Woin

  • 11 февраля 2010, 17:36
+
0
незачто =) у нас тут почти все инструкции полезные =))
avatar

ASovetov

  • 11 февраля 2010, 21:46
+
0
спасибо огромное!)
avatar

nikiia

  • 23 января 2011, 15:37
+
0
салам когда sudo apt-get install proftpd, то выходит Е: Не удалось найти пакет proftpd! что делать?
avatar

Ruslan777

  • 16 февраля 2011, 07:31
+
0
привет. сделал все как в вышеуказанной схеме. анонимный доступ к фтп работает, но когда пытаюсь через файлзилла добавить на сервер файлы через моего зарегистрированного пользователя, пишет:
оманда: USER benos
Ответ: 331 Необходим пароль для пользователя benos
Команда: PASS ******
Ответ: 530 Некорректные данные аутентификации.
Ошибка: Критическая ошибка
Ошибка: Невозможно подключиться к серверу
avatar

benos

  • 19 апреля 2012, 09:29
+
0
Дополню, чтобы не вылетала ошибка в клиенте, что невозможно закачать файл на сервер нужно выставить chmod например chmod 775 /home/ftp
avatar

antivirdog

  • 5 мая 2012, 07:52

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.