Использование FTP. Настройка и принцип работы Serv-U. Виртуальные пути и протоколирование

Обзор настройки FTP-сервера под Windows на примере Serv-U 6.4.

1. Что же такое — «FTP»?

Для чего вообще писался этот текст? Уже много раз меня спрашивают начинающие пользователи многих локалок — «как обменяться файлами с соседом»? Ведь соединиться через сетевое окружение, как это было раньше, уже не получается — в локалке запретили протокол NetBIOS, отвечающий за поддержку сетевых возможностей Windows. Кстати, сделано это было не просто так, а из-за того, что этот протокол — одна из наиболее опасных дырок в защите компьютеров, так как именно через эту дырку попадает большая часть вирусной заразы...

Наверняка, многие слышали про FTP, но не все знают, что это не таинственное заклинание древних инков, а английское сокращение, расшифровывающееся как File Transfer Protocol — протокол передачи файлов. Это один из базовых протоколов Интернета, разработанных для обмена информацией. В отличие от HTTP, который служит главным образом для передачи web-текстов и изображений, FTP применяется для обмена произвольными файлами, часто большого размера.

Кроме того, FTP удобен для «путешествия» по каталогам удаленного компьютера и для доступа к большой, разветвленной файловой структуре. HTTP и FTP поддерживают авторизацию, то есть вы можете сделать так, что только зная логин и пароль к вам смогут попасть. Чтобы предоставить свои папки для других пользователей, вам необходимо установить FTP сервер, а у пользователей должны быть FTP клиенты. С помощью клиента пользователи могут не только скачивать с вас файлы, но и закачивать свои файлы к вам.

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

Немного пояснений:

Для обмена файлами существуют и другие способы — пиринговые клиенты (типа DC++, Emule, Torrent), HTTP, FTP и еще несколько вариантов. Но пиринговые клиенты требуют сложной настройки и содержимое общих ресурсов доступно для скачивания всем.

Доступ к файлам на удаленном компьютере по протоколу FTP осуществляется с помощью программ, которые называются FTP-клиентами (в качестве примитивного FTP-клиента может использоваться www-браузер, например Opera, Firefox или Microsoft Internet Explorer). Практически все современные операционные системы включают также FTP-клиент для работы в командной строке, который так и называется «ftp».
Если у вас есть интернет, то вы можете получить доступ к большому количеству информации, расположенной в различных уголках Сети. Для использования FTP необходим так называемый FTP-клиент, подключающийся к FTP-серверу (сервер, откуда скачиваются данные). Анонимный FTP позволяет подключаться к серверу даже не будучи на нем зарегистрированным (не имея на нем логина и пароля). Как правило, в качестве логина (имени пользователя) указывается anonymous, а в качестве пароля — ваш e-mail. Это делается на больших серверах для того, чтобы каждый мог скачать, к примеру, бесплатный дистрибутив Linux или какие-нибудь другие полезные программы.

Файлы передаются в нескольких режимах — режим ASCII (сокращение от American Standard Code for Information Interchange) используется для передачи преимущественно текстовых файлов (не забывайте, что HTML, по своей сути, тоже текстовый файл). Binary режим, как следует из названия, используется для передачи двоичного кода (проще говоря, используется для нетекстовых файлов, например, картинок).
Когда мы бродим по интернету, открываем сайты, то используем HTTP — этот протокол специально предназначен для загрузки веб-страниц. В то же время HTTP используется и для загрузки файлов. Поэтому у многих пользователей возникает закономерный вопрос — зачем использовать FTP для закачки, если это позволяет делать HTTP? Каждый из этих протоколов задумывался для своих целей. Как мы уже выяснили, FTP был разработан специально для передачи файлов, поэтому этот процесс в нем реализован наиболее эффективно, чем больше размер файла, тем более оправдано использование FTP.

Понятия «клиент» и «сервер» часто встречаются в компьютерной литературе. Сервер — это программа или компьютер, предоставляющий свои ресурсы клиентам. Сервер принимает запросы от клиента и выполняет затребованные действия.
Любой сервер представляет собой программу, службу (в терминах Windows) или демон (daemon, в терминологии Unix). Любая служба принимает запросы от клиентов на том или ином пограммном порте — через этот порт огранизуется установка соединения и передача данных. Например, сервер FTP по умолчанию принимает запросы от клиентов на порте 21 .

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

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

где user — это имя пользователя, двоеточие — это разделитель для программы между именем пользователя и паролем, password — это пароль. Собачка означает разделение между данными о пользователе и адресом. Дальше идёт непосредственно адрес. Это может быть IP-адрес, а может быть и буквенное значение (как например, ftp.microsoft.com). После адреса опять идёт двоеточие, которое разделяет адрес и номер порта подключения. По умолчанию этим портом является порт 21, но может быть и другой, назначаемый администратором сервера.
Адрес может выглядеть и так: ftp://212.199.28.50 . Это будет означать, что имя пользователя — anonymous, паролем является e-mail адрес, а порт — 21-й.

В качестве клиентской программы удобно использовать следующие программы — Total (Windows) Commander, FAR, FlashFXP, CuteFTP, SmartFTP и даже некоторые менеджеры загрузок, такие как FlashGet и Download Master, у которых FTP клиент встроен в программу.

2. Выбор FTP сервера

На рынке присутствует огромное количество FTP серверов, от микроскопических (для разовой пересылки) и до серверов уровня предприятия (рассчитаных на миллионы одновременных подключений). Для домашних и полупрофессиональных целей достаточно нескольких возможностей:

Поддержка нескольких доменов (IP адресов). Это надо в том случае, если у вас на компьютере есть локальная сеть и интернет. И вы хотите сделать FTP сервер только для локалки или только для интернета. Или для того и другого.

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

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

Возможность ограничения скорости передачи и количества одновременно подключающихся пользователей. Каждый пользователь — нагрузка на процессор и винчестер вашего компьютера. Когда их много и все одновременно качают с вас файл, ваш компьютер может очень сильно тормозить. Для того, чтобы пользователи не мешали вам и друг другу, их число можно ограничить. То есть скажем двое сидят на вашем FTP, а остальные, кто пытается подключится к вашему серверу — получают сообщение вроде «Слишком много народу. Попробуйте зайти попозже».

Возможность наблюдения за действиями подключенного пользователя. Это полезно для ведения статистики, настройки, да и просто интересно, кто чем занимается на вашем сервере:)
В принципе, компания Microsoft начиная с Windows 2000 включает в поставку свой FTP сервер. Но он весьма неудобен как в наладке, так и в работе, и имеет множество ограничений. Перепробовав множество продуктов, я выбрал для себя сервер «Serv-U FTP Server», как наиболее отвечающий поставленным выше условиям. Именно о нем я и буду рассказывать дальше.

