Установка и Настройка FTP сервера на freebsd

Автор работы: Пользователь скрыл имя, 22 Февраля 2011 в 18:20, курсовая работа

Описание работы

FTP (File Transfer Protocol или "Протокол Передачи Файлов") - один из старейших протоколов в Internet и входит в его стандарты. Обмен данными в FTP проходит по TCP-каналу. Построен обмен по технологии "клиент-сервер". На рисунке 1.1 изображена модель протокола.

Файлы: 1 файл

Курсовой по ФТП.doc

— 384.50 Кб (Скачать файл)

530 Система не загружена (not logged in)

532 Необходима аутентификация для запоминания файла

550 Запрошенная функция не реализована, файл не доступен, например, не найден

552 Запрошенная операция прервана, недостаточно выделено памяти 
 
 
 
 
 

Прекращение передачи файла

 
 

      Чтобы прекратить передачу файла, используйте  клавиши прерывания терминала (обычно Delete или Ctrl-C). Посылка фала будет  немедленно остановлена. Получение  файлов останавливается путем посылки  команды ABORT протокола ftp удаленному серверу, и игнорированием любых получаемых в дальнейшем данных. Скорость срабатывания в этом случае зависит от поддержки обработки команды ABORT удаленным сервером. Если удаленный сервер не поддерживает команду ABORT, приглашение ftp> не появится, пока удаленный сервер не закончит пересылку запрошенного файла.

      Нажатие клавиш(и) прерывания терминала будет  проигнорировано, когда 

       

программа ftp выполнила необходимую локальную обработку и ожидает ответа удаленного сервера. Длительная задержка в этом режиме может оказаться результатом обработки команды ABORT, описанной выше, или непредусмотренного поведения удаленного сервера, включая нарушения протокола ftp. Если задержка произошла в результате непредусмотренного поведения удаленного сервера, локальную программу ftp придется прекращать вручную.

Соглашения  по именованию файлов

      Файлы, указанные в качестве аргументов команд ftp, обрабатываются в соответствии со следующими правилами.

  1. Если указано имя файла '-', используется stdin (для чтения) или stdout (для записи).
  2. Если первый символ имени файла - '|', остальные аргументы интерпретируются как команда shell. ftp в этом случае порождает shell с помощью popen(3S) с указанным аргументом и читает из (записывает в) stdout (stdin). Если команда shell содержит пробелы, аргумент должен браться в кавычки. Типичный пример использования этого механизма: "dir . | pg".
  3. Если предыдущие проверки завершились неудачей и если включено расширение имен, локальные имена файлов расширяются в соответствии с правилами, используемыми в sh(1); см. описание команды glob. Если команда ftp ожидает один локальный файл (например, как команда put), используется только первое имя, сгенерированное операцией расширения ("глобализации").
  4. Для команд mget и команд get, в которых не заданы локальные имена файлов, локальный файл получает имя удаленного, но с учетом возможных изменений, определяемых установками case, ntrans или nmap. Результирующее имя файла может быть затем изменено, если включена опция runique.
  5. Для команд mput и команд put, в которых не заданы имена удаленных файлов, удаленный файл получает имя локального, но с учетом возможных изменений, определяемых установками case, ntrans или nmap. Результирующее имя файла может быть затем изменено удаленным сервером, если включена опция sunique.

Параметры передачи файлов

      FTP определяет много параметров, которые могут повлиять на передачу файла. Поддерживаются режимы (типы) ascii, image (binary), ebcdic и local byte size. Команда ftp поддерживает режимы передачи файлов ascii и image, а также local byte size 8 для режима передачи tenex.

      Команда ftp поддерживает только стандартные значения для остальных параметров передачи файла: режима (mode), формы (form) и структуры (struct). 
 
 
 

  • Конфигурационные  файлы FTP-сервера.

Файл .netrc

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

machine имя

    Определяет  имя удаленной машины. Процесс  автоматической регистрации ищет в  файле .netrc конструкцию machine, соответствующую удаленной машине, указанной в командной строке ftp или как аргумент команды open. Если соответствие найдено, обрабатываются последующие конструкции .netrc вплоть до конца файла или до следующей конструкции machine.

default

    Действует так  же, как machine имя, но соответствует любому имени. Можно задавать только одну конструкцию default и она должна идти после всех конструкций machine. Обычно используется в виде default login anonymous password user@site, давая таким образом пользователю автоматическое подключение к анонимному серверу ftp для машин, не указанных в .netrc. Это подключение можно отменить, используя флаг -n для отключения автоматической регистрации.

login имя

    Определяет  пользователя на удаленной машине. Если эта конструкция указана, процесс  автоматической регистрации начнет регистрацию с использованием указанного имени.

password строка

    Задает пароль. Если указана эта конструкция, процесс  автоматической 
     

    регистрации передаст указанную строку, если удаленный сервер в ходе процесса регистрации затребует пароль. Учтите, что если эта конструкция указана в файле .netrc, ftp прервет процесс автоматической регистрации в случае, когда .netrc может быть прочитан кем-либо кроме пользователя (владельца).

