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 использует два типа соединения:
- Управляющее соединение (порт 21)
- Соединение данных (в активном режиме порт 20, в пассивном любой порт больше 1024)
Разделение на управляющее соединение и соединение для передачи данных является эффективным. Это позволяет передавать команды и файлы независимо друг от друга.
FTP поддерживает два типа аутентификации:
- Анонимный (логин ftp или anonymous, пароль – электронная почта)
- Авторизованный (логин и пароль у каждого пользователя свой)
При работе по протоколу 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 имеет три режима передачи:
- Поточный – непрерывная передача данных в виде потока (без обработки, обработка выполняется TCP)
- Блочный – FTP делит данные на блоки (заголовок, поле данных, размер файла в байтах) и передает их TCP
- Режим сжатия единым алгоритмом
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
Таким образом, у нас получается следующая картина:
- К папке superuser имеет доступ только пользователь superuser, он же является владельцем этой папки
- К папке user имеет доступ как user, так и superuser. Это из-за того, что мы выставили права 77 0. Вторая семерка устанавливает полные права для группы пользователей groupl, в которую мы добавили superuser.
- К папке 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