Настройка программы 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 →
В этом окне выполните настройки, которые выделены на рисунке красным и нажмите кнопку «Apply » (Применить) снизу:
Serv-U Servers →
Заполните поле «PASV port range » (Диапазон адресов PASV) как выделено на рисунке красным, и нажмите кнопку «Apply » (Применить) снизу:
17. Перейдите в расширенные настройки вашего домена:
Serv-U Servers →
Поставьте галочку у «Allow passive mode data transfers, use IP » (Разрешить пассивный режим передачи, использовать IP) и введите свой IP адрес в сети (такой же, который вы вводили несколькими пунктами ранее). Нажмите кнопку «Apply » (Применить) снизу:
18. Перейдите в настройки пользователей вашего домена:
Serv-U Servers →
Поставьте галочку и заполните поле, как показано на рисунке. Потом нажмите кнопку «Apply » (Применить) снизу:
19. Настройка завершена!
Перейдя в Serv-U Servers →
Вы хотите быстрый надёжный 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 . Чтобы избавиться от назойливого пользователя, внесите его адрес в бан-лист.