account строка

    Задает дополнительный пароль учетной записи. Если указана  эта конструкция, процесс автоматической регистрации передаст указанную строку, если удаленный сервер потребует дополнительный пароль учетной записи, иначе процесс автоматической регистрации инициирует команду ACCT.

macdef имя

    Определяет  макрос. Эта конструкция действует  как команда ftp macdef. Определяется макрос с указанным именем; его содержание начинается со следующей строки .netrc и продолжается до пустой строки (двух подряд идущих символов новой строки). Если определен макрос с именем init, он автоматически выполняется как последний шаг процесса автоматической регистрации.  

В директории /etc/ в файл «ftpusers» занесены имена  Логинов тех, кому запрещен доступ к FTP серверу.

В этой же директории в файл «ftpchroot» заносятся имена Логинов тех, кому разрешен ограниченный доступ.  
 
 
 
 
 
 

  • Назначение  и размещение файлов FTP-сервера.
 
 

     /etc/ftpusers      Список нежелательных/запрещенных  пользователей.

     /etc/ftpchroot     Список обычных пользователей, для который должен выполняться chroot.

     /etc/ftphosts      Конфигурационный файл виртуальных  хостов.

     /etc/ftpwelcome    Сообщение приглашения.

     /etc/ftpmotd       Сообщение приглашения после  логина.

     /var/run/ftpd.pid  По умолчанию pid-файл для режима демона.

     /var/run/nologin   Может использоваться для запрета доступа по ftp.

     /var/log/ftpd      Лог-файл для анонимных передач  файлов.

     /var/log/xferlog   Место по умолчанию для логов  сессий.

     /etc/ftpusers   Содержит имена пользователей, которые не допускаются на Сервер.

     /var/log/wtmp   Логи сессии FTP сервера

     /var/ftp   Директория фалов для Анонимного user’a 
 
 
 
 
 
 
 
 
 
 
 
 

  • Управление  FTP-доступом.
 
 

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

   Если  пользователь имеет пустой пароль, либо его оболочка по умолчанию отсутствует  в /etc/shells, либо его имя (или наименование группы, членом которой он является) указано в файле /etc/ftpusers, то соединение разрывается – такому пользователю запрещен доступ по ftp. 

   Когда имя пользователя или его группа указаны в файле /etc/ftpchroot, то разрешается  ограниченный доступ – пользователь может работать только в пределах своего домашнего каталога. 

   В случае, когда в качестве имени указано ftp или anonymous, соединение рассматривается  как анонимное (подробнее об анонимном  доступе рассказано в следующем  подразделе). 

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

Анонимный доступ 
 

     Чтобы разрешить анонимный доступ по FTP, вам потребуется вручную создать системного пользователя с именем ftp. У этого пользователя должна быть «легальная» оболочка (одна из указанных в /etc/shells), и он должен иметь домашний каталог, в котором и будут размещаться файлы, доступные анонимному пользователю. Также у него не может быть пустого пароля. По умолчанию, анонимный пользователь не может модифицировать или удалять существующие файлы. Разрешено только создавать новые при условии, что пользователь ftp будет иметь достаточно прав на запись. Дополнительно регулировать доступ к каталогам и файлам (например, полностью запретить запись в определенную папку) можно силами операционной системы, выставляя соответствующие права пользователю ftp. В частности, рекомендуется запрещать для пользователя ftp запись в его домашний каталог, чтобы исключить возможность переполнения раздела, на котором он размещен. 
 
 
 
 
 
 
 
 
 
 
 
 
 

Ограниченный  доступ 
 

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

vasya

petya  /var/db/petya

@dialup 

Теперь Вася и все пользователи группы dialup смогут работать только в пределах своих  домашних каталогов, а для Пети в  качестве рабочей будет определена указанная папка /var/db/petya. С помощью  разделителя /./ можно указать каталог, отличающийся от корневого, который станет текущим: 

serg  /home/serg/./public_html 

В данном случае для пользователя serg доступ будет  ограничен каталогом /home/serg, но в  качестве текущего при входе на сервер установится /home/serg/public_html. 
 
 

Графические документы. 

  • Сравнительная таблица протоколов FTP, HTTP, POP3.
 
 
Критерий \ Протокол FTP HTTP POP3
Название File Transport Protocol Hypertext Transfer Protocol Post Office Protocol 3
Уровень по модели ВОС Прикладной Прикладной Прикладной
Семейство TCP\IP TCP\IP TCP\IP
Создан 1971г. 1990г.  
Порт  \  ID 21/TCP для команд, 20/TCP для данных 80/TCP, 8080/TCP 110/TCP
Назначение Передача Файлов Доступ к  гипертексту, ныне стал универсальным Получение электронной  почты
Спецификация RFC 959 RFC 1945, RFC 2616 RFC 1939 / STD 53
Основные  Реализации FTP Сервера Web Браузеры Почтовые Клиенты
 
 
 
 
 
 
 
 
 
  • Сравнительная таблица различных FTP-серверов.

Информация о работе Установка и Настройка FTP сервера на freebsd