FTP сервер
Содержание:
Передача файлов по FTP через терминал
Мы могли бы использовать telnet для передачи файлов по FTP через терминал, но это слишком сложно и не нужно. Существует консольный клиент FTP с более простым синтаксисом и достаточными возможностями. Сначала рассмотрим общий синтаксис и команды утилиты:
$ ftp опции адрес_сервера
Опций у утилиты всего несколько, но нам нужно их рассмотреть, потому что они могут быть вам очень полезны:
- -A — использовать активный режим во время передачи файлов;
- -p — использовать пассивный режим, используется по умолчанию;
- -i — отключать интерактивный режим во время передачи файлов;
- -n — попытаться использовать автоматический вход;
- -e — отключить историю команд;
- -v — максимально подробный вывод;
- -d — включить режим отладки.
Дальше рассмотрим команды интерактивного режима, которые вы будете использовать для подключения к серверу и управления файлами:
- account — отправить серверу свой пароль для авторизации;
- append — добавить локальный файл в конец удаленного файла на сервере;
- ascii — передавать файлы в кодировке ASCII;
- binary — передавать файлы в бинарном формате;
- bye — завершить сессию;
- cd — перейти в папку;
- cdup — перейти в папку уровнем выше;
- chmod — изменить права на файл;
- delete — удалить файл с сервера;
- dir — посмотреть список файлов в папке;
- get — скачать файл из сервера на локальную машину;
- hash — отображать статус передачи файла;
- lcd — сменить рабочую директорию на локальной машине;
- ls — список файлов в папке;
- mdelete — удалить несколько файлов;
- mget — скачать несколько файлов;
- mkdir — создать папку;
- mput — передать несколько файлов на сервер;
- open — подключится к удаленному FTP серверу;
- put — передать файл на сервер;
- pwd — вывести текущую папку;
- recv — то же самое что и get;
- rename — переименовать файл на сервере;
- rmdir — удалить папку;
- size — узнать размер файла;
- user — авторизоваться на сервере.
Это далеко не все команды, которые вы можете использовать для передачи файлов, но здесь перечислено все самое основное, и вам их точно хватит для решения простых задач.
Сначала подключаемся к нашему серверу, команде нужно передать адрес сервера:
Затем авторизуемся на сервере, нужно передать логин и пароль:
Только после этого перед нами открывается командная оболочка FTP клиента. Именно здесь будет выполняться передача файлов ftp. Изменим текущую папку на FTP, затем посмотрим ее содержимое и выведем полный адрес текущей папки:
Перейдем в папку documents на удаленном сервере и посмотрим ее содержимое:
Чтобы скачать файл по FTP с удаленного сервера нам нужно использовать команду get. Просто передайте команде имя файла:
Теперь файл находится на нашей локальной машине. Мы можем выполнять команды на локальной машине если перед ними добавить символ «!». Например, посмотрим содержимое домашней папки чтобы убедиться, что файл был загружен:
Загрузка файлов по FTP на сервер выполняется с помощью команды put, причем, здесь, как и в предыдущей команде можно задать имя создаваемого файла:
Также можно управлять файлами на удаленном сервере. Переименуем файл doument1.pdf, так чтобы он назывался правильно:
Затем удалим document3:
Для завершения сеанса FTP наберите Bye:
Сейчас многие FTP серверы используют шифрование на основе ssl сертификатов. Это необходимая мера, которая позволяет обезопасить данные пользователей. Для подключения к таким серверам необходимо использовать утилиту sftp, в остальном же процесс и команды не отличаются.
Связанные задачиRelated Tasks
Значения свойств можно задавать с помощью конструктора Integration ServicesSSIS или программными средствами.You can set properties through Integration ServicesSSIS Designer or programmatically.
Дополнительные сведения о настройке этих свойств в конструкторе Integration ServicesSSIS см. в разделе Задание свойств задач или контейнеров.For information about how to set these properties in Integration ServicesSSIS Designer, see Set the Properties of a Task or Container.
Дополнительные сведения о настройке этих свойств программным путем см. в разделе FtpTask.For more information about programmatically setting these properties, see FtpTask.
Как пользоваться
Чтобы разобраться, как использовать возможности FTP-сервера, необходимо понять его особенности. Одной из главных является необходимость ввести свои данные, чтобы подключиться. Вместо ввода имени и пароля можно воспользоваться анонимным соединением. Паролем в таком случае является anonymous, а логином служит электронная почта.
С точки зрения безопасного соединения FTP-протокол достаточно уязвим. Это объясняется тем, что его разрабатывали еще в те времена, когда многие виды атак не имели достаточной популярности. Вся информация, в том числе и личные данные, не шифруются. Чтобы отправлять и получать зашифрованные файлы, используют расширение протокола FTPS.
Создание и настройка FTP
-
Раскройте панель управления компьютером.
-
Перейдите к разделу «Программы».
-
Перейдите к подразделу «Программы и компоненты».
-
Кликнете по вкладке «Включение и отключение компонентов».
-
В развернувшемся окошке найдите древо «Службы IIS» и активируйте все компоненты, в него входящие.
-
Сохраните результат и дождитесь, пока включённыеэлементы будут добавлены системой.
-
Возвратитесь к главной странице панели управления и перейдите к разделу «Система и безопасность».
-
Перейдите к подразделу «Администрирование».
-
Откройте программу «Диспетчер служб IIS».
-
В появившемся окошке обратитесь к древу, находящемуся в левой стороне программы, щёлкните правой кнопкой мышки по подпапке «Сайты» и перейдите к функции «Добавить FTP-сайт».
-
Заполните поле с названием сайта и пропишите путь до папки, в которую будут отправляться принимаемые файлы.
-
Начинается настройка FTP. В блоке IP-адрес поставьте параметр «Все свободные», в блоке SLL параметр «Без SSL». Включённая функция «Запускать сайт FTP автоматически» позволит серверу включаться самостоятельно каждый раз при включении компьютера.
-
Проверка подлинности позволяется выбрать два варианта: анонимный — без логина и пароля, обычный — с логином и паролем. Отметьте те варианты, которые подходят вам.
-
Создание сайта на этом завершается, но необходимо выполнить ещё некоторые настройки.
-
Возвратитесь к разделу «Система и безопасность» и перейдите из него к подразделу «Брандмауэр».
-
Откройте дополнительные параметры.
-
В левой половине программы сделайте активной вкладку «Правила для входящих подключений» и активируйте функции «FTP сервер» и «Трафик FTP-сервера в пассивном режиме», кликая по ним правой кнопкой мышки и указывая параметр «Включить».
-
В левой половине программы сделайте активной вкладку «Правила для исходящих подключений» и запустите таким же методом функцию «Трафик FTP-сервера».
-
Следующий шаг — создание новой учётной записи, которая получит все права по управлению сервером. Для этого возвратитесь к разделу «Администрирование» и выберите в нём приложение «Управление компьютером».
-
Находясь в разделе «Локальные пользователи и группы», выберите подпапку «Группы» и начните создание в ней ещё одной группы.
-
Заполните все необходимые поля любыми данными.
-
Перейдите к подпапке «Пользователи» и начните процесс создания нового пользователя.
-
Заполните все необходимые поля и завершите процесс.
-
Откройте свойства созданного пользователя и раскройте вкладку «Членство в группах». Кликнете по кнопке «Добавить» и внесите пользователя в группу, которую создавали чуть раньше.
-
Теперь перейдите к папке, которая отдана для использования сервером FTP. Откройте её свойства и перейдите к вкладке «Безопасность», кликнете в ней по кнопке «Изменить».
-
В открывшемся окошке кликнете по кнопке «Добавить» и внесите в список группу, которая была создана ранее.
-
Выдайте все разрешения внесённой группе и сохраните внесённые изменения.
-
Вернитесь к диспетчеру служб IIS и перейдите к разделу с созданным вами сайтом. Откройте функцию «Правила авторизации FTP».
-
Кликнете правой клавишей мышки по незаполненному месту в развернувшемся подпункте и выберите действие «Добавить разрешающее правило».
-
Отметьте галочкой пункт «Указанные роли или группы пользователей» и заполните поле именем зарегистрированной ранее группы. Разрешения необходимо выдать все: чтение и запись.
-
Вы можете создать ещё одно правило для всех остальных пользователей, выбрав в нём «Все анонимные пользователи» или «Все пользователи» и установив разрешение только на чтение, чтобы никто кроме вас не мог редактировать данные, хранящиеся на сервере. Готово, на этом создание и настройка сервера завершена.
Пример сеанса FTP
Мы подключились к серверу на порт 21, создали управляющее соединение, сервер нам выдал ответ.
Ответ FTP сервера, также как и ответы серверов многих прикладных протоколов состоят из двух частей, первая 220 статус, а вторая поясняющее сообщение Welcome to the FTP Server. Статус ответа 220, коды которой начинаются с 2, говорят об успешном выполнении команды, поясняющее сообщение содержит приветствие “Добро пожаловать на FTP сервер”.
Сначала необходимо пройти аутентификацию. Для этого используется команда USER anonymous и мы хотим подключиться, как анонимный пользователь.
Сервер отвечает сообщением со статусом 331. Код, который начинается с 3 говорит о том, что предыдущая команда была выполнена успешно и ожидается продолжение выполнения связанных действий.
Устанавливаем бинарный режим передачи файлов с помощью команды TYPE 1. Сервер отвечает, что тип передачи данных успешно установлен в 1. 200 Type set to 1.
Мы хотим загрузить сервера в файл, показан путь /pud/tex/latex/llncs2e.zip, но перед тем как загрузить, мы хотим узнать его размер, для этого выдаем команду SIZE /pud/tex/latex/llncs2e.zip. Сервер в ответ выдает размер файла в байтах 213 230229.
Переходим в пассивный режим с помощью команды PASV.
В ответ сервер говорит, что он перешел в пассивный режим 227 Entering Passive Mod (213, 71, 6, 142, 35, 141) и передает нам 6 чисел, которые нужно использовать для установки соединения для передачи данных. Первые 4 числа это IP-адрес, вторые два числа используются, чтобы узнать порт на который нужно установить соединение. Первое число 35 нужно умножить на 256 и прибавить второе число 141, так мы узнаем порт.
Для того, чтобы загрузить нужный нам файл используем команду RETR /pud/tex/latex/llncs2e.zip. После того, как мы выдали эту команду сервер ждет, что мы установим соединение с IP-адресом и портом, которые он нам указал.
После того, как соединение для передачи данных установлено, сервер сообщает нам об этом в управляющем соединении. 150 Opening BINARY mode data connection for /pud/tex/latex/llncs2e.zip (230229 bytes). Также сервер говорит, что передача данных ведется в бинарном режиме.
После того, как передача файла закончена, сервер сообщает нам об этом 226 Transfer complete. Клиент выдает команду QUIT чтобы разорвать соединение. Сервер сообщает нам некоторую статистику, сколько было передано байт и файлов. 221 You have transferred 239229 bytes in 1 file. И говорит до свидания 221 Goodbye. На этом сеанс работы по протоколу FTP завершен.
Бесплатный FTP сервер
Выбор именно FTP сервера для хранения бекапов обусловлен тем, что это самый распространенный способ передачи данных, который реализован в большинстве панелей управления хостингом, будь то CPanel, ISPManager или VestaCP. То есть для создания резервной копии и передачи ее на удаленный сервер вам не надо устанавливать дополнительное программное обеспечение, все можно сделать прямо из панели управления. В том числе автоматическое создание бекапов по расписанию, к примеру каждый день в 5 часов утра.
В идеале для хранения бекапов лучше купить специализированный хостинг. Например облачное хранилище в компании Селектел. Но так как я в большинстве своих статей описываю продукты и решения которые позволяют сэкономить ваши деньги, то сегодня напишу о известных мне бесплатных способах хранения резервных копий.
Не бесплатный FTP сервер от net2ftp.ru
Данный сервис раньше предлагал бесплатно FTP сервер + доступ по Web (http), место на диске 20 Гб, скорость доступа 20 мбит/сек, 2 года хранения (если к файлу не обращались более 2-х лет, то он удаляется).
Чтобы зарегистрироваться достаточно ввести адрес электронной почты. Для хранения данных предлагают два сервера, один в России, другой в Словении.
И если Ваша почта test@test.ru. и Вы подключились к серверу node0.net2ftp.ru., в нем создали папку /public_http, и загрузили в нее файлы. То теперь эти файлы будут доступны по адресу http://net2ftp.ru/node0/test@test.ru/.
Я протестировал доступ к этому хранилищу из панели ISPmanager, все работает без сбоев уже несколько месяцев.
Бесплатный тариф хостинг 2×4.ru
Второе место, которое я использую в качестве бесплатного хранилища резервных копий — это бесплатный хостинг компании 2×4.ru.
Бесплатный тариф предлагает 3 ГБ дискового пространства. Что конечно же меньше, чем у предыдущей компании, но все так же бесплатно. И помня о том, что не нужно класть все яйца в одну корзину я складываю резервные копии сразу в два хранилища:
Клиент и сервер
Для работы по FTP нужны двое: FTP-сервер и FTP-клиент. Что делает сервер:
- обеспечивает доступ по логину и паролю к нужным файлам;
- показывает пользователю только те файлы и папки, которые он может просматривать или загружать в них;
- следит за качеством передачи и смотрит, чтобы не было ошибок;
- управляет параметрами соединения в пассивном режиме.
Так как FTP пришёл к нам из времён UNIX-систем, то любое соединение требует логина и пароля. Если у пользователя его нет, сервер его не пропустит. Но чтобы сделать файлы доступными для всех, используют анонимный режим. В нём логином будет слово anonymous, а паролем — любой адрес электронной почты. Современные браузеры умеют сами заходить на анонимные FTP-серверы и подставлять почту. Со стороны это выглядит так, как будто никакого логина и пароля нет, но они есть.
Когда запускается FTP-сервер, ему говорят: «Уважаемый сервер, вот список файлов и папок, которые нужно показывать на сервере. Если к тебе постучится пользователь с таким-то логином и паролем, то покажи ему всё, а если с вот таким логином — то дай ему одну только эту папку. Анонимов не пускать». Ещё один обязательный параметр — адрес сервера и порт, по которому будет идти передача файлов.
Чтобы подключиться к серверу, нужна специальная программа, их ещё называют FTP-клиентами. Для каждой операционной системы есть много своих клиентов, например, FileZilla или CuteFTP. Те, кто работает в Linux-подобных системах, часто используют командную строку.
Интерфейс CuteFTP для MacOS.
Работа с FTP в командной строке.
Такая схема работы часто используется в виртуальных хостингах, когда нужно получить доступ к содержимому сайта или изменить конфигурационные файлы.
Настройка программы FTP сервера
Установка FileZilla Server
Скачайте и установите любой FTP-сервер, который вам нравится, или с которым вы привыкли работать. Мы для примера скачаем бесплатную программу Filezilla Server с официального сайта: https://filezilla-project.org/download.php?type=server
Запустите скачанный установочный файл:
Нажмите Далее:
Нажмите Отклоняю:
Нажмите Отклоняю ещё раз:
Нажмите Установить:
Нажмите I agree:
Next:
Next:
Install:
Настройка FTP-сервера FileZilla
Запустите интерфейс программы.
Войдите в настройки: меню Edit -> Settings:
Теперь нужно настроить пассивный режим FTP.
1) Выберите раздел Passive mode settings;
2) Установите галку Use custom port range;
3) Задайте удобный для вас диапазон портов для использования в пассивном режиме;
4) В поле Use the following IP пропишите ваш внешний IP;
5) Нажмите кнопку OK для сохранения настроек.
Теперь необходимо настроить учётные записи пользователей и указать домашние директории.
Войдите в меню Edit и выберите Users:
В разделе General нажмите Add:
Введите имя пользователя и нажмите OK:
1) Установите галку возле Password. Этим вы укажете, что для данной учётной записи будет требоваться пароль.
2) Задайте пароль для данной учётной записи;
3) Перейдите в раздел Shared folders:
В разделе Shared folders нажмите Add:
и выберите папку, которая будет открыта данному пользователю для доступа через протокол FTP. После выбора общей папки нажмите OK:
Задайте разрешения для данного пользователя в папке.
В области Файлы вы можете разрешить или запретить следующие операции с файлами:
- Чтение;
- Запись;
- Удаление;
- Изменение.
В области Папки вы можете разрешить или запретить следующие операции с папками:
- Создание;
- Удаление;
- Просмотр списка;
- Просмотр вложенных папок.
После того, как вы зададите разрешения для данного пользователя в текущей папке, нажмите OK для сохранения настроек:
Запуск и работа с FileZilla
После установки программу нужно запустить. Мгновенно откроется окно, которое разделено на несколько разделов. Вверху, как обычно, находятся основные функции утилиты.
В окошках слева присутствуют локальные диски вашего компьютера. В окошках справа будут отображаться удаленные файлы, например, с сервера или хостинга. Конечно, сначала нужно зарегистрироваться на хостинге и получить данные для FTP-подключения. Обычно это адрес сервера, имя пользователя и пароль.
Чтобы подключиться быстро можно использовать поля раздела вверху программы. Там есть «Хост» — имя или адрес сервера, «Имя пользователя» — полученное от вашего хостера, «Пароль» — также полученный от хостера или измененный вами и «Порт» — обычно это 21.
Пример подключения к хостингу или серверу веб-сайта
После регистрации на портале хостинг-провайдера вам на почту присылают основные данные для входа на веб-ресурс и для подключения по FTP. Обычно это следующая информация:
- IP-адрес сервера – к примеру, такой 22.22.111.233;
- Имя пользователя – по умолчанию может стоять «root», если не меняли (но лучше поменять на что-то своё);
- Пароль – можно при желании изменить, но обязательно надо запомнить.
Заходим в FileZilla и переходим в меню «Файл», выбираем там пункт «Менеджер сайтов».
В открывшемся окне нажимаем кнопку «Новый сайт» и даём ему имя. Теперь в правой части окошка вбиваем следующую информацию:
- Хост – имя/адрес сервера;
- Порт – можно оставить пустым, либо прописать 21;
- Протокол – по умолчанию FTP, но если поддерживается SSH (SFTP), используем его;
- Тип входа – хостинг-провайдеры предлагают разные типы входа, но обычно это «Нормальный»;
- Пользователь – имя пользователя;
- Пароль – ввод пароля, предоставленный хостером.
Для подключения к веб-сайту нажимаем кнопку «Соединиться» и ждём.
Вверху окна утилиты можно видеть статус подключения, в результате которого должно произойти извлечение каталогов. Они появятся в правом разделе «Удаленный сайт».
Если вы решили создать сайт на виртуальном или физическом сервере, такой FTP-клиент, как FileZilla подойдет для этих целей очень хорошо. Подключиться можно к любому компьютеру, выступающему в качестве удаленного сервера.
Сам FTP протокол используется уже очень давно и способен передавать любые файлы и папки по TCP-сетям, используя 21 порт. Для использования нужно ввести данные, обычно логин, пароль и адрес хоста.
Копилка
-
Как на крыльях бабочек создается защитное изображение змеи
Бабочки, конечно, ничего не знают о змеях. Зато о них знают птицы, охотящиеся на бабочек. Птицы, плохо распознающие змей, чаще становятся…
-
Если octo на латыни «восемь», то почему октава содержит семь нот?
Октавой называется интервал между двумя ближайшими одноименными звуками: до и до, ре и ре и т. д. С точки зрения физики «родство» этих…
-
Почему важных особ называют августейшими?
В 27 году до н. э. римский император Октавиан получил титул Август, что на латыни означает «священный» (в честь этого же деятеля, кстати,…
-
Чем пишут в космосе
Известная шутка гласит: «NASA потратило несколько миллионов долларов, чтобы разработать специальную ручку, способную писать в космосе….
-
Почему основа жизни — углерод?
Известно порядка 10 миллионов органических (то есть основанных на углероде) и лишь около 100 тысяч неорганических молекул. Вдобавок…
-
Почему кварцевые лампы синие?
В отличие от обычного стекла, кварцевое пропускает ультрафиолет. В кварцевых лампах источником ультрафиолета служит газовый разряд в парах ртути. Он…
-
Почему дождь иногда льет, а иногда моросит?
При большом перепаде температур внутри облака возникают мощные восходящие потоки. Благодаря им капли могут долго держаться в воздухе и…
Углубленная настройка FileZilla Server — пользователи, приветстве и прочее
В следующем подпункте можно настроить приветственное сообщение, которое будут видеть пользователи при подключении. Например: “Сервер Заметок Сис. Админа на FileZilla Server! :)”. Здесь же можно воспользоваться, так называемыми, текстовыми параметрами. Например, можно задать вывод для клиентов версии ftp-сервера. Для этого введите, помимо приветствия, сочетание символов %v . В месте где Вы их введете, будет автоматически выводится вышеупомянутая версия.
Далее переходим на подпункт “IP bindings”. Здесь настраиваются IP-адреса, по которым будет доступен наш FTP сервер. Если Вам хочется, чтобы сервер был доступен только из локальной сети, то вместо звёздочки, следует указать ваш локальный IP-адрес, как например, 192.168.1.5. В противном случае, здесь трогать ничего не стоит.
В подпункте “IP Filter” можно задать IP адреса (или их диапазон), которым будет запрещено подключаться к Вашему серверу, а так же задать исключения из заданного диапазона (второе поле).
Т.е, например, если Вы хотите кого-то забанить и запретить ему попадать на Ваш сервер, то укажите его в первом окошке. Так же, если Вы хотите предоставить доступ только кому-то определенному и запретить всем остальным, то поставьте звёздочку в первом поле и задайте список IP-адресов во втором.
Вкладка “Passive mode settings” регламентирует параметры для пассивного подключения к серверу и отклик оного.
Менять здесь что-либо стоит только в том случае, если Вы подключены к интернету не напрямую, а через роутер, на котором обитает фаерволл и NAT. В этом случае может потребоваться указать в поле «Use the following IP» свой внешний IP-адрес (можно узнать у провайдера или в интерфейсе роутера), а так же задать диапазон портов (Use custom port range), через которые клиент сможет подключаться к Вашему серверу в пассивном режиме.
Трогать эти настройки стоит, пожалуй, только в случае проблем с подключением пользователей. В случае оных и невозможности разобраться самостоятельно, я дам Вам консультацию по настройкам исключительно для Вас (пишите комментарии).
Идем далее. В пункте настроек “Security Settings” задаются ограничения на входящие и исходящие соединения типа “сервер-сервер”. Здесь ничего менять не стоит.
Раздел настроек “Miscellaneous” содержат малозначительные для домашнего фтп-сервера настройки. Например, такие как “Не показывать пароль в лог-файлах” (Don’t show passwords in message log), “Запускать интерфейс свернутым” (Start minimized), а так же размеры буферов передачи. Трогать здесь, в общем-то, ничего не нужно.
На вкладке “Admin Interface Settings” можно задать IP-адрес и порт, по которым будет доступен интерфейс управления сервером (тот самый, что мы вначале использовали как 127.0.0.1 и 14147, т.е, если есть желание, то Вы можете их сменить). Кроме того, можно указать IP-адреса, которым разрешено подключаться к нему.
Раздел настроек “Logging” позволяет включать запись лог-файлов (Enable logging to file), настроить их максимальный размер (Limit log file size to), писать все в один файл (Log all to «FileZilla Server.log») или для каждого дня создавать отдельный (в этом случае можно ограничить их максимальный срок хранения).
Вкладка “GSS Settings” отвечает за использования протокола Kerberos GSS. Для обычного использования эта опция не требует настройки.