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

   DUPEGURU PICTURE EDITION — ИНСТРУМЕНТ ДЛЯ ПОИСКА ДУБЛИКАТОВ ФОТОГРАФИЙ НА ВАШЕМ КОМПЬЮТЕРЕ
dupeGuru Picture Edition представляет собой инструмент для поиска дубликатов фотографий на вашем компьютере. dupeGuru Picture Edition не только он может найти точные соответствия, но также может найти дубликаты среди фотографий разного рода (PNG, JPG, GIF и т.д..) и разного качества. Для того чтобы начать работать с dupeGuru, просто делайте сканирование при помощью стандартных настроек по умолчанию. Запустите dupeGuru Picture…
  2017-08-09 21:37:28 | Категория: Разное
   array_diff - вычисления расхождения в массивах
Функция array_diff() сравнивает элементы массивов и возвращает элементы первого массива которых нет во втором, ключи при этом сохраняются. Пример использования: $a = array (22=>'кошка','мышка','сапог','пряник'); $b = array (13=>'кошка','пряник','кино','стакан'); $arr = array_diff ($a, $b); print_r($arr); Array ( [23] => мышка [24] =>…
  2017-08-31 21:58:33 | Категория: PHP
   ОФОРМЛЕНИЕ РАБОЧЕЙ СРЕДЫ KDE
KDE Software Compilation — свободная среда рабочего стола и набор программ от проекта KDE. До начала 2010 года была известна как KDE (сокращение от K Desktop Environment). Построена на основе кросс-платформенного инструментария разработки пользовательского интерфейса Qt. Работает преимущественно под UNIX-подобными операционными системами, которые используют графические подсистемы X Window…
  2017-08-02 14:17:32 | Категория: Система
   POGO – МИНИМАЛИСТИЧНЫЙ И ЛЁГКИЙ МУЗЫКАЛЬНЫЙ ПРОИГРЫВАТЕЛЬ
Проигрыватель Pogo очень прост в использовании, поддерживает форматы Ogg Vorbis, MP3, FLAC, Musepack, Wavpack и MPEG-4 AAC, импорт и экспорт списков воспроизведения. Добавлять файлы можно через контекстное меню или простым перетаскиваем их в окно программы. Через меню программы «Параметры» можно включить эквалайзер, настроить загрузку обложек альбомов и параметры всплывающих уведомлений. Установка Pogo в Ubuntu В терминале…
  2017-08-11 19:31:01 | Категория: Мультимедиа
   ДИСК GOOGLE
Диск Google. Храните ваши файлы в Интернете – делитесь ими с друзьями и коллегами! Диск Google — облачное хранилище данных, принадлежащее компании Google Inc., позволяющее пользователям хранить свои данные на серверах в облаке и делиться ими с другими пользователями в Интернете. После активации заменяет собой Документы Google. В Диске Google предоставляется 15 гигабайт для бесплатного хранения данных. Если…
  2017-08-07 20:33:58 | Категория: Интернет

Вверх