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

Настройка программы Serv-U FTP Server 6.4.

1. После запуска мастера установки появится ряд окон, в которых просто кликайте по кнопке «Next » (Далее):

2. После окончания подготовительных действий начнётся процесс установки, дождитесь его завершения:

3. После окончания процесса установки в появившемся окне нажмите «Close » (Закрыть), а в следующем окне — «Finish » (Закончить):

4. Через некоторое время на экране появится окно детальной настройки FTP-сервера. Нажмите кнопку «Next » (Далее):

5. Окно включения маленьких изображений в программе администрирования сервера. Выберите «Yes » (Да) и нажмите «Next » (Далее):

6. В следующем диалоге нажмите «Next » (Далее) для запуска сервера и подсоединению к нему:

7. Для нормального функционирования сервера в следующем диалоге в поле «IP address » (IP адрес) введите IP адрес своего компьютера в сети (например, 192.168.0.123). Если вы не знаете своего адреса, обратитесь к администрации сети за помощью:

8. В следующем диалоге оставьте всё как есть и нажмите кнопку «Next » (Далее):

9. В следующем окне происходит выбор, должен ли FTP-сервер запускаться сразу же после включения компьютера, или нет. Выберите «Yes » (Да) и нажмите кнопку «Next » (Далее):

10. Хотите ли вы разрешить анонимный доступ к своему серверу? Для того, чтобы все желающие могли свободно получать доступ к файлам, которые вы разместите на сервере, нужно в новом диалоге выбрать «Yes » (Да) и нажать на кнопку «Next » (Далее):

11. Указываем домашнюю директорию (папку) для сервера. Все, кто будут заходить к вам на сервер, попадут сразу же в неё.

Нажмите на кнопку, отмеченную на рисунке красным квадратом:

В появившемся окне обзора папок выберите нужную и нажмите «ОК »:

Следовательно, посетители, зайдя на ваш FTP-сервер, увидят что у вас находится в выбранной ранее папке. Нажмите кнопку «Next » (Далее):

12. Не разрешим посетителям выходить за пределы домашней папки (ради безопасности вашего компьютера). Выбираем «Yes » (Да) и нажимаем кнопку «Next » (Далее):

13. В следующем диалоге откажитесь от создания именованного аккаунта. Выберите «No » (Нет) и нажмите кнопку «Next » (Далее):

14. В новом диалоге нажмите кнопку «Finish » (Закончить), после чего подождите несколько секунд, пока изменения вступят в силу:

15. После всего перед вами откроется окно администрирования сервера. В колонке слева выберите подпункт «Settings » (Настройки) пункта « » меню «Serv-U Servers », а справа — закладку «General » (Основные), как показано на рисунке ниже. Для удобства все эти действия обычно обозначают так:

Serv-U Servers → → Settings → закладка General.

В этом окне выполните настройки, которые выделены на рисунке красным и нажмите кнопку «Apply » (Применить) снизу:

Serv-U Servers → → Settings → закладка Advanced.

Заполните поле «PASV port range » (Диапазон адресов PASV) как выделено на рисунке красным, и нажмите кнопку «Apply » (Применить) снизу:

17. Перейдите в расширенные настройки вашего домена:

Serv-U Servers → → Domains → Wizard Generated Domain → Settings → закладка Advanced.

Поставьте галочку у «Allow passive mode data transfers, use IP » (Разрешить пассивный режим передачи, использовать IP) и введите свой IP адрес в сети (такой же, который вы вводили несколькими пунктами ранее). Нажмите кнопку «Apply » (Применить) снизу:

18. Перейдите в настройки пользователей вашего домена:

Serv-U Servers → → Domains → Wizard Generated Domain → Users → Anonymous → закладка General.

Поставьте галочку и заполните поле, как показано на рисунке. Потом нажмите кнопку «Apply » (Применить) снизу:

19. Настройка завершена!

Перейдя в Serv-U Servers → → Activity можно просмотреть пользователей, подсоединенных к вашему серверу в данный момент.

Вы хотите быстрый надёжный 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". Затем нажмите "Далее".
  • Нажмите "Да" на шаге "Запереть пользователя в домашней папке". Нажмите "Далее".

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

- Encrypt passwords — Шифрование паролей. Управление шифрованием паролей пользователей, при отключенном флаге, пароли будут храниться в незашифрованном виде (файл ServUDaemon.ini), и будут видны в программе-администраторе.
- Enable security – включение (отключение) защиты FTP. Внимание!!! При снятом флаге, ВСЕ файлы FTP будут доступны на изменение (удаление) ВСЕМ пользователям.
- Packet time-out (seconds) — Время в секундах, через которое не отвечающий пользователь будет отключен. Необходимо увеличить при плохом канале.
- File Uploads — управление доступом к загружаемым на Ваш FTP файлам, со стороны других программ.
o Allow no/read access — Загружаемые на Ваш FTP файлы, до окончания загрузки, будут доступны только на чтение.
o Allow no access — Загружаемые на Ваш FTP файлы, до окончания загрузки, не будут доступны.
o Allow full access — Загружаемые на Ваш FTP файлы, до окончания загрузки, будут доступны на чтение/запись.
- File Downloads — управление доступом к загружаемым с Вашего FTP файлам со стороны других программ.
o Allow full access — Загружаемые файлы доступны.
o Allow read access — Загружаемые файлы, до окончания загрузки, доступны только на чтение.

