ПлохоНиже среднегоПосредственноХорошоОтлично (Пока оценок нет)
.
 Простое пошаговое руководство для новичков по установке ftp — сервера proftpd.FTP_Server

 FTP (англ. File Transfer Protocol — протокол передачи файлов) — стандартный протокол, предназначенный для передачи файлов по TCP-сетям (например, Интернет).  FTP часто используется для загрузки сетевых страниц и других документов с частного устройства  на открытые  хостинга.Протокол построен на архитектуре «клиент-сервер» и использует разные сетевые соединения для передачи команд и данных между клиентом и сервером. Пользователи FTP могут пройти аутентификацию, передавая логин и пароль открытым текстом, или же, если это разрешено на сервере, они могут подключиться анонимно. Можно использовать протокол SSH для безопасной передачи, скрывающей (шифрующей) логин и пароль, а также шифрующей содержимое.

FTP является одним из старейших прикладных протоколов, появившимся задолго до HTTP, и даже до TCP/IP, в 1971 году. В первое время он работал поверх протокола NCP[1]. Он и сегодня широко используется для распространения ПО и доступа к удалённым хостам.

 Из многих приложений для организации такого сервиса  был выбран пакет proftpd. Ниже — подробно и пошагово описан процесс установки и настройки.

ProFTPd — FTP-сервер для Linux и UNIX-подобных операционных систем. ProFTPd использует лишь один конфигурационный файл «proftpd.conf», который располагается по умолчанию в:
Linux — «/etc/proftpd/proftpd.conf»
FreeBSD — «/usr/local/etc/proftpd.conf»

Установка proftpd:

sudo apt-get install proftpd

Выйдет вопрос о способе запуска. Для чистоты эксперимента я выбрал: «самостоятельно».

