Установи Linux! Стань свободным!
Онлайн всего: 1 | Посетители: 0 | Боты: 1
Дата 14.08.2026 Время: 10:56
Ваш IP: 216.73.216.145
Загрузка сервера: 0.49
old.ubuntu-desktop.ru - Настройка ProFTPd для хостинга - Сервер    Главная > Каталог статей > Сервер

Настройка ProFTPd для хостинга

В данной статье я попытаюсь просто и доступно описать установку и настройку ProFTPd, для предоставления ftp доступа к сайту для конкретного пользователя к определенному виртуальному хосту.

Такой пользователь может изменять файлы, закачивать новые на сайт, но только в пределах сайта к которому предоставлен ftp доступ.

Сервер Apache2 работает от имени www-data, у которого UserId=33, GroupId=33, соответственно наш пользователь должен обладать такими же правами.

Устанавливаем сервер  proftpd

sudo apt-get install proftpd

Открываем конфиг ProFTPd, по-умолчанию он располагается /etc/proftpd/proftpd.conf.

sudo gedit /etc/proftpd/proftpd.conf

Удаляем в нем все и вставляем весь текст показанный ниже:

# выключаем использование IP v6 за ненадобностью
 ServerType standalone
 UseIPv6 off

# DeferWelcome off
 DefaultServer on

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

#ServerName "0.0.0.0" # Любое имя для ftp-сервера
 ServerIdent on "My FTP Server"
 ServerAdmin nik_user@mail.ru

# использование протокола ident (RFC 1413) для идентификации подслединившегося 
клиента; # рекомендуется отключить, все равно этот протокол никто больше не использует; # область действия - основной сервер, Global, VirtualHost IdentLookups off RootLogin off # запрещаем подключать от пользователя root # определять имя хоста клиента по IP адресу (желательно отключать для ускорения
доступа) UseReverseDNS off # Порт сервера Port 21 # из соображений безопасности можете поставить любой незанятый PassivePorts 49152 65534 #MasqueradeAddress None TimesGMT off # Против DDOS атаки, полезно для безопасности # максимальное число одновременно запускаемых процессов в режиме standalone MaxInstances 8 MaxLoginAttempts 3 MaxClientsPerHost 8 MaxClientsPerUser 8 MaxHostsPerUser 8 # Сообщение после успешного захода на сервер AccessGrantMsg "Welcome to Server" TimeoutLogin 20 TimeoutNoTransfer 1200 TimeoutIdle 1200 DisplayLogin welcome.msg DisplayChdir .message #Запрещаем заливать на сайт файлы начинающиеся с точки, полезно для безопасности DenyFilter *.*/ # директория, на которую устанавливается сервер # (сейчас указана домашняя директория подключенного пользователя) DefaultRoot ~ # Пользователь и группа, от которого работает сервер User nobody Group nogroup AuthUserFile /etc/proftpd/ftpd.passwd DirFakeUser off nobody DirFakeGroup off nobody DefaultTransferMode binary AllowForeignAddress off AllowRetrieveRestart on AllowStoreRestart on # Автоматическое удаление недогруженного файла. DeleteAbortedStores off TransferRate RETR 220 TransferRate STOR 250 TransferRate STOU 250 TransferRate APPE 250 SystemLog /var/log/secure RequireValidShell off <IfModule mod_tls.c> TLSEngine off TLSRequired off TLSVerifyClient off TLSProtocol SSLv23 TLSLog /var/log/proftpd_tls.log TLSRenegotiate required off </IfModule> <IfModule mod_ratio.c> # Количество попыток ввода пароль перед отсоединением MaxLoginAttempts 30 # Ограничить допустимый размер загружаемых файлов #MaxStoreFileSize 2 Gb # Ограничить допустимый размер скачиваемых файлов #MaxRetrieveFileSize 2 Gb # Логи TransferLog /var/log/proftpd/xferlog SystemLog /var/log/proftpd/proftpd.log Ratios off SaveRatios off RatioFile "/restricted/proftpd_ratios" RatioTempFile "/restricted/proftpd_ratios_temp" CwdRatioMsg "Please upload first!" FileRatioErrMsg "FileRatio limit exceeded, upload something first..." ByteRatioErrMsg "ByteRatio limit exceeded, upload something first..." LeechRatioMsg "Your ratio is unlimited." </IfModule> #VALID LOGINS Добавляем пользователей, которым разрешен доступ к серверу <Limit LOGIN> AllowUser ubuntu AllowUser name_user DenyALL </Limit> <Anonymous /var/www/ubuntu-desktop.ru> User ubuntu Group group1 AnonRequirePassword on MaxClients 10 "The server is full, hosting %m users" DisplayLogin welcome.msg <Limit LOGIN> Allow from all Deny from all </Limit> # Разрешить перезапись файлов AllowOverwrite off # разрешить перезаписывать существующие файлы, # область действия - server config, VirtualHost, Anonymous, Directory, Global,
.ftpaccess AllowOverwrite on <Limit LIST NLST STOR STOU APPE RETR RNFR RNTO DELE MKD XMKD SITE_MKDIR RMD
XRMD SITE_RMDIR SITE SITE_CHMOD SITE_CHGRP MTDM PWD XPWD SIZE STAT CWD XCWD
CDUP XCUP > AllowAll </Limit> <Limit NOTHING > DenyAll </Limit> </Anonymous>

<Limit LOGIN>Все настройки файла можно оставить как есть, нас интересуют настройки пользователя которому разрешен доступ к серверу:

AllowUser ubuntu
AllowUser name_user
DenyALL
</Limit>

и

<Anonymous /var/www/ubuntu-desktop.ru>
User ubuntu
Group group1
AnonRequirePassword on
MaxClients 10 "The server is full, hosting %m users"
DisplayLogin welcome.msg
<Limit LOGIN>
Allow from all
Deny from all
</Limit>

Как видно, я создал пользователя «ubuntu», задал ему пароль (см.ниже), указал сайт (ubuntu-desktop.ru) к которому разрешен ftp доступ.

Теперь приступим к созданию пользователя (пример) «ubuntu». Нам необходимо чтобы пользователь мог удалять, редактировать файлы. Пользователь должен иметь идентификатор 33, группу 33 и ограничен домашним каталогом сайта /var/www/ubuntu-desktop.ru.

Создаем пользователя:

sudo ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=ubuntu --uid=33 --gid=33 --home=/var/www/ubuntu-desktop.ru --shell=/bin/false

Далее придумайте пароль для нового пользователя.

После выполнения команды у вас появится файл /etc/proftpd/ftpd.passwd, в нем будут находится данные созданного пользователя.

632578623784678934926-650x414


Перезапускаем ftp:

sudo /etc/init.d/proftpd restart

Проверяем доступно ли содержимое сайта через веб-браузер:

В адресной строке набираем (пример): ftp://ubuntu-desktop.ru

Указываем имя пользователя и пароль.

764236978326738924

Как видите все получилось. Для редактирования и добавления файлов можно воспользоваться программой FileZilla.

FileZilla это полнофункциональный FTP-клиент с простой и удобной графической оболочкой.

Программа написана на C++ и использует библиотеку wxWidgets.

Возможности FileZilla:

  • Поддержка протоколов FTP, FTPS и SFTP
  • Поддержка
  • Более 40 языков интерфейса
  • Поддержка передачи и докачки больших (более 4 Гб) файлов
  • Простой и удобный менеджер сайтов, очередь передачи
  • Закладки
  • Поддержка Drag&Drop
  • Установка ограничений скорости
  • Фильтры имён файлов
  • Сравнение папок
  • Менеджер настройки сети
  • Редактирование файлов на сервере
  • Удержание соединения (Keep-alive)
  • Поддежка прокси-серверов для HTTP/1.1, SOCKS5 и FTP
  • Журналирование в файл
  • Синхронный обзор папок
  • Поиск по файлам на сервере
  • Поддержка вкладок позволяет подключаться к нескольким серверам одновременно

