Установи Linux! Стань свободным!
Онлайн всего: 2 | Посетители: 0 | Боты: 2
Дата 22.05.2026 Время: 03:56
Ваш IP: 216.73.216.151
Загрузка сервера: 0.35
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 (не будет опубликован)
Имя
Комментарий
Введите число с картинки:     
Случайные статьи

   PyChess
PyChess бесплатная игра для Linux, игра весьма проста и функциональна. PyChess — GTK клиент для игры в шахматы, которой с успехом могут использовать как новички, так и профессионалы. Можно играть с компьютером, либо в онлайн режиме с реальными противниками, на многих доступных бесплатных игровых серверах. Программа была разработана для среды Gnome, но с успехом работает во многих Линукс-дистрибутивах, с…
  2017-08-01 23:17:11 | Категория: Игры
   GNOME Commander — двухпанельный файловый менеджер
GNOME Commander — быстрый и мощный файловый менеджер с графическим интерфейсом для среды рабочего стола GNOME. Применение предпочтительно в среде GNOME, но может быть использован и в других средах. Он имеет двухпанельный интерфейс в традициях Norton Commander и Midnight Commander. Возможности программы: типы GNOME MIME поддержка FTP, SFTP и WebDAV доступ через Samba меню по правой кнопке мыши пользовательское контекстное меню быстрый…
  2017-08-11 23:00:18 | Категория: Система
   JuK - свободный медиаплеер для KDE
JuK - свободный медиаплеер для KDE, используемый по умолчанию, начиная с KDE 3.2, часть пакета kdemultimedia. JuK поддерживает форматы MP3, Ogg Vorbis, и FLAC. Разработка JuK была начата Скоттом Веллером в 2000 году, в то время он назывался QTagger. В 2002 году, он был перемещён в KDE CVS, где он «вырос» в полноценное аудиоприложение. Он стал частью KDE, начиная с версии 3.2. Обладая возможностями обычного…
  2017-08-25 18:39:19 | Категория: Мультимедиа
   Ranger — консольный файловый менеджер
Ranger — консольный Python файловый менеджер, позволяющий отображать дерево каталогов в двух измерениях: по иерархии каталогов и списком файлов. Навигация: Путешествие по директориям осуществляется с помощью стрелок. Клавиши вверх и вниз — по списку текущего каталога, влево — выше, по дереву папок, вправо — ниже.Для быстрого перехода к файлу/каталогу текущей директории, нажмите «f» и начните…
  2017-08-12 09:57:44 | Категория: Команды терминала
   АВТОЗАПУСК ПРИЛОЖЕНИЙ В UBUNTU
Для того чтобы добавить в автозапуск исполняемый файл или приложение необходимо найти программу — Настройка запуска приложений.   Например добавим в автозапуск исполняемый файл Mail.ru Облако, для этого нажмем добавить, заполните имя и нажмите обзор, найдите исполняемый файл.     Теперь после перезагрузки, запустится приложение Mail.ru Облако.   Если Вы хотите добавить уже…
  2017-08-03 14:27:22 | Категория: Ubuntu

Вверх