FTP-клиенты в Linux. FTP клиенты в Ubuntu (1)

    FileZilla - один из лучших бесплатных FTP-менеджеров с открытым исходным кодом (open source), обладающий впечатляющими возможностями:

  • Кроссплатформенность. Работает на Windows, Linux, *BSD, Mac OS X и других ОС
  • Поддержка множества прикладных протоколов передачи данных - FTP, FTP поверх SSL/TLS (FTPS) и SSH File Transfer Protocol (SFTP), HTTP, SOCKS и FTP-Proxy
  • Поддержка протокола IPv6
  • Поддержка drag & drop
  • Мультиязычность
  • Имеется удобный мастер настройки сетевого подключения
  • Возможность настройки скорости передачи
  • Возобновление передачи файлов при обрыве соединения (докачка), а также поддержка больших файлов.
  • Поддержка очереди закачек.
  • Удаленный поиск и редактирование файлов.
  • Удобный менеджер сайтов.
  • и много других возможностей, которыми не обладают даже платные аналоги.

    Программа обладает удобным и приятным интерфейсом, в ней присутствует множество поддерживаемых языков, и кроме того, существует переносимая (portable) версия, которую можно установить на флэш-диск и пользоваться ей на других компьютерах без установки.

    После установки, Filezilla FTP клиент готов к работе без необходимости изменения каких-либо настроек. Для подключения к FTP - серверу достаточно ввести его адрес или имя, учетные данные и, при необходимости, номер порта. В программе используются всплывающие окна с подсказками при наведении курсора на поле, в которое выполняется ввод данных:

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

    Контекстное меню, вызываемое правой кнопкой мышки на файлах и каталогах в окне ”Локальный сайт” позволяет выполнять определенные действия по отношению к объектам локального компьютера:

    Пункты меню позволяют выполнять перемещения по структуре каталогов, удалять и переименовывать файлы и папки и либо сразу передавать данные на сервер, при выборе пункта ”Закачать на сервер”, либо добавить выбранный объект в задание для закачки, которое можно будет выполнить позже.

    Аналогичное контекстное меню используется и по отношению к файлам и папкам в окне ”Удаленный сайт”

    Также, как и для локальной файловой системы, контекстное меню позволяет либо сразу передать выбранный объект на локальный компьютер при выборе пункта ”Скачать”, либо добавить его в задание, которое можно будет выполнить позже. Можно, например выбрать несколько файлов и папок в разных каталогах сервера, добавив их в задание и затем нажать комбинацию клавиш Ctrl+P или выбрать пункт меню ”Передача - Выполнить задание”. Для отмены выполняющегося задания используется повторное нажатие CTRL+P . Прерванное задание можно продолжить.

    Задания на прием и передачу данных сохраняются, даже если прервать сеанс связи с сервером или перезапустить программу. Для управления заданиями используется свое контекстное меню:

    Имеется возможность выполнить отмеченное задание, отменить все задания, установить приоритеты и поведение при необходимости перезаписи существующих файлов и каталогов.

    Filezilla устанавливается с настройками, которые являются оптимальными для наиболее распространенных случаев обмена файлами между локальным компьютером и серверами в локальной сети или в Интернет, однако, при необходимости настройки можно изменить, через меню ”Редактирование - Настройки”

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

    Файловый менеджер Nautilus - как FTP и WebDav клиент.

    В последенем релизе Ubuntu 13.04, в качестве файлового менеджера по-умолчанию, используется новая версия Nautilus 3.6.XXX. Как мы знаем, именно эта версия "наутилуса" вызвала неоднозначные мнения, а по существу, большинство пользователей были неприятно удивлены тем, насколько "недоразвитым" оказался данный релиз, да еще применяемый в системе по-умолчанию. Многие, тут же бросились искать какую-либо альтернативу, одной из которых являлся Nemo - аналог "наутилуса" в дистрибутиве Linux Mint , рабочее окружение Cinnamon . Nemo безусловно хорош во всем, но его установка на Ubuntu , тянула за собой всю рабочую оболочку Cinnamon .

    CrossFTP - еще один FTP клиент, написанный на JAVA , использующий вполне знакомый тип проводникового интерфейса и довольно неплохими общими характеристиками, относительно своей функциональности и возможностям. Основной и главной версией программы является CrossFTP Pro , чисто коммерческого плана, обладающая полным набором характеристик. CrossFTP - бесплатный вариант клиента, с несколько урезанным потенциалом, но вполне достаточного для стандартного выполнения задач, при работе по данному типу протокола. Вообще по общему рейтингу, программа занимает неплохие позиции, особенно это касается полной версии, но честно говоря, несколько отталкивает, если можно так выразиться, реализация с использованием JAVA .

    JFTP - еще один представитель из класса клиентских FTP -приложений, созданный при помощи языка программирования JAVA и является аналогом своего коммерческого "собрата" JFTP 4.0 от jMethods . Программа имеет свой собственный, индивидуальный интерфейс, не похожий на какие-либо другие, используемые в подобных программах. Надо сказать, что первоначально, JFTP не производит особого впечатления, несколько "унылый" какой-то внешний вид, да еще отсутствие русского языка, тоже воодушевления не придает. На самом же деле, мощь и функционал программы, весьма и весьма существенны и лишь немногим уступает, по своим возможностям, такому великолепному клиенту, как FileZilla .

    KFTPgrabber - достаточно мощный FTP клиент Ubuntu , с наличием широкого спектра имеющихся функциональных возможностей, предназначенных для работы по данному протоколу, с поддержкой шифрования трафика по TLS/SSL . Программа оснащена современным двухоконным интерфейсом, каждое из которых, как бы разделено еще на два, образуя таким образом, разделяемую навигационную область. Это несколько непривычно и поначалу, создается ощущение некого перебора в плане наличия имеющихся окон, вместо привычной древовидной структуры ориентации, использующейся в большинстве FTP клиентах.

    GNOME Commander - еще один, очень качественный файловый менеджер, работающий на бибилиотеке GTK + и имеющий в своем арсенале модуль для работы по протоколу FTP . Само название уже говорит о том, что данное приложение наиболее предпочтительней использовать в среде GNOME , но совершенно не означает, его невозможность применения и в других рабочих оболочках. Если провести аналогию, то в среде KDE , его оппонентом является , о котором речь велась несколько ранее.

    FTP - да, да, именно так называется программа, просто и незатейливо, но само название, это еще далеко не венец сего творения. Вершиной дизайнерского исскуства (в кавычках), можно назвать, а вернее обозвать, внешний облик программы. Такого сверх-уродства, специально если захочешь, то не найдешь или же, придется изрядно попотеть, в поисках, подобного рода раритета. Ну и в довершение ко всему, для полноты так сказать всей комплектации, стоит отметить, максимум неудобств при использовании программы.

    Как понятно из самого названия, главное предназначение программы, это файловый менеджер, причем очень классный во всех отношениях. Мощнейший, многофункциональный, удобный менеджер файлов, сравнимый по аналогии с Total Commander из OS Windows , но возможно даже покруче будет. Есть правда одно маленькое "но", данное приложение разработано в рамках проекта KDE , а следовательно и предназначено главным образом для использования его в этой рабочей среде.

    Очень даже неплохой, вполне приемлимый FTP -клиент, по своему подобию, так же, как имеет внешнее сходство, со всеми известным клиентом Filezilla . Такой же двухоконный, достаточно простой и удобный, без излишеств интерфейс, плюс к этому можно добавить, кроссплатформенность, многопоточность, безопасный и надежный обмен файлами, графический и консольный вариант управления, мультиязычность (в т.ч. и русский), ну и многое другое.

    FTP (File Transfer Protocol) – протокол передачи файлов. Протокол FTP позволяет передавать и скачивать файлы с сервера. На сегодняшний день данный протокол не является особо популярным, так как он не поддерживает шифрование данных. Вместо FTP используют протокол SFTP (передача данных по SSH), а также протокол SCP . В этой статье рассмотрена настройка обычного FTP-сервера на базе Ubuntu.

    Протокол FTP работает в режиме клиент-сервер. Сервер постоянно слушает запросы от удаленных клиентов на 21 порту. При получении запроса он управляет входом и устанавливает соединение. На протяжении сессии сервер выполняет любые команды, переданные клиентом FTP. В качестве протокола транспортного уровня используется TCP. Для передачи данных FTP использует два типа соединения:

    1. Управляющее соединение (порт 21)
    2. Соединение данных (в активном режиме порт 20, в пассивном любой порт больше 1024)

    Разделение на управляющее соединение и соединение для передачи данных является эффективным. Это позволяет передавать команды и файлы независимо друг от друга.

    FTP поддерживает два типа аутентификации:

    1. Анонимный (логин ftp или anonymous, пароль – электронная почта)
    2. Авторизованный (логин и пароль у каждого пользователя свой)

    При работе по протоколу FTP между клиентом и сервером может быть установлено два режима: активный и пассивный. Управляющее соединение одинаково для Активного и Пассивного режима. Клиент инициирует TCP-соединение с динамического порта (1024 – 65535) к порту номер 21 на FTP-сервере, после чего происходит аутентификация. Дальнейшие действия зависят от того какой режим выбран.

    В активном режиме, после аутентификации, клиент сообщает серверу также номер своего порта (из динамического диапазона 1024 – 65535) для того, чтобы сервер мог подключиться к клиенту для установки соединения передачи данных. FTP-сервер подключается к заданному номеру порта клиента используя со своей стороны номер TCP-порта 20 для передачи данных.

    В пассивном режиме, после аутентификации, сервер сообщает клиенту номер TCP-порта (из динамического диапазона 1024 – 65535), к которому можно подключиться для установки соединения передачи данных.

    Таким образом, в активном режиме инициатором соединения является сервер, так как он подключается к клиенту. В пассивном режиме инициатор соединения – клиент.

    Активный режим “вреден” для клиента в том плане, что когда к нему по случайному порту подключается сервер, такое соединение будет скорее всего блокировано брандмауэром на стороне клиента. Таким образом, необходимо открывать порты на стороне клиента, что приводит к “дырам” в безопасности. С другой стороны, для сервера такой режим будет полезен, так как для передачи данных используется общеизвестный порт 20.

    Пассивный режим “вреден” в свою очередь для сервера, но “выгоден” для клиента. Клиент будет делать оба соединения к серверу, но одно из них будет к случайному высокому порту, такое соединение будет блокировать брандмауэром на стороне сервера.

    Пассивный режим используется, как правило, когда между клиентом и сервером находится межсетевой экран.

    Наиболее популярные команды FTP:

    Команда Описание
    USER Указать имя пользователя
    PASS Указать пароль
    LIST Просмотр содержимого каталога
    CWD Смена текущего каталога
    RETR Передать файл с сервера на клиент
    STOP Передать файл с клиента на сервер
    TYPE Установить режим передачи
    DELE Удалить файл
    MDK Создать каталог
    RMD Удалить каталог
    PASV Использовать пассивный режим
    QUIT Выход и разрыв соединения

    FTP имеет три режима передачи:

    1. Поточный – непрерывная передача данных в виде потока (без обработки, обработка выполняется TCP)
    2. Блочный – FTP делит данные на блоки (заголовок, поле данных, размер файла в байтах) и передает их TCP
    3. Режим сжатия единым алгоритмом

    FTP-сервер – “библиотека” файлов на хостинге, используется для хранения файлов разных форматов. Самые популярные ftp-сервера это vsftpd и proftpd. FTP-сервера нужны для того, чтобы размещать на них для публичного и приватного скачивания больших объемов данных. Часто сервера используются для анонимного (гостевого) доступа к размещенным в открытом виде дистрибутивов ПО, музыки и фото. Доступ для анонимов позволяет, как правило, только просматривать каталоги и скачивать необходимую информацию, но на некоторых серверах наоборот – есть спецкаталоги, куда любой пользователь может загрузить файл для совместного пользования.

    При неанонимном доступе возможностей больше, но они ограничены тем каталогом, куда предоставлен доступ.

    Перейдем к настройке сервера. Работать будем с такой схемой.

    Доступ к FTP-серверу будут иметь как администратор, так и пользователь. Администратор и пользователь имеют авторизованный доступ. При этом необходимо настроить права доступа таким образом, чтобы администратор имел неограниченный доступ, а пользователь имел доступ только к своей домашней директории. Также необходимо настроить анонимный доступ.

    В Ubuntu для DHCP сервера доступен демон vsftpd. Устанавливаем DHCP-сервер, это выполняется командой:

    testServer$ sudo apt-get install vsftpd

    По умолчанию, анонимная загрузка запрещена. Необходимо изменить конфигурацию в файле /etc/vsftpd.conf.

    testServer$ sudo nano /etc/vsftpd.conf

    Находим там строку “anonymous_enable” и присваиваем ей значение “Yes”. Данная строка отвечает за доступ к FTP-серверу для анонимных пользователей.

    Также необходимо раскоментировать две строки: “write_enable” и “chroot_local_user”. Первая строка отвечает за возможность записи на сервер, вторая строка блокирует возможность локальных пользователей подниматься на каталог выше, чем их домашняя папка.

    В конце файла конфигурации добавляем две настройки:

    Данные настройки устанавливают домашние папки для анонимных и локальных пользователей.

    Сохраняем конфигурацию файла сочетанием клавиш Ctrl + X (при предложении заменить текущий файл выбираем Yes). Далее необходимо перезагрузить сервер FTP командой

    testServer$ sudo service vsftpd restart

    Следующий этап – это создание пользователей.

    Создаем суперпользователя командой:

    testServer$ sudo adduser superuser

    Задаем ему пароль:

    testServer$ sudo passwd superuser

    Даем ему неограниченные права:

    testServer$ sudo adduser superuser sudo

    Создаем обычного пользователя:

    testServer$ sudo adduser user

    Задаем ему пароль:

    testServer$ sudo passwd user

    Enter new UNIX password: 12345

    Создаем группу пользователей для управления папками:

    testServer$ sudo addgroup groupl

    testServer$ sudo nano /etc/group

    Находим строчку “groupl” с помощью Ctrl + W.

    В эту строчку добавляем наших пользователей superuser и user.

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

    testServer$ sudo mkdir /srv/ftp/upload

    testServer$ sudo mkdir /srv/ftp/superuser

    testServer$ sudo mkdir /srv/ftp/user

    Задаем права доступа для папок:

    testServer$ sudo chmod 700 /srv/ftp/superuser

    testServer$ sudo chmod 770 /srv/ftp/user

    testServer$ sudo chmod 575 /srv/ftp/upload

    Меняем владельцов папок:

    testServer$ sudo chown superuser: /srv/ftp/superuser

    testServer$ sudo chown user:groupl /srv/ftp/user

    testServer$ sudo chown:groupl /srv/ftp/upload

    Таким образом, у нас получается следующая картина:

    1. К папке superuser имеет доступ только пользователь superuser, он же является владельцем этой папки
    2. К папке user имеет доступ как user, так и superuser. Это из-за того, что мы выставили права 77 0. Вторая семерка устанавливает полные права для группы пользователей groupl, в которую мы добавили superuser.
    3. К папке upload полный доступ имеют как user, так и superuser. Для всех остальных установлены только права на чтение и выполнение 5 75 . 5 = 101 (в двоичной системе). 101 ~ r-x. То есть остальные пользователи (а к ним относится анонимный) не могут ничего записывать в папке upload.

    Проверяем права доступа и владельцев командой:

    testServer$ ls -l /srv/ftp

    Для того, чтобы проверить доступ к FTP-серверу, необходимо в любом браузере в адресной строке набрать:

    ftp://172.16.1.2

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

    Видим три папки superuser/, upload/, user/. Так как мы зашли под анонимным пользователем доступ есть только к папке upload/.

    Для того, чтобы войти под именем суперпользователя вводим:

    ftp://[email protected]

    Вводим имя пользователя: superuser , пароль: 12345 . Под superuser’ом мы получаем доступ ко всем папкам.

    Проверим напоследок обычного пользователя. Чтобы не вводить имя и пароль каждый раз при входе, можно в адресной строке написать следующее:

    ftp://user:[email protected]

    Под user’ом мы можем попадать только в папки upload/ и user/ . К папке superuser/ доступ закрыт.


    Подписывайтесь на нашу

    Рано или поздно многим из нас приходит мысль попробовать себя в новом направлении. Например, в создании своего сайта или сервера, а может быть, он у вас уже есть и вы просто перешли на линукс. Не важно. Главное, что во всех этих случаях нам надо как-то закачивать файлы на сервер. В случае, если сайт располагается на хостинге, можно воспользоваться онлайн-сервисами своего хостинга (которые, к слову сказать, не всегда столь удобны, как хотелось бы), а если у нас сервер? В данной ситуации нам нужен . Сегодня представляю вашему обозрению три ftp-клиента: Filezilla , gFTP и для любителей консоли - mc.

    Так, думаю что в случае с сайтом вы определились и будете использовать какой-нибудь из Linux-хостингов, ведь зачастую хостинг на Linux дешевле, чем на Windows. А в случае со своим собственным сервером будем считать, что вы уже настроили на нем FTP.

    Предлагаю установить сразу все и выбрать тот, который понравится.

    В Ubuntu/Debian/Mint:

    Sudo apt-get install filezilla mc gftp

    Sudo yum install filezilla mc gftp

    Sudo pacman -S filezilla mc gftp

    Ну вот. Теперь можно начинать и сам обзор. Начнем с mc. Этот консольный файловый менеджер малый, но удалый. Кроме как производить действия с файлами на локальной машине, он может еще и подключаться к серверу по FTP, устанавливать Shell-соединение и SMB-соединение. Сегодня он нас интересует только как FTP-клиент. Выбираете сверху правую или левую панель, как вам больше нравится, разницы нет, -> ftp-соединение... -> появляется окно, в нем вводим адрес сервера в виде ip-адреса или url (если хотите установить анонимное соединение с сервером) или в виде login@адрес_сервера (если хотите войти на на сервер под своим логином). После чего жмете Enter, появляется еще одно окошко, в нем вводите пароль, готово.

    Дальше разберем gFTP. Однако он самый простой из графических FTP-клиентов. Простенькое оформление, нетребовательность к ресурсам, свободность. Поддерживает SSL. Снизу расположилась консоль, в которой отображаются все события, а сверху панелька для ввода данных.

    И третий клиент - Filezilla. Особых отличий у него нет, разве что консоль сверху, а не снизу. Особенно порадовало наличие дерева каталогов. Да и кнопочек с различными функциями у него побольше, например, синхронизированный просмотр, или рекурсивный поиск файлов, а также сравнение каталогов и другие. Может закачивать файлы более двух гигабайт.

    P.S. В данной подборке только свободные и бесплатные FTP-клиенты. Есть, конечно, и другие не менее привлекательные клиенты для подключения по протоколу FTP, но о них в следующих статьях. Не забываем голосовать за статью.

    Этот документ был написан Matthew Borowski для Linux Documentation Project. Но он пока не закончен, т.к. еще не сделаны некоторые добавления. Вскоре должен появится раздел с информацией относительно работы сервера FTP.

    3. Руководство начинающего по пользованию ftp

    Быстрое руководство к использованию ftp.Стандартная ftp программа - настоящий ftp клиент. Она входит в большинство дистрибутивов Linux. Сначало появилась в 4.2BSD.

    3.1. Запуск ftp программы

    Скажем, вы хотите соединится с FTP сайтом metalab.unc.edu, чтобы получить последние исходные тексты ядра Linux.В командной строке введите:

    $ ftp metalab.unc.edu

    FTP программа попытается соединится с metalab.unc.edu. Другой способ сделать это - запустить ftp из командной строки без параметров, и использовать команду open с именем сайта в качестве аргумента:

    $ ftp ftp> open metalab.unc.edu

    3.2. Регистрация на FTP сервере

    Когда вы соединитесь с FTP сайтом, система спросит ваш логин (нажмите Enter, и вы войдете под локальным именем, в данном случае под именем foo). Мы войдем как anonymous или ftp , чтобы получить доступ к общедоступному архиву.