76943278678235678324

Установка программы:

sudo apt-get install filezilla

3782658734687342-650x536

72346786324876387-650x535

В пункте хост указываем имя сайта, далее имя пользователя созданного вами и его пароль, после чего нажимаем «Быстрое соединение».

Теперь в принципе пользователю доступен сайт через протокол передачи данных ftp. Но если у Вас все получилось сделать на локальном хосте, это не значит что доступ через ftp будет доступен за пределами Вашей сети (из Интернета).

Необходимо открыть 21 порт:

Открываем порт брандмауэра:
sudo ufw allow 21 
Далее необходимо сделать переброску портов («Правила NAT») абонентского термина (роутера), если сайты размещенные на Вашем сервере уже доступны в Интернете, то Вы знаете как это делать, ведь до этого Вам приходилось перебрасывать порт 80.
 
327496758234687
 
7342678632478-650x477
Рейтинг
<< Предыдущая статьяСледующая статья >>
  2017-08-11 08:28:40 | liman28 | Категория: Сервер | Просмотров: 70
Комментарии
E-mail (не будет опубликован)
Имя
Комментарий
Введите число с картинки:     
Случайные статьи

   GCompris
GCompris представляет собой пакет обучающих программ для детей от 2 до 10 лет, состоящий из различных упражнений и игр образовательного характера. Некоторые из этих мероприятий являются игры ориентированы, но тем не менее до сих пор образовательные. Ниже вы можете найти список категорий с некоторыми из мероприятий, доступных в этой категории. основы компьютерной грамотности: использование клавиатуры и…
  2017-08-02 10:47:49 | Категория: Игры
   cmus — лёгкий и быстрый консольный медиаплеер
cmus — лёгкий и быстрый консольный медиаплеер для Unix-подобных операционных систем. Cmus распространяется в соответствии с условиями лицензии GPL и, соответственно, является свободным ПО. Отличительной особенностью плеера является интерфейс управления, подобный редактору vi. Написан на языке Си, базируется на библиотеке ncurses. Название «cmus» происходит от словосочетания «C* Music Player». Поддерживаемые…
  2017-09-14 08:49:28 | Категория: Мультимедиа
   Архиватор 7zip
p7zip — это портированный для командной строки Unix 7-Zip, архиватор с высоким коэффициентом сжатия. p7zip-full предоставляет инструменты для создания и распаковки архивов 7z как из командной строки, так и с использованием графического интерфейса (такого как Ark, File Roller или Nautilus). Установка p7zip-full позволяет File Roller использовать очень эффективный формат сжатия 7z для упаковки и распаковки файлов и каталогов. Кроме того,…
  2017-09-14 09:12:14 | Категория: Система
   DIGGER — КОМПЬЮТЕРНАЯ ИГРА
Digger — компьютерная игра, выпущенная канадской компанией Windmill Software в1983 году. Игра была весьма популярна во времена широкого использования мониторов и видеокарт стандарта CGA. Игровой персонаж помещён под землю и может прорывать горизонтальные и вертикальные тоннели. Чудовища появляются в правом верхнем углу экрана и преследуют персонажа. В различных местах в земле находятся изумруды и мешки с золотом.…
  2017-08-11 08:54:33 | Категория: Игры
   УСКОРЕНИЕ РАБОТЫ LINUX UBUNTU
Рассмотрим параметры vm.vfs_cache_pressure — он указывает размер используемого дискового кэша и vm.swappiness — этот параметр определяет при каком % свободной оперативной памяти будет задействован SWAP (виртуальная память). Параметры vm.vfs_cache_pressure: 0 — не кэшировать ничего. 100 — значение по-умолчанию. >100 — агрессивно кэшировать дисковые операции. Рекомендуется устанавливать значение 1000 и больше для…
  2017-08-04 08:46:42 | Категория: Система

Вверх