Activity (Server)
Users
— панель предоставляет информацию о текущих пользователях, подключенных к серверу, их IP адресе, текущей директории и последней команде пользователя. В нижней части отображается более подробная информация о выбранном пользователе, скорости подключения, объеме данных, передаваемых(получаемых) им.
Blocked IPs — список заблокированных “на время” IP адресов.
- Add IP — Добавление нового IP адреса. В диалоге предлагается ввести IP, время блокировки в минутах.
- Remove IP — удаление адреса из списка.
- Flush — очистка списка.

DOMAINS — отображается список всех доменов данного сервера.
- Name — Имя домена.
- Domain IP address — IP адрес домена. В случае если у Вас динамический IP адрес, поле необходимо оставить пустым.
- Domain type — выбор способа хранения настроек и списка пользователей домена. В реестре или INI-файле.
- FTP port number — Порт для работы FTP. Рекомендуется 21.

Settings (Domain) – настройки домена.
General
- Max no. of users — Максимальное количество одновременно подключаемых пользователей.
- Virtual path mappings — подключение виртуальных папок. Позволяет разместить ресурсы в разных дисках (папках), при этом у пользователя этот диск(папка) отображается как подкаталог.
- Links – линковка директорий в стиле Unix.
IP access – управление доступом на уровне IP адресов. (см. выше)
Messages – управление сообщениями сервера, передаваемыми пользователю.
Logging – Управление логами сервера.
- Do not log clients from these IPs – не записывать лог пользователей этого IP адреса(маски).
- Enable logging to file – Включить запись логов сервера в файл.
- Log file name – Путь и имя файла, для записи логов. В пути (имени) файла могут использоваться следующие подстановки:
o %D = день (1..31)
o %M = месяц словами (Jan-Feb-Mar и т.д.)
o %N = месяц цифрами (1..12)
o %Y = год (4 знака)
o %X = год (2 знака)
- Automatically rotate log file – автоматическая очистка файла лога раз в:
o Daily — день
o Weekly — неделю
o Monthly — месяц
o Yearly – год
- Screen – выбор событий сервера, отображаемых на панели Logging
- File – выбор событий сервера, записываемых в файл лога.
UL/DL Ratios – настройка соотношений закачиваемого/скачиваемого объема данных. Этот режим позволяет установить соотношение между объемом закачиваемой на сервер информации, и объемом, разрешенным для скачивания пользователем.
Advanced
- Allow MDTM command to change file date/time – разрешить изменение Даты/времени создания файла с помощью команды MDTM.
- Block future dates/times – запретить смену времени/даты на значение больше системного.
- Allow passive mode data transfers – разрешить передачу файлов в пассивном режиме.
- Use IP – адрес, используемый для передачи (как правило внешний адрес прокси сервера).
Activity (Domain) – просмотр активных подключений к домену.
Users – настройка пользователей и их прав доступа.
Account
- Disable account – отключить учетную запись.
- Automatically remove account on date – автоматическое удаление Учетной записи в определенный день. Полезно при создании временных Учетных записей.
- User Name – Имя пользователя.
- Group(s) – Группы, к которым принадлежит пользователь. При выборе группы, права доступа, прописанные в ней, будут автоматически добавлены в права доступа пользователя.
- Password – Пароль пользователя.
- Home Directory – Домашний каталог пользователя.
- Lock user in home directory – блокировка пользователя в Домашнем каталоге.
- Privilege – Привилегии пользователя (только для удаленного администрирования).
o No Privilege – обычный пользователь.
o Group Administrator – администратор группы пользователей.
o Domain Administrator – администратор Домена.
o System Administrator – Администратор сервера (полный доступ).
o Read-only Administrator – Просмотр настроек сервера, без права изменения.

General
- Hide "hidden" files – скрывать файлы, с атрибутом «hidden».
- Always allow login – разрешать пользователю подключение, даже в случае превышения лимита на количество пользователей.
- Allow only X login(s) from the same IP address – разрешить не более X подключений с одного IP адреса.
- Allow user to change password – разрешить пользователю смену пароля.
- Max. Upload and download speed – максимальная скорость UPLOAD/DOWNLOAD для каждого подключения.
- Idle time-out – время отключения по Тайм-ауту.
- Session time-out – Максимальное время подключения пользователя. По истечении времени, пользователь отсоединяется и блокируется на 1 минуту, с тем, что бы освободить подключение для других пользователей.
- Max. no. of users – максимальное количество пользователей, подключающихся одновременно под этой Учетной записью.
- Login message file – файл сообщений, выдаваемых пользователю при подключении.
- Password type – тип пароля.
Dir. Access – управление доступом к директориям (см. выше)
IP Access – управление доступом по IP адресам (см. выше)
UL/DL Ratios – (см. выше)
Quota – позволяет ограничить дисковое пространство, занимаемое файлами пользователя.
Groups – управление группами пользователей.
Account – (см.выше)
Dir access – (см.выше)
IP access – (см.выше)

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

От теории - к практике. Создаем собственный 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 . Чтобы избавиться от назойливого пользователя, внесите его адрес в бан-лист.



Понравилась статья? Поделиться с друзьями: