Установка и настройка ProFTPD на Debian


Итак, у нас задача установить и настроить ProFTPD сервер на Debian Linux, допустим, для того, чтобы получать доступ к сайтам расположенным на нашем сервере в каталоге /home. Сайты расположены каждый в своей директории, и настроены виртуальные хосты.
Для установки наберём следующую команду:

apt-get install proftpd

Система загрузит нужные для установки модули с сервера debian и приступит к установке. Во время установки в систему будет добавлен пользователь ftp и создана его домашняя директория /home/var.

Если Вас не устраивает лишняя директория в /home, Вы можете поступить как я, и переместить его домашнюю директорию, например, в /var/ftp. Делается это командами:

# меняем домашнюю директорию пользователя ftp на /var/ftp
usermod –d /var/ftp ftp
# копируем файл welcome.msg в нужную директорию
cp /home/var/welcome.msg /var/ftp
# удаляем папку из /home и файл
rm /home/ftp/welcome.msg rmdir /home/ftp

Ненужную директорию спрятали, теперь переходим непосредственно к конфигурированию и настройке ProFTPD сервера.
Открывает для редактирования файл /etc/proftpd/proftpd.conf в помощью любого текстового редактора, например, nano:

nano /etc/proftpd/proftpd.conf

Далее я привожу пример файл proftpd.conf с подробными пояснениями:

#
# /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes reload proftpd after modifications.
# 

# Includes DSO modules
Include /etc/proftpd/modules.conf

UseIPv6				  on  # включаем использование IP version 6
ServerName			      "FTP" # имя ftp сервера что угодно
ServerType		       standalone # если часто юзают фтп то выбираем то что стоит
DeferWelcome		   	  off 

RootLogin                       off  # запрещаем подключать от пользователя root

# определять имя хоста клиента по IP адресу (желательно отключать для ускорения доступа)
UseReverseDNS			  off 
# использование протокола ident (RFC 1413) для идентификации подслединившегося клиента; 
# рекомендуется отключить, все равно этот протокол никто больше не использует; 
# область действия - основной сервер, Global, VirtualHost
IdentLookups			              off 

MultilineRFC2228		             on
DefaultServer			             on
ShowSymlinks			 on

TimeoutNoTransfer		           600
TimeoutStalled		           600
TimeoutIdle			         1200

DisplayLogin                    welcome.msg
DisplayChdir               	.message true
ListOptions                	 "-l"

DenyFilter			      *.*/

# Автоматическое удаление недогруженного файла.
DeleteAbortedStores              on   

# директория на которую устанавливается сервер 
# (сейчас указана home директория подлюченного пользователя)
DefaultRoot                     ~   

# авторизовывать клиента только если он имеет основной shell из списка /etc/shells; 
# область действия - основной сервер, Global, VirtualHost, Anonymous (ВАЖНО!!!)
RequireValidShell		        off  

# Порт сервера
Port				         21

# PassivePorts          49152 65534  # диапазон для пассивного режима ftp

# If your host was NATted, this option is useful in order to
# allow passive tranfers to work. You have to use your public
# address and opening the passive ports used on your firewall as well.
# MasqueradeAddress	    1.2.3.4


# DynMasqRefresh 28800


# максимальное число одновременно запускаемых процессов в режиме standalone
MaxInstances			   30  

# Пользователь и группа от которого работает сервер 
User				    proftpd
Group				    nogroup

# права с которыми будут создаваться файлы и папки
Umask				   022  022  

# разрешить перезаписывать существующие файлы, 
# область действия - server config, VirtualHost, Anonymous, Directory, Global, .ftpaccess
AllowOverwrite			   on 

# держать ли открытыми файлы /etc/passwd и /etc/group во время работы proftpd, включая chroot
# PersistentPasswd		  off  

# This is required to use both PAM-based authentication and local passwords
# AuthOrder			mod_auth_pam.c* mod_auth_unix.c

# UseSendFile			  off

# обрабатывать ли сайт ftpusers в котором перечислены пользователи, 
# которым нужно запретить доступ по ftp 
UseFtpUsers                      on  

TransferLog /var/log/proftpd/xferlog
SystemLog   /var/log/proftpd/proftpd.log


QuotaEngine off



Ratios off


# Delay engine reduces impact of the so-called Timing Attack described in
# http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02
# It is on by default. 

DelayEngine on



ControlsEngine        off
ControlsMaxClients    2
ControlsLog           /var/log/proftpd/controls.log
ControlsInterval      5
ControlsSocket        /var/run/proftpd/proftpd.sock



AdminControlsEngine off


#
# Подключение файлов конфигурации для авторизиции по разным протоколам
#
#Include /etc/proftpd/ldap.conf
#Include /etc/proftpd/sql.conf

#
# Используется для FTPS соединений
#
#Include /etc/proftpd/tls.conf

# Базовая конфигурация и директории для анонимных пользователей 