Создаем в /HOME каталоге папку studylinuxftp ( не обязательно такое имя папки, это имя просто для удобства, — можно использовать любое и не корень домашней папки.:

sudo mkdir /home/studylinuxftp

Теперь создаем пользователя с именем studylinux (с домашней папкой \home\studylinuxftp):

sudo useradd studylinux -p пароль -d /home/studylinuxftp

Вместо «пароль» – ввести свой пароль ВНИМАНИЕ!!! Пароль только из цифр РАБОТАТЬ НЕ БУДЕТ!!! Проверено! (времязатраты — минут около 30-40ка(((.)

В папке studylinuxftp создаем две вложенные папки(называем как хотим):

sudo mkdir /home/studylinuxftp/public
sudo mkdir /home/studylinuxftp/upload

Им необходимо присвоить права:

sudo chmod 755 /home/studylinuxftp
sudo chmod 755 /home/studylinuxftp/public 
sudo chmod 777 /home/studylinuxftp/upload

Public – только чтение. upload – запись. Подробнее о правах на файлы в Linux тут.

Для резервной копии переименовываем имеющийся конфигурационный файл proftpd.conf (очень удобно делать так при правке файлов сайта или конфигов — без скачивания и последующей закачки бекапа вы делаете быстро резервную копию и в три секунды можете ее восстановить) и создаем новый:

sudo mv /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf.old
sudo nano /etc/proftpd/proftpd.conf

Добавляем в него:

# ненужный протокол
UseIPv6 off
AllowOverwrite on
AuthAliasOnly on
# Здесь присваивается alias пользователю (в качестве примера присвоено имя test, его нужно изменить на свое)
UserAlias test studylinux
ServerName "server"
ServerType standalone
DeferWelcome on
MultilineRFC2228 on
DefaultServer on
ShowSymlinks off
TimeoutNoTransfer 600
TimeoutStalled 100
TimeoutIdle 2200
DisplayChdir .message
ListOptions "-l"
RequireValidShell off
TimeoutLogin 20
RootLogin off
# пути для логов
ExtendedLog /var/log/ftp.log
TransferLog /var/log/xferlog
SystemLog /var/log/syslog.log
#DenyFilter \*.*/
UseFtpUsers off
# Allow to restart a download
AllowStoreRestart on
# Стандартный порт - 21,но можно выбрать любой:
Port 21
# повышение безопасности
MaxInstances 8
# пользователь и группа
User nobody
Group nogroup
# Umask 022 ограничение на создание файлов и папок
Umask 022 022
PersistentPasswd off
MaxClients 8 "Достигнут предел на количество клиентов"
MaxClientsPerHost 8 "Достигнут предел на количество клиентов с Вашего хоста"
MaxClientsPerUser 8 "Достигнут предел на количество подключений (%m)"
MaxHostsPerUser 8 "Больше нельзя"
# вывод приветствия после успешного входа
AccessGrantMsg "Добро пожаловать на ftp сервер studylinux.ru"
# идентификация
ServerIdent on "Мой домашний сервер"
# делаем /home/studylinuxftp папку домашней
DefaultRoot /home/studylinuxftp
# запрещаем выходить пользователям за пределы домашней папки (строго рекомендуется)
DefaultRoot ~
MaxLoginAttempts 5 "Количество попыток входа исчерпано"
#VALID LOGINS
<Limit LOGIN>
AllowUser studylinux
DenyALL
</Limit>
 
<Directory /home/studylinuxftp>
Umask 022 022
AllowOverwrite off
<Limit MKD STOR DELE XMKD RNRF RNTO RMD XRMD>
DenyAll
</Limit>
</Directory>
 
<Directory /home/studylinuxftp/public/*>
Umask 022 022
AllowOverwrite off
<Limit MKD STOR DELE XMKD RNEF RNTO RMD XRMD>
DenyAll
</Limit>
</Directory>
 
<Directory> /home/studylinuxftp/upload/>
Umask 022 022
AllowOverwrite on
<Limit READ RMD DELE>
DenyAll
</Limit>
 
<Limit STOR CWD MKD>
AllowAll
</Limit>
</Directory>
 
# # анонимный доступ
#<Anonymous /папка/для/доступа>
# User studylinux
# Group nogroup
# UserAlias anonymous studylinux
# MaxClients 8 "Извините, максимум %m пользователей - попробуйте подключиться позже"
# DisplayChdir .message
#
# <Directory *>
# <Limit WRITE>
# DenyAll
# </Limit>
# </Directory>
#</Anonymous>

 

После произведенных действий фтп-сервер будет иметь следующие параметры доступа:

user (пользователь): test
password (пароль): pass (тот, что присвоен для studylinux)

Пользователей можно создать хоть все 65 примерно тысяч, но все они должны быть прописаны в файле proftpd.conf. Если нужно сделать анонимный доступ, следует закомментировать обе секции для test и раскомментировать секцию для Anonymous. Рестарт сервера нужен для вступления в силу конфига:

sudo /etc/init.d/proftpd restart

Очень просто можно подключить любую папку к фтп-серверу  без редактирования конфига:

sudo mount -o bind /здесь/путь/папки/что/я/хочу/расшарить/ /home/studylinuxftp/public

или:

sudo mount -o bind /здесь/путь/папки/что/я/хочу/расшарить/ /home/studylinuxftp/upload

Таким образом можно в срочном порядке временно подключить папку или диск и потом отмонтировать командой:

sudo umount /home/studylinuxftp/public
sudo umount /home/studylinuxftp/upload

Надеюсь, было просто и понятно — по крайней мере, у меня получилось. Основные трудности — необходимость создания аллиаса пользователю системы в конфиге сервера и четкая простановка прав на папки. Есть вещи весьма не очевидные, как-то что пароль не может состоять из одних цифр, из соображений безопасности proftpd с таким паролем работать отказывается.

  Удачи и хорошего Вам времени суток.
adminАдминистрированиеПрограммыРуководстваСправочники командСтатьиDebian,FTP,Linux,Mint,ProFTPd,Ubuntu,Администрирование,Программы,Руководства,Сети,Справочник команд
 Простое пошаговое руководство для новичков по установке ftp - сервера proftpd.  FTP (англ. File Transfer Protocol — протокол передачи файлов) — стандартный протокол, предназначенный для передачи файлов по TCP-сетям (например, Интернет).  FTP часто используется для загрузки сетевых страниц и других документов с частного устройства  на открытые  хостинга.Протокол построен на архитектуре «клиент-сервер» и использует...
ПлохоНиже среднегоПосредственноХорошоОтлично (Пока оценок нет)