Также профессиональным и стабильным считается Gene6 FTP Server . Лично мне еще очень нравится совмещенный HTTP/FTP/Mail/DNS/DHCP бесплатный Small HTTP Server . Он отличается простотой и очень малым количеством занимаемой оперативной памяти (порядка 800 Кбайт!!!).

3. Установка FTP сервера Serv-U

Для примера установки возьмем «Serv-U.FTP.Server.v6.4.0.4.Corporate.Edition», этот архив вы можете найти в конце статьи. Распаковав его, вы получите файл «ServUSetup.exe» — это инсталлятор сервера, и файл «keygen.exe» — генератор лицензионного ключа для программы. Ну или вы не хотите пользоваться нелицензионным софтом, вы можете заплатить за использование программы разработчику:)
Запускаем инсталлятор.
Согласившись с лицензией, говорим, куда надо поставить сервер.
Теперь нас попросят указать нужные компоненты. Для установки серверра нам нужны оба.
Если вы купили программу, теперь можете ее зарегистрировать как описано в руководстве к ней. А для остальных последовательность действий такова: справа внизу, в трее, у вас появится значок: это значит, что сервер пока выключен. Необходимо выйти из этой программы, выбрав Exit и запустить keygen, сгенерировать ключ — он будет автоматически скопирован в буфер обмена.
Установка программы-сервера закончена. Щелкаем правой кнопкой мыши по иконке и выбираем из всплывающего меню «Start Administrator...»

4. Настройка сервера, создание учетных записей

Запустив программу администрирования, мы увидим окно следующего вида:

В Главном меню программы находятся основные управляющие элементы, но подробно мы их изучать не будем, вы сами сможете это сделать потом, прочитав справку к программе. То же самое касается элементов управления и статус-панели. Принцип настройки сервера такой — в дереве настроек мы выбираем нужный раздел и в панели настроек и отчетов видим одну или несколько закладок с настройками и (или) статистикой. Для начала создадим свой FTP сервер. Войдя в раздел «Local server», вы сможете управлять установленным у вас на машине сервером. При входе в раздел в панели настроек появится следующая информация:

Если поставить галочку на пункте «Start automatically», ваш сервер будет стартовать вместе с Windows при каждой загрузке. Далее идет статус сервера (зеленый цвет — работает, красный — выключен). Далее кнопка, включающая/выключающая сервер. И кнопка, задающая главный пароль администратора. Если вы его зададите, никто кроме вас не сможет менять настройки вашего сервера. Здесь и далее я буду описывать только основные ходы для развертывания своего FTP сервера, об остальных дополнительных возможностях вы можете узнать из справки к программе. Для начала проведем настройку глобальных параметров сервера, войдя в раздел «Settings».

В закладке «General» нам интересны пункты:

Max. Upload speed: максимальная скорость загрузки файлов на ваш сервер с клиента
Max. Download speed: максимальная скорость отдачи файлов клиентам (всем вместе — это глобальная настройка)
Max. no. of users: максимальное количество одновременно подключившихся клиентов (также глобальная настройка)
Delete partially uploaded files: если клиент пытался закачать к вам на сервер файл, но не до конца его закачал, надо ли удалять такой незавершенный файл. Если стоит галка — то удалять.
Во всех остальных закладках оставляем настройки по умолчанию.

В разделе «Activity» можно посмотреть отчет о работе программы, добавить IP адрес в список запрещенных IP адресов, или отправить сообщение подключенным клиентам. Углубляться в эти возможности мы не будем, поэтому идем к следующему разделу.

Раздел «Domains» — основной рабочий инструмент администратора. Пока в нем пусто. Правой кнопкой мыши щелкнем на пустой панели настроек и выберем из меню пункт «New Domain» (можно просто нажать клавишу Ins). Появится мастер создания домена. В первом окне вам предложат выбрать IP адрес, по которому будет «жить» ваш FTP сервер. Если оставить поле пустым, сервер будет отвечать по всем адресам (например и в локалке и в интернете). Если сервер делается только для локалки — из выпадающего списка выберите свой IP адрес в локальной сети:

Нажав кнопку «Next», переходим к следующему вопросу — надо ввести имя домена. Если вы делаете интернетовский FTP, можете в качестве названия ввести его адрес, это даст возможность не запутаться при большом количестве доменов. А можете просто ввести название своего FTP, к примеру «Мой FTP сервер»:

Снова «Next», выбираем порт для FTP сервера. Стандартно для FTP используется 21 порт TCP, но если вы хотите спрятать ваш FTP порт от сканеров, можете указать другой, главное, чтобы на нем не сидела другая программа. Также не забудте открыть этот порт в файрволе или брэндмауэре (если он у вас стоит), иначе никто не сможет попасть к вам на FTP сервер! Выбор порта для домена позволяет организовать несколько FTP на разных портах с разным содержимым. Именно для этого и нужны домены.

2 раза нажимаем «Next» и выходим из мастера. Видим вот такой экран глобальных настроек домена:

Элементы в закладке «Domain» означают:

Name: имя домена
Domain IP address: IP адрес домена
Domain type: где храняться настройки домена (в INI файле или в реестре)
Security: поддерживать ли SSL секретность
FTP port number: номер порта сервера
Enable dynamic DNS: используется в интернете при работе службы DynDNS
Domain is... (online/offline): текущее состояние домена (зеленый — включен, красный — выключен)
Put Domain offline: кнопка выключения домена

Теперь проведем «тонкую настройку» полученного домена. Для этого перейдем в раздел «Settings» нашего домена:

В закладке «General» обращаем внимание на следующие значения:

Max no. of users: максимум клиентов, которые могут одновременно подключится к домену.
Minimum password length: минимальная длина пароля для пользователя. Если не задано — не проверяется

На закладке Vitual Paths указываются виртуальные папки и пути в ним! Папке дается виртуальное имя (Vitual name) которое и будет отображаться у пользователя, вошедшего по ftp, вместо реального. При этом эти папки надо разрешить хотя бы для чтения (Read) в настройках у каждого конкретного пользователя. Как это сделать — читай ниже.
Mapped to — это путь к папке пользователя, к котрой будет присоединяться (монтироваться) виртуальная папка. К ней также у пользователя должен быть доступ.

Еще одна закладка, на которую можно обратить внимание - «Messages»:

Здесь можно заменить стандартные сообщения сервера на свои собственные, к примеру с названием своего FTP или почтовым адресом для связи. Внимание! Сообщения могут быть только на английском языке или написаны транслитом!
Идем в раздел «Users» и создаем нового пользователя также, как создавали до этого домен. Появится мастер создания пользователя. Для начала вас попросят ввести имя пользователя. Под этим именем пользователь будет заходить на ваш FTP. Если FTP открыт для всех, то в качестве имени надо использовать имя anonymous . Для любого другого пользователя у вас попросят ввести пароль, для пользователя anonymous пароль спрашивать не будут. Далее указываем начальный каталог, в котором будет содержимое вашего FTP, видимое для данного пользователя:

Далее на вопрос следует ответить «Yes». Мастер завершится, новый пользователь создан. Сервер готов к работе. Некоторые тонкости настройки, например как подцеплять каталоги с других дисков, вы сможете посмотреть в видеофайле, идущем с этим архивом.

5. Проверка работы

Запустите свой FTP клиент, выберите создание нового соединения, в параметрах соединения укажите адрес FTP сервера, порт (если он не стандартный) и имя/пароль пользователя (если не указывать, то будет использован пользователь anonymous и в качестве пароля подставится нечто, напоминающее E-Mail адрес (мало кто указывает свой реальный e-mail). Не забудте указать прокси сервер, если вы соединяетесь не на прямую! Теперь попробуйте подключиться к своему FTP серверу. Если все сделано правильно, сервер должен ответить сразу.
Можно также обратиться в своему серверу через браузер в пассивном режиме: ftp://login:password@ваш_ip или просто ftp://localhost.

P.S. Не забудьте, что если вы закрыты от внешнего мира файрволом или роутером, то в них необходимо открыть порт 21 на входящие подключения (в роутере из WAN в LAN с любого ip).

Дистрибутив Serv-U FTP Server v6.4 Corporate Edition с видеоинструкцией можно скачать .

Gene6 FTP Server v3.10.0.2

Разработчик: Gene6 SARL
Размер дистрибутива: 4,01 Мб
Распространение: условно бесплатная Gene6 FTP Server - один из лучших FTP-серверов с расширенным администрированием и высоким уровнем безопасности передаваемых данных. Программа позволяет открывать доступ к данным для конкретных пользователей или групп пользователей через их учетные записи, управлять правами доступа для файлов и каталогов и ограничивать доступ по IP-адресам. При этом может быть создано нескольких виртуальных узлов FTP и ограничено число соединений (для IP, домена, пользователя), а также установлены сроки действия учетных записей. Предусмотрена и возможность более тонкой настройки прав доступа конкретных пользователей, для которых несложно, например, определить максимальный размер закачиваемых на FTP-сервер файлов, сделать какие-то файлы в открытой папке заблокированными или наоборот, доступными, определить лимиты скорости при скачивании и закачивании файлов, установить интервалы времени доступности FTP-сервера и т.д. Имеется поддержка ODBC баз данных, возможно сжатие передаваемых данных (MODE Z), а для обмена важными файлами может использоваться 128-битное SSL-шифрование. В реальном времени ведется подробная статистика активности на FTP-сервере, записываемая в log-файлы и визуально отображаемая в текстовом и графическом виде. Предусмотрены средства удаленного администрирования, позволяющие добавлять, изменять, удалять учетные записи пользователей, а также изменять все доступные настройки доменов удаленно (как если бы администратор находился у компьютера, на котором запущен сервер). Существует возможность делегировать администрирование другому администратору посредством создания новой учетной записи пользователя с ограниченными правами администратора. Подключение удаленного администрирования шифруется при помощи SSL и запускается на собственном настраиваемом порте. Программа (имеется русскоязычная версия) представлена в двух редакциях: Standard и Professional. На домашних пользователей рассчитана стандартная редакция, допускающая использование двух доменов с 25 параллельными соединениями. Демо-версия программы полностью функциональна в течение 30 дней, стоимость коммерческой версии Standard edition составляет 59,95 долл. На сайте разработчика можно скачать русскоязычную документацию. Программа включает два модуля - движок FTP-сервера и FTP-Администратор. Движок FTP-сервера работает как системная служба (то есть на автомате запускается при загрузке Windows), интерфейса не имеет и отвечает за включение/отключение сервера, FTP-Администратор обеспечивает доступ к настройкам сервера и запускается через меню Пуск. Значок FTP-сервера всегда находится в системном трее, и по виду этого значка несложно понять, когда сервер включен, когда отключен, и когда на него зашел какой-нибудь пользователь.

Для настройки FTP-сервера требуется запустить FTP-Администратор и ввести пароль администратора (он указывается при установке программы). Окно администратора включает две панели - на левой содержится перечень настраиваемых элементов, на правой раскрывается структура выбранного элемента. Первым делом нужно создать домен, активировав на левой панели вкладку "Домены", вызвав из контекстного меню на правой панели команду "Новый домен" и введя имя домена. Если внешний IP-адрес в интернете является статичным и ему присвоено доменное имя, то в качестве имени домена его и рекомендуется ввести, в противном случае можно указать любое имя. Здесь же можно ограничить максимальное число клиентов, подключенных одновременно к FTP-серверу (например, пятью) и количество соединений от одного из них (обычно рекомендуют ограничивать одним либо двумя соединениями с одного IP-адреса).

В следующих двух окнах, где будет идти речь об IP-адресе (по умолчанию там стоит "*", что означает для всех IP), используемом порте (по умолчанию задействован 21-й порт) и типах журналов, в случае динамического IP-адреса нужно оставить настройки по умолчанию. Однако при наличии статичного IP-адреса необходимо ввести его вместо символа "*" - именно этот адрес и будет использоваться доменом. Если вы не знаете своего IP-адреса, то его можно посмотреть с помощью команды ipconfig, которая запускается из командной строки (Пуск > Выполнить > cmd, нажать клавишу Enter, а затем ввести команду). Если в поле IP-адреса останется "*", то при каждом старте FTP-сервер будет автоматически определять адрес и присваивать ему 21-й порт для работы.

Что касается последнего окна, то если вы планируете открыть анонимный доступ к FTP-серверу, следует указать в нем домашний каталог - то есть каталог на вашем компьютере, который увидят анонимные пользователи.

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

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

В плане безопасности может иметь смысл включить блокирование трансфера между двумя FTP-серверами (для конкретных пользователей - раздел "Дополнительно" на вкладке "Пользователи"), ограничить число попыток входа и настроить использование SSL для шифрования передаваемых данных (через свойства конкретного домена). А также запретить доступ к FTP-серверу с конкретных IP-адресов ("Информация " > "Временный запрет") и др. Ну а если у вас IP-динамический, и вас не вдохновляет каждый раз после подключения к интернету сообщать друзьям свой новый IP, то придется зарегистрироваться на одном из сервисов Dynamic DNS (например, No-ip.com). А затем создать там хост, который будет указывать на ваш FTP-сервер - пусть это будет, serghome.myftp.org, поскольку и сам домен мы назвали сходным образом. Также придется скачать, установить и настроить клиента динамического обновления (данная операция будет на автомате предложена в ходе регистрации). На следующем этапе придется скорректировать настройки сервера, подправив в свойствах домена ("Домен" > "Свойства" > "Привязка IP") параметр "Перенаправить PASV IP", где потребуется ввести полученное доменное имя и задать диапазон портов пассивного режима. После этого пользователи смогут попасть на ваш FTP-сервер, указывая в FTP-клиенте в качестве адреса строку вида serghome.myftp.org.

Активность пользователей четко протоколируется и сохраняется в логах - так, можно проверить, кто в данный момент подключен к серверу, и что он делает, оценить трафик домена, просмотреть историю подключений и т.п. Все эти данные представлены на вкладке "Информация".

Serv-U 8.0.0.7

Разработчик: Rhino Software, Inc.
Размер дистрибутива: 8,76 Мб
Распространение: условно бесплатная Serv-U - мощный, стабильный и относительно несложный в установке и настройке FTP-сервер, обеспечивающий гибкое администрирование. Программа позволяет открывать доступ к FTP-серверу конкретным пользователям или группам пользователей, устанавливать для них права на запись/чтение/изменение для каталогов и файлов, а также контролировать доступ по IP-адресам. Возможна одновременная работа нескольких пользователей, максимально допустимое число которых нетрудно ограничить. Для каждого из подключений несложно задать максимальную скорость операций upload/download. Предусмотрена поддержка компрессии "на лету" Zlib, обеспечивающая увеличение скорости передачи данных, и поддерживается функция Dynamic DNS, что позволяет автоматически определять внешний IP-адрес и менять его для псевдосерверов. Ведется подробная статистика активности на FTP-сервере, записываемая в логи, где можно узнать имя, под которым зашел пользователь, IP-адрес его компьютера, интересующие его папки, осуществленные операции и др. Программа (имеется русскоязычная локализация) представлена в нескольких редакциях, среди которых для домашнего пользователя интерес может представлять лишь редакция Bronze. Демо-версия программы полностью функциональна в течение 30 дней, после чего за нее придется заплатить 199,95 долл., либо использовать бесплатно как версию Personal, но тогда уже придется ограничиться одним доменом, двумя параллельными соединениями и пятью пользовательскими учетными записями, что, в принципе, достаточно, например, для обмена данными с друзьями. В редакции Bronze домен может быть также только один, но возможно уже 25 параллельных соединений и до 50 учетных записей.

Программа включает два модуля - агент FTP-сервера и консоль управления. Агент интерфейса не имеет, работает как служба и отвечает за включение/отключение сервера, что производится через системный трей. Панель управления обеспечивает настройку параметров FTP-сервера и запускается через меню Пуск. После запуска Агента значок FTP-сервера появляется в системном трее и своим видом сигнализирует о состоянии сервера (включен/отключен) и наличии либо отсутствии на нем пользователей. Настройка FTP-сервера проходит под контролем мастера (он запускается автоматически после установки и первого запуска программы), что позволит избежать ошибок. Первым делом программа спросит имя домена - если внешний IP-адрес в интернете является статичным и ему присвоено доменное имя, то рекомендуется ввести его, в противном случае поле можно оставить пустым или написать любое название. Если адрес динамический, а это не устраивает, то разработчики рекомендуют воспользоваться системой динамического изменения DNS на сайте Dns4me.com . После ее настройки FTP-сервер научится автоматически менять выданный провайдером IP-адрес и сопоставлять его с доменным именем. Затем нужно будет определить протоколы и порты, которые будут использоваться данным доменом, и ввести IP-адрес сервера.

На следующем этапе программа поинтересуется, не желает ли владелец FTP-сервера сразу создать аккаунты пользователей, и если да, то нужен ли для этой цели мастер. В случае выбора в пользу мастера в открывшемся окне потребуется указать имя пользователя, пароль и доступный ему каталог вкупе с правами доступа в отношении этого каталога - тут возможны только два варианта: "доступ только для чтения" и "полный доступ". После выполнения всех указаний мастера FTP-сервер Serv-U автоматически запустится.

Естественно, что добавить пользователей можно и позже - непосредственно из консоли управления, активировав раздел "Пользователи" и щелкнув на кнопке "Добавить". При этом потребуется указать не только все вышеперечисленные данные, но также можно будет уточнить еще множество разнообразных параметров. Например, запретить/разрешить запись, добавление, удаление и запуск файлов из каталога, ограничить размер содержимого каталога и установить для данного пользователя доступ только с определенного IP-адреса. Настроить виртуальные пути доступа к каталогам, находящимся вне домашнего каталога пользователя, ввести приветствие, посылаемое ему после авторизации и др. Настройки параметров групп пользователей осуществляются примерно таким же образом.

Помимо добавления пользователей и регулирования их прав, в консоли управления также корректируется множество других параметров. Так, в разделе "Лимиты и настройки сервера" можно установить разного рода ограничения, которые могут действовать в определенное время суток либо определенный день недели: ограничить максимальное число сессий, скорость загрузки/выгрузки данных (общую либо для конкретного пользователя), блокировать методы анти-таймаута и слишком часто подключающихся пользователей и т.п.

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

FileZilla Server 0.9.31

Разработчик:
Размер дистрибутива: 2,72 Мб
Распространение: бесплатная FileZilla Server представляет собой FTP-сервер с поддержкой SSL-шифрования и расширенным администрированием. Он обеспечивает создание анонимного либо парольного (для отдельных пользователей или групп) доступа к данным и позволяет управлять правами доступа для файлов и каталогов, а также ограничивать доступ по IP-адресам. Предусмотрено введение ограничений на доступ к FTP-серверу в целом, либо для каждого пользователя по отдельности, а также ограничение общего количества подключений и максимальной скорости скачивания. Имеется поддержка сжатия передаваемых данных (MODE Z), а для обмена важными файлами может использоваться 128-битное SSL-шифрование. В реальном времени ведется подробная статистика активности на FTP-сервере, по которой несложно контролировать имевшие место подключения, что позволит всегда быть в курсе того, что конкретно делали на сервере подключившиеся к нему пользователи. Возможно удаленное администрирование. Программа совершенно бесплатна и, как и большинство прочих FTP-серверов, она состоит из двух основных компонент. Первая - это сам FTP-сервер, работающий как системная служба (то есть он не имеет собственного интерфейса), настраивающаяся при установке на автоматический запуск. Вторая представляет собой консоль управления, предназначенную для настройки параметров FTP-сервера.

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

Для того чтобы пользователи смогли заходить на ваш FTP-сервер, первым делом необходимо создать хотя бы одну учетную запись - например, для анонимного доступа к серверу (то есть для пользователя с именем anonymous). Сделать это можно через меню Edit > Users. В открывшемся окне редактора учетных записей вначале следует щелкнуть на кнопке Add и ввести имя пользователя.

Для предоставления пользователю доступа к конкретным папкам требуется активировать вкладку Shared folders, щелкнуть по кнопке Add, указать домашнюю папку и определить права доступа к ней. При этом ее нужно определить в качестве корневого каталога для пользователя, нажав кнопку Set as home dir. Этого уже достаточно для посещения анонимными пользователями вашего FTP. Создание учетной записи для конкретного пользователя ничем принципиальным не отличается за исключением того, что для него придется указать не только логин, но и пароль.

На доступ к серверу несложно ввести ограничения - как в целом, так и для каждого отдельного пользователя. Общесерверные ограничения устанавливаются в окне настроек сервера Edit > Settings, ограничения для отдельных пользователей - в окне настроек учетных записей Edit > Users. Например, для отдельных пользователей на вкладке Speed limits можно установить ограничения по скорости доступа (отдельно на скачивание и закачку) - постоянные либо по расписанию. А на вкладке IP Filter несложно установить ограничения по разрешению/запрещению на доступ в отношении конкретных IP-адресов. Указывать можно как отдельные IP-адреса, так и их диапазоны, что позволяет, например, запретить доступ сразу целой подсетке, разрешив его, тем не менее, отдельному доверенному пользователю внутри нее. Аналогичные установки могут быть заданы и в отношении всех пользователей в целом, но уже в окне настроек сервера.

Для сервера в целом (Edit > Settings) на вкладке General settings можно установить ограничение на количество подключающихся одновременно пользователей, задать таймауты для разрыва соединения в случаях, когда подключившийся пользователь не отвечает, и установить ограничения в отношении конкретных IP-адресов. На вкладке Security settings - заблокировать межсерверные передачи файлов без участия пользователя, на вкладке Speed limits ограничить общую скорость скачивания/закачки, а на вкладке Autoban - блокировать множественные подключения пользователя в короткий промежуток времени.

В случае динамического IP-адреса для сопоставления его с доменным именем в настройках сервера (Edit > Settings) потребуется активировать вкладку Passive mode settings, включить на ней флажок Use the following IP и указать в соответствующем поле имя домена.

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

Вы хотите быстрый надёжный FTP-сервер? Разработчики RhinoSoft.com постарались учесть Ваши пожелания. Изначально Serv-U не даёт всем пользователям полный доступ к Вашему компьютеру из сети. Чтобы разграничить права между отдельными категорями пользователей, обладающими разными привелегиями, необходимо знать, как настроить программу.

Для нормальной работы Serv-U достаточно создать один домен с единственным пользователем.

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

Установка

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

В дистрибутив программы заложена возможность установки FTP-сервера Serv-U с одинаковыми параметрами на множество операционных систем. Для этого необходимо запустить программу с ключом:

ServUSetup.exe /S /M=

/S запустит установку в "фоновом" режиме

/M= указать путь к текстовому файлу с параметрами установки

Файл с параметрами установки может иметь следующие строки:

MAINDIR=
Путь к папке для установки Serv-U.

GROUP=
Название группы в меню "Пуск | Программы.

COMPONENTS=
Устанавливаемые компоненты: ‘A’ - ядро сервера и иконка в трее, ‘B’ - Serv-U Администратор, ‘C’ - текстовые файлы помощи и файл версии программы, ‘D’ - онлайновая документация.

STARTADMIN=
‘A’ - запуск Serv-U Администратора после установки. ‘B’ - создать иконку на рабочем столе для запуска Serv-U Администратора.

STARTTRAY=<0|1>
Показать ли иконку в трее по окончанию установки. ‘0’ - нет, ‘1’ -да.

MAINDIR=d:\go here\su
STARTADMIN=B
STARTTRAY=0
GROUP=My SU Group
COMPONENTS=DAB

В результате программа будет установлена в "d:\go here\su", в меню "Пуск | Программы" будет создана группа "My SU Group". Будут установлены ядро, Sev-U Администратор, и онлайновая документация, за исключением текстовых файлов помощи и файла версии. Serv-U Администратор не запустится по окончании установки, но на рабочем столе появится иконка для его запуска. В трее не появится соответствующая иконка.

Установка и настройка

При первой установке программы автоматически запустится Serv-U администратор, где Вы можете быстро создать домен и пользовательский аккаунт внутри него. Вы можете отменить настройку, однако не рекомендуется этого делать. Любую настройку Вы сможете исправить позднее. В процессе установки Вам будет задан ряд вопросов:

Отображать картинки у пунктов меню

Даже если у Вас ослабленное зрение и Вы используете "Экранную лупу", ничто не мешает Вам сказать "Да". Благодаря этому большинство пунктов меню будет снабжено небольшими изображениями, что сделает работу с ним более удобной.

IP адрес

IP адрес - это набор 4 чисел, разделённых точкой, который однозначно определяет место Вашего компьютера в сети. Если Вы точно знаете IP адрес, который должен использоваться для работы с Вашим FTP-сервером, заполните соответствующее поле. Это позволит иметь доступ к Serv-U по постоянному IP-адресу, независимо от того, какие IP адреса имеются у Вашего компьютера.

Устанавливать как системную службу (Только для Windows 9x/ME)

Отвечая "Да" Вы позволите серверу автоматически запускаться после старта операционной системы до появления стандартного окна "Вход в Windows". Выбирая "Нет", Вы должны будете самостоятельно запускать Serv-U каждый раз после запуска операционной системы. Serv-U устанавливается автоматически как системная служба под Windows NT/2000/2003 .

Имя домена

Укажите любое уникальное имя для идентификации домена Вашего FTP-сервера. Правилом хорошего тона будет указать доменное имя, соответствующее IP-адресу Вашего компьютера, например "surf.ecolora.com".

Позволить анонимный доступ

Папка анонимного пользователя

FTP-сервер ставит в соответствие каждой учётной записи пользователя свою ‘home directory’ ("домашнюю папку"), в которую тот заходит сразу после соединения с сервером. . Укажите полный путь к реально существующей папке анонимного пользователя, включая имя диска, например "C:\ftp\anonymous".

Запереть анонимных пользователей в домашней папке

Пользователь будет видеть "/" в качестве пути к своей папке вместо реально существующего.

Создать именованный аккаунт

На данном шаге Вы можете создать новую учётную запись FTP-сервера (не anonymous), используемую при подключении к серверу. Ответьте "Да", если хотите создать новый аккаунт.

Логин аккаунта

Имя пользователя, соответствующее конкретной учётной записи Serv-U FTP-сервера.

Пароль

Пароль аккаунта.

Домашняя папка

Полный реальный путь к папке, куда пользователь попадёт сразу после соединения с сервером, включая название диска (или сетевой ресурс).

Запереть пользователя в домашней папке

Если Вы создаёте учётную запись администратора, Вы можете ответить "Нет". Если она предназначена для пользователя с ограниченными правами, лучше ответить "Да".

Администраторские права аккаунта

Данная опция нужна для определения доли участия пользовательского аккаунта в удалённом управлении FTP-серером. Если Вы создаёте аккаунт для себя, выберите наивысший уровень прав ‘System Administrator’ "(Системный администратор). В противном случае рекомендуется оставить его как ‘No Privilege’ (без привелегий).

После завершения шагов инсталяции Вы сможете увидеть домен с одной или двумя новыми учётными записями. Для внесения изменений кликните мышкой по аккаунту в дереве слева. Уделите особое внимание закладке Доступ к папкам в правой части окна. Для каждой создаваемой учётной записи изначально прописываются права доступа к файлам по умолчанию. Для анонимного пользователя это означает: только чтение содержимого домашней папки и всех вложенных в неё. Для именнованного аккаунта подразумевается полный доступ к домашней папке.

Ручная настройка

Если Вы отменили настройку на этапе инсталяции и теперь лицезреете пустое дерево Serv-U Администратора с одним пунктом ‘<< Local Server >>’, Вы можете настроить FTP-сервер самостоятельно. Для создания анонимного аккаунта выполните следующие шаги:

  • Щёлкните два раза мышью на пункте ‘<< Local Server >>’ в дереве слева. Тем самым Вы запустите Ядро FTP-сервера и развернёте дерево.
  • Щёлкните на ‘Domains’ (Домены) в дереве слева.
  • В меню выберите "Domains | New Domain" ("Домены | Новый домен").
  • Вводите IP адрес, только если Вы уверены, что он правильный. Иначе нажмите "Далее".
  • Введите любое уникальное имя для Вашего домена.
  • Если Вы не уверены в своих действиях, оставьте 21 порт, нажмите "Далее".
  • Не вносите никаких изменений на шаге ‘Domain type’ ("Тип домена"), нажмите "Далее".
  • Теперь Вы создали собственный домен. Щёлкните на нём два раза мышкой, чтобы развернуть дерево.
  • Щёлкните на пункте‘Users’ ("Пользователи") в дереве слева.
  • В меню выберите "Users | New User" ("Пользователи | Новый пользователь").
  • Введите "Anonymous" в качестве имени пользователя. Нажмите "Далее".
  • Укажите полный путь к реально существующей папке анонимного пользователя, включая имя диска, например "C:\ftp\anonymous". Затем нажмите "Далее".
  • Нажмите "Да" на шаге "Запереть пользователя в домашней папке". Нажмите "Далее".

На этом создание анонимного пользовательского аккаунта считается завершённым.

Архив Интернет

От теории - к практике. Создаем собственный FTP-сервер на примере программы Serv-U. Установка, настройка, управление пользователями, защита пароля и данных, а также многое другое.

Итак, после короткого знакомства с FTP-протоколом в первой части нашего материала мы незамедлительно приступаем к установке и настройке собственного FTP-сервера. Сразу отметим, что в Windows 2000/XP имеется встроенный FTP-сервер (Панель управления -> Установка и удаление программ -> Установка компонентов Windows -> Internet Information Services -> Служба FTP). Однако, он очень примитивен, неудобен, и небезопасен - поэтому его мы ставить не будем.

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

Serv-U состоит из двух частей - Serv-U Administrator для настройки и управления FTP-сервером, и собственно FTP-сервера. Serv-U Administrator может быть установлен и на другом компьютере, через него можно удаленно управлять FTP-сервером Serv-U. Для управления служба FTP-сервера использует TCP-порт 43958. Поэтому, во избежание взлома, установите на управление пароль (в меню "Set/Change Password"), желательно длинный. Опция "Start automatically (system service)" позволяет автоматически запускать FTP-сервер, причем он будет работать независимо от того, кто на компьютере залогинен. В ином случае FTP-сервер будет запускаться только когда вы запустите Serv-U Administrator.

Теперь настраиваем брандмауэр. Нам необходимо разрешить входящие и исходящие соединения по TCP-протоколу для процессов Servuadmin.exe и Servudaemon.exe .

Следуем дальше по дереву настроек Serv-U Administrator, в "Settings -> General". Тут есть смысл включить как минимум три важные опции. "Block FTP_bounce attacks and FXP" - это защита от передачи трафика между двумя FTP-серверами (клиент злоумышленника может установить сеанс от имени другого сервера, запустить перекачку и уйти, а вы будете впустую забивать место на диске и терять купленный лимит трафика). "Block users who connect more than ..." - защита от попыток подбора пароля какого-либо FTP-аккаунта. "Block anti time-out schemes" - защита от попыток обойти лимиты времени сессии, данные тому или иному аккаунту. Также тут можно ограничить общую скорость приема (upload), отдачи (download) и количество одновременно обслуживаемых пользователей (это глобальная настройка, далее мы сможем такие лимиты создать отдельно для разных аккаунтов).

Теперь создаем сервер. Для этого проходим по дереву настроек в "Domains", нажимаем правую кнопку мыши и выбираем во всплывающем "New Domain". В окне настроек поле "Domain IP Address" оставляем пустым, "Domain name" - указываем какое-нибудь имя, например "FtpName" (оно необходимо только нам), "Domain port number" - это порт, на котором будет отвечать FTP-сервер, пока укажем стандартное значение - 21. "Domain type" указывает где будут храниться настройки сервера, лучше их хранить в INI-файлах.

Теперь сервер создан (по-английски - "Domain"). Можно организовать несколько серверов (в этой ветке дерева настроек), на разных портах, только смысла для обычных пользователей в этом нету.

В дереве настроек в разделе "Domains -> FtpName" включаем поддержку шифрования "Security -> Allow SSL/TLS ans regular sessions". Сейчас немного отвлечемся от самого сервера и разберемся с портами и IP.

Во-первых, серверу необходимо знать свой внешний (интернетовский) IP-адрес. Если адрес статический, то все просто - вписываем его в "Domain IP address". А вот если IP-адрес динамический (как, например, в "Стрим"), то придется воспользоваться службами DynamicDNS, где вам присвоят доменное имя, которое будет указывать на ваш IP, постоянно отслеживать и обновлять его изменения.

В частности, такая бесплатная услуга есть на No-IP.com , там вы можете создать своему компьютеру какой-нибудь домен 3 уровня в интернете, например, mycomputer.no-ip.com . Там же можно скачать клиент No-IP dynamic update client, который будет постоянно связываться с No-IP.com и проверять/обновлять ваш IP-адрес. О настройках этого клиента рассказывать не буду, но могу посоветовать его настройки не менять, кроме параметра "When updating via NAT/Router/Proxy address ONLY" - его лучше выставить на "every 5 minutes". Итак, поставив клиент и зарегистрировавшись на No-IP.com, ставим в настройках нашего FTP галку на "Enable dynamic DNS" и переходим на появившуюся вкладку "Dynamic DNS". Там прописываем адрес, зарегистрированный в No-IP.com.

Во-вторых, настала пора разобраться с портами. Многие провайдеры блокируют входящие соединения на 21-ом порту. Чтобы эту проблему обойти, следует выбрать любой другой незанятый порт, например 32768, и вписать его на вкладке "Domain в FTP port number". Но запомните, что если порт отличен от 21, то клиентам вы должны давать ссылку не ftp://mycomputer.no-ip.com , а ftp://mycomputer.no-ip.com:32768 .

Вероятно, ваш FTP-сервер находится за NAT. В таком случае на NAT надо настроить функцию "Port Forwarding". Во-первых, для порта на котором он отвечает. Во-вторых, как я уже описывал ранее, для клиентов работающих в режиме "PASV", необходимы еще какие-то порты, на которые они будут коннектиться. Именно для этого в Serv-U есть соответствующая настройка "Local Server -> Settings -> Advanced -> PASV port range", в которой указываем некий незанятый диапазон, например 32769-32784 и форвардим его на NAT.

Настраиваем дальше. В меню "Domains -> FtpName(наш сервер) -> Settings" на вкладке "Logging" включаем режим ведения лог-файла для system messages, security messages, files downloads, file uploads, IP names, FTP commands, FTP replies - все это не сильно увеличит лог, но поможет локализовать проблемы. Указываем название лог-файла и включаем галку "Enable logging to file". На других вкладках ничего настраивать не нужно - по умолчанию там все подходит для большинства пользователей.

Теперь будем создавать пользователя. Для начала - гостя. Сначала надо создать на диске папку, которая будет корневой директорией нашего FTP. Например, создадим C:\FTP_Root . Далее необходимо создать папку, в которую все смогут заливать файлы (скачивать мы им [гостям] оттуда не дадим), например, сделаем C:\FTP_Root\Incoming .

В Serv-U есть система шаблонов (Groups). Там можно указать права доступа для созданных директорий. Проще создать группу с правом чтения корневой папки и записи в .\incoming , а затем не прописывать всем пользователям такие же права, а добавлять им этот шаблон. Итак, идем по дереву настроек в "Domains -> FtpName -> Groups" и создаем там новую группу (New Group), называем ее, например, guest. Проходим на вкладку "Dir Access", и добавляем там два наших каталога - C:\FTP_Root и C:\FTP_Root\Incoming .

Даем на них права доступа. Для FTP_Root - только Read и List, для Incoming - только Write-Create-Inherit. Такие права обозначают: Read - чтение файлов, Write - запись файлов, Append - дозапись файлов, Delete - удаление файлов, Execute - запуск выполняемых файлов на серверной машине (очень опасное право, не давайте его никому), List - показ списка подкаталогов, Create - создание подкаталога, Remove - удаление подкаталога, Inherit - все подкаталоги будет иметь аналогичные права (иначе, к ним никаких прав и доступа не будет, если только они не прописаны самостоятельно). Строчки каталогов можно перемещать вверх-вниз. При использовании наследования (Inherit), это актуально - верхняя строчка имеет высший приоритет разрешения.

Итак, теперь создаем гостевого пользователя. Идем в "Domains -> FtpName -> Users" и создаем пользователя "Anonymous" (это стандартное имя гостя, иначе это будет не гость). В качестве начальной директории (Home Directory) указываем C:\FTP_Root . На вопрос "Lock user in home directory?" отвечаем "Yes" - это упростит работу пользователя.

Теперь - важный пункт - в настройках этого пользователя (Anonymous) проходим на вкладку "Dir Access" и удаляем там автоматически созданную строчку в FTP_Root (обратите внимание, что она наследует права чтения в Incoming). Теперь на вкладке "Account" добавляем в Group(s) группу guest, нажимаем "Apply". Возвращаемся обратно в "Dir Access" и смотрим. Тут появились FTP_Root и Incoming , причем редактировать их нельзя - это пользователь получил те самые права для гостей из шаблона "guest".

Итак, гостя мы создали. Он может скачивать любые файлы из каталога C:\FTP_Root (исключая подкаталоги) и закачать какой-нибудь файл в C:\FTP_Root\Incoming , но скачать его оттуда он не сможет (таким образом, ваш сервер невозможно будет использовать для несанкционированной транзитной пересылки файлов).

Теперь создаем какого-нибудь более полномочного пользователя. Для экономии времени скопируем "Anonymous" и переименуем. Поднимаемся по дереву настроек в "Users", выбираем (не раскрываем) "Anonymous" и делаем в контекстном меню "Copy User".

Переименовываем его (например, в Ivanov) и задаем пароль. Обратите внимание, вы сами не сможете посмотреть какой у него пароль, потому запомните его или сразу сообщите пароль этому пользователю.

Теперь идем на вкладку "Dir Access". Обратите внимание, что так как он входит в группу "guest", корневой каталог и incoming у него уже прописаны. Пусть этот пользователь сможет качать, к примеру, нашу музыку. Для этого добавляем путь к музыкальным файлам и даем права Read-List-Inherit (пользователь сможет скачивать любые файлы и подкаталоги).

Однако, если пользователь сейчас подключится, то он не увидит никакого каталога с музыкой, а увидит только FTP_Root. Поэтому нужно сделать на него ссылку из FTP_Root, причем не средствами Windows, а средствами самого Serv-U. Идем по дереву настроек в "Domains -> FtpName -> Settings" на вкладку "General, Virtual path mapping".

Нужно сделать так, чтобы папка музыкой (например, c:\Doc\Music) показывалась в c:\FTP_Root как будто она подкаталог FTP_Root. Нажимаем "Add" и заполняем: "Physical path" - каталог, к которому надо сделать ссылку, пишем c:\Doc\Music, "Mapped to" - каталог, в котором эту ссылку надо поместить - у нас это всегда будет C:\FTP_Root, "Vitual name" - имя этого виртуального подкаталога в FTP_Root, например, Music. Готово.

В "Virtual path mapping" вы можете разместить какие угодно ссылки, но увидят их только те кто в "Dir Access" имеет соответствующие права. Например, в нашем случае, гость не увидит каталога Music.

Чтобы Ivanov при скачивании музыки не занимал особо сильно наш сетевой канал, идем на вкладку "General" его аккаунта и указываем "Max download speed".

Кстати, расскажу еще как нашему пользователю Ivanov входить на FTP. Просто набрав ftp://mycomputer.no-ip.com , он войдёт как гость, а не как Ivanov. Логин и пароль можно вставить непосредственно в адрес ftp://Ivanov:[email protected] - браузер (FTP-клиент) это поймет и использует. Либо следует изучить настройки FTP-клиента, чтобы найти где в нем при подключении указывается имя и пароль для не гостевого входа.

Теперь создадим еще одного пользователя, который будет иметь доступ к каким-либо секретным документам, и потому нельзя допустить взлома его аккаунта. Копируем его из Anonymous, и называем, например, Petrov. Идем на вкладку "General" его аккаунта. Тут есть два интересных с точки зрения безопасности пункта.

Во-первых, Password type. Если указать "OTP S/KEY MD5", то пароль злоумышленники не перехватят. Если указать "Regular password", то это будет стандартная процедура обмена паролями и его могут перехватить. Пользователь выбрать режим паролей не может, это надо сделать на сервере.

Во-вторых, Require secure connection. Password type обеспечивает только защиту пароля, но не пересылаемых данных. Установка шифрованного соединения обеспечивает и защиту данных, и защиту пароля. Причем, если галку на "Require secure connection" не ставить, то шифрованное соединение пользователь может сам по желанию выбрать, а если галка стоит, то пользователь будет обязан использовать шифрованное соединения, иначе его не пустят. Кстати, большинство клиентов не поддерживают при шифровании OTP-пароли - ибо это избыточно, потому Password type сделайте "Regular password" если для этого аккаунта могут быть шифрованные соединения.

Напомню, что штатные FTP-клиенты Windows ни OTP-пароли, ни шифрование не поддерживают - для применения этих мер защиты пользователям надо использовать, например, CuteFTP.

Когда все настроено, очевидно, вам захочется самим поглядеть как это все работает. Это возможно, и идти к другому компьютеру вовсе необязательно (кроме, разве что, проверки настроек брандмауэра или NAT). Используя для этого локальный адрес (127.0.0.1), набираем в браузере или FTP-клиенте адрес ftp://127.0.0.1 (если порт по умолчанию 21), или ftp://127.0.0.1:32768 (если порт нестандартный, например, 32768). Готово. Вы можете абсолютно полноценно таким образом испытывать все возможности своего сервера. Однако учтите, что в пассивном режиме (PASV), если ваш FTP-сервер за NAT, то для обмена данными сервер укажет клиенту внешний IP, и соединение будет невозможно. Потому для проверки используйте обычный PORT-режим в FTP-клиентах.

P.S. Кстати, если что непонятно, то у Serv-U есть отличная контекстная справочная система, вызываемая нажатием клавиши "F1".

(shareware). Кроме того, есть несколько более простые Cerberus (free), а также любопытный русскоязычный проект ST FTP-Service (free). Ниже будет кратко рассмотрен процесс настройки некоторых из этих программ.

GuildFTPd 0.999.5

Мощный сервер, легко настраиваемый, с удобным интерфейсом и прекрасной реализацией виртуальной файловой системы (ВФС).

Установка и главное окно

Установка программы тривиальна. Вы установили программу на Ваш компьютер, запустили, и с интересом смотрите на главное окно программы:

Настройка программы.

1. Настройка основных параметров сервера (номер порта, максимальное количество коннектов, количество коннектов с каждого ip и др) осуществляется в правом нижнем окне. Если Вы это сделаете для группы System, то все группы нижнего уровня эти настройки унаследуют. Для любой выбранной Вами группы эти настройки по умолчанию можно перекрыть. В частности, я иногда использовал для разных имен пользователей разные номера портов.

2. Пункт меню Admin -> Options -> Server: впишите имя Вашего сервера, и несколько уменьшите детализацию сообщений сервера (передвинув бегунок “Log Level” влево), иначе файлы журнала быстро наберут сотни мегабайт:

3. Настройка доступа к серверу. Структура иерархии пользователей в GuildFTPd такова, что любой пользователь должен быть отнесен к какой-либо группе. При этом у Вас есть два основных пути:

  • построение фтп на основе личных логинов;
  • построение сервера на основе прямого входа в нужную директорию.

3.1. Построение фтп на основе личных логинов.

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

Алгоритм очень простой:

а) создаете группу, скажем, Team, и сразу сделайте общий для группы корневой каталог (root):