# 
#   User				ftp
#   Group				nogroup
#   # We want clients to be able to login with "anonymous" as well as "ftp"
#   UserAlias			anonymous ftp
#   # Cosmetic changes, all files belongs to ftp user
#   DirFakeUser	on ftp
#   DirFakeGroup on ftp
# 
#   RequireValidShell		off
# 
#   # Limit the maximum number of anonymous logins
#   MaxClients			10
# 
#   # We want 'welcome.msg' displayed at login, and '.message' displayed
#   # in each newly chdired directory.
#   DisplayLogin			welcome.msg
#   DisplayChdir		.message
# 
#   # Limit WRITE everywhere in the anonymous chroot
#   
#     
#       DenyAll
#     
#   
# 
#   # Uncomment this if you're brave.
#   # 
#   #   # Umask 022 is a good standard umask to prevent new files and dirs
#   #   # (second parm) from being group and world writable.
#   #   Umask				022  022
#   #            
#   #            DenyAll
#   #            
#   #            
#   #            AllowAll
#   #            
#   # 
# 
# 

Подробнее хотел бы пояснить следующих несколько директив: RootLogin, UseFtpUsers, DefaultRoot и RequireValidShell.

RootLogin – включает/отключает доступ по ftp пользователю root. Рекомендую отключить эту директиву и не использовать доступ от root в целях безопасности, так как по ftp передаются не зашифрованный пароль.
UseFtpUsers – обрабатывать ли файл ftpusers. В данном файле находится имена пользователей, которым запрещён доступ по ftp. Включаем его на всякий случай.
DefaultRoot – директория для доступа. Устанавливаем его в «~», то есть при заходе по ftp, пользователь будет попадать в свой домашний каталог и не сможет подняться выше него.
RequireValidShell – разрешить/запретить авторизовывать клиента только если он имеет основной shell из списка /etc/shells. Лично я, споткнулся именно на этой директиве. Дальше Вы поймёте почему.:)

Итак, остался последний шаг, а именно добавления своего ftp пользователя в систему. К примеру, мы хотим подключаться по ftp от пользователя “alexey” с паролем “56s4a27e”. Добавляем его в систему. Сразу запрещаем доступ это пользователя к системе через shell и указываем домашнюю директорию /home. Делается это следующей командой:

useradd –home /home –shell /bin/false –group nogroup alexey

Когда пользователь добавлен, перезагружаем proftpd сервер, командой:

/etc/init.d/proftpd restart

Если перезагрузка сервера прошла успешно, продолжаем дальше. Если же нет, ищем ошибки в файле конфигурации proftpd.conf. Пробуем подключится через любой ftp менеджер, например, через Total Commander используя имя пользователя “alexey” с паролем “56s4a27e”.

Добавил: admin
Дата добавления: 10-01-2011

Комментарии:
Гость   28 Февраля 2017 в 02:48
Аналоги Виагры – это препараты для повышения потенции мужчин, содержащие силденафил. Фармацевты называют их дженериками – лекарствами, содержащими эффективные действующие вещества оригинала в дозировке. Благодаря такой упрощенной технологии изготовления таблетки дженериков имеют гораздо меньшие цены, чем их оригинал. То есть не тратились на исследования и тесты, а взяли готовое "колесо" по этому не дорого и не отличается от эталона - так как то же самое. Самые дешевые цены только у нас так как мы лидеры на этом рынке
Гость   26 Февраля 2017 в 04:52
Все что Вы искали по не дорогим ценам (ниже в 1,5-2 раза чем у всех) - У нас самые ответссвенные работники. Мы Вам гарантируем 100% анонимность. Наш товар дешевле намного чем в аптеках, так как фирмы выпустившие их не разрабатывали и несли сильных потерь, а купили у официальных диллеров технологию производства. Благодоря этому мы можем Вам предлагать на порядок ниже по цене чем во многих магазинах. Нашим товаром широко пользуются не первый уже год. Мы всегда работаем на клиента и самое главное - это качество! К примеру виагра стоит на данный момент от 75 рублей! Это самые низкие цены в интернете! Самые дешевые цены только у нас так как мы лидеры на этом рынке
Гость   12 Февраля 2017 в 21:05
Hello. I need to contact admin. Thank you.
Гость   19 Января 2015 в 10:06
The exieptrse shines through. Thanks for taking the time to answer.
Гость   27 Декабря 2014 в 11:28
ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=логин --shell=/bin/false --home=/var/www/папка --uid=105 --gid=33 я так добавляю и редактирую
Гость   2 Декабря 2014 в 00:55
где смотреть таймаут? И как его отключить?
Гость   28 Ноября 2013 в 16:21
Для Debian 7 Wheezy команда создания пользователя будет следующей: useradd -d "/path/to/dir" -s "/bin/false" -g "group" username Ну и пароль не забудьте создать: passwd username
admin   11 Ноября 2012 в 08:29
Извиняюсь! Опечатка вышла. Действительно недописал имя пользователя.
Гость   11 Ноября 2012 в 01:12
Что то я не вижу чтобы после useradd где то написан логин alexey
Гость   16 Мая 2012 в 23:20
Проблема в том, что вы нигде не назначаете пользователю пароль
Ваш комментарий:


Проверочный код:*