Ясно, что он уже должен существовать на диске. Обратите внимание - виртуальное выбранного каталога «\». Затем назначим соответствующие права. Получаем следующее:

Сравните между собой две последние картинки, и у Вас не останется вопросов.

Кроме того, существуют общепринятые соглашения по именам каталогов, находящихся в корневом, в частности: \pub - здесь лежат данные, доступные для публичного (анонимного) скачивания; \upload - сюда будут заливать для Вас; \incoming и некоторые другие. Я думаю, что для частного сервера этим соглашениям следовать необязательно.

б) начинаете набивать группу пользователями (Admin -> Add User):

в) создаете ВФС для каждого (см. а)):

И получаете:

Примечание. Вы можете открыть доступ ко всему диску, скажем, таким образом:

Физическая директория K:\FTP является для Вас корневой, а физические диски - каталогами. Тогда в ftp-клиенте Вы увидите следующее:

Файл picture1.jpg как раз находится в каталоге K:\FTP, и Вы сможете его увидеть еще раз, если в этот каталог пойдете по физическому пути.

3.2. Построение сервера на основе прямого входа в нужную директорию.

Здесь Вам не надо создавать множество логинов. Вы создаете один (а то и вовсе используете анонимный вход, для чего вводите имя anonymous , а поля паролей оставляете пустыми), но в правах root-директории снимаете флажок с пункта “list”. А потом просто добавляете туда директории. Не зная полного имени в каталог не попасть.

На этом Ваш сервер готов к работе, для его запуска/выключения нажмите кнопку “on”, или выберите меню Admin -> Allow Logins.

4. Дополнительно. Настройка сообщений сервера: Admin -> Server Messages

5. Дополнительно. Установка плагинов. Рекомендую установить плагин для просмотра статистики (на сайте авторов):

6. Дополнительно. Запрещение доступа на сервер: View -> View Ban List . Чтобы избавиться от назойливого пользователя, внесите его адрес в бан-лист.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: