Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 1262

.pdf
Скачиваний:
3
Добавлен:
30.04.2022
Размер:
921.59 Кб
Скачать

Протокол и утилита обмена файлами FTP

Протокол FTP (File Transfer Protocol - протокол передачи файлов) предназначен для передачи файлов между машинами с использованием протокола TCP, но связь по FTP поддерживается с помощью двух соединений: по одному из них передаются команды FTP, а по другому - данные. На удалённой ЭВМ (сервере) процессу передачи данных соответствует порт 20, а протокольному интерпретатору - порт 21.

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

Сеанс работы с ftp обычно включает следующие этапы:

запуск утилиты, установление соединения с удалённой ЭВМ (сервером);

переход в требуемый каталог на удалённой ЭВМ;

выбор режима передачи файлов;

передача данных согласно командам пользователя;

завершение работы, разрыв соединения.

Эти процедуры выполняются последовательно в каждом сеансе. Наиболее употребительные команды пользователя при работе с ftp приведены в таблице ниже.

9

Наиболее употребительные команды утилиты ftp

Ко-

Пара-

Описание

манда

метры

 

ascii

 

Переключиться в режим передачи тек-

 

 

стовых файлов

binary

 

Переключиться в режим передачи двоич-

 

 

ных файлов

cd

имя ката-

Сменить рабочий каталог на удалённой

 

лога

ЭВМ

close

 

Закрыть соединение с удалённой ЭВМ

del

имя файла

Удалить файл на удалённой ЭВМ

dir

маска фай-

Отобразить содержимое текущего ката-

 

лов

лога сервера

get

имя файла

Получить файл с удалённой ЭВМ

hash

on/off

Включить или выключить режим вывода

 

 

знака "#" для каждого переданного блока

 

 

данных при передаче файлов

help

 

Получить подсказку

lcd

имя ката-

Сменить рабочий каталог на локальной

 

лога

ЭВМ

mget

маска фай-

Получить несколько файлов с удалённой

 

лов

ЭВМ

mput

маска фай-

Отправить несколько файлов на удалён-

 

лов

ную ЭВМ

open

адрес

Установить соединение с указанной

 

ЭВМ

ЭВМ

put

имя файла

Передать файл на удалённую ЭВМ

pwd

 

Вывести имя текущего каталога

quote

команда

Передать команду непосредственно FTP

 

 

(для ввода команд администратора)

quit

 

Завершить работу с утилитой

Поскольку количество пользователей в сети Internet очень велико, то нереально выделить каждому из них индивидуальные права доступа. В таких случаях для установления со-

10

единения по протоколу FTP используется метод анонимного доступа: в качестве имени пользователя используется слово anonymous, а вместо пароля - обычно слово guest (гость). Для анонимного доступа могут использоваться и другие варианты пароля.

При анонимном доступе пользователь имеет, как правило, очень ограниченные права.

Файловая система NFS

Сетевая файловая система NFS (см. рисунок) создана для ОС семейства Unix, реализована и для многих других ОС.

Структура сетевой файловой системы NFS

В файловой системе NFS есть два типа процедур: монтирования удалённой файловой системы и доступа к удалённым файлам.

11

Контроль доступа в NFS выполняется путём применения правил, определённых в локальной файловой системе NFS-сер- вера, и правил, задаваемых процедурой экспорта. Эта процедура заключается в следующем. На сервере необходимо предварительно явно объявить, какие ресурсы файловой системы сервер может предоставить клиентам для совместного использования. Кроме того, определяются права доступа к общим файлам и каталогам на сервере для сетевых клиентов, которые в этом случае идентифицируются IP-адресами или доменными именами соответствующих компьютеров. Сервер выдаёт разрешение клиенту на выполнение тех или иных действий в виде числового кода magic cookie. Это число клиент должен включать в каждый RPC-запрос в качестве доказательства своих полномочий. Кроме того, RPC-запрос содержит идентификаторы пользователя uid, от имени которого выступает приложение, и список идентификаторов групп gid, в которые входит данный пользователь. Администратор сервера задаёт права доступа к разделяемым файловым ресурсам на основе идентификаторов uid и gid клиентов. А это значит, что имеется потенциальная возможность коллизии. Обязанностью администратора является обеспечение согласованной идентификации пользователей на сервере и клиенте.

В большой сети эта задача становится нетривиальной, поэтому для этих целей используется сетевая информационная служба NIS.

Как и другие службы Sun RPC, NFS использует перенаправление портов с помощью редиректора портов portmap. Доступ к порту 111, который слушает portmap, можно ограничить посредством TCP_Wrappers. Для этого необходимо в файле

/etc/hosts.deny задать запись вида: portmap : ALL, что будет означать запрет доступа к порту 111 всем клиентам, кроме тех, кто описан в файле /etc/hosts.allow с помощью записей вида:

portmap : 192.168.1. (разрешить доступ из сети

192.168.1.0/24).

12

Таким образом, чтобы на сервере запустить NFS, нужно запустить программу сервера NFS, демон, ожидающий запросы монтирования от удалённых систем (rpc.mountd), службу portmap, и настроить доступ к общим каталогам.

Следует учитывать ещё и наличие как минимум двух файлов, отвечающих за отображение имён пользователей: /etc/passwd на сервере и /etc/passwd на клиентской машине. При этом возможны два случая: пользователь является владельцем файлов на сервере NFS и пользователь не имеет своих файлов на сервере. В первом случае он обязан иметь учётную запись на сервере, и тогда встаёт задача синхронизации UID и GID пользователей в масштабе всей локальной сети.

Синхронизировать UID администратор сети может вручную или с помощью файла соответствий идентификаторов, при этом серверу NFS нужно указать положение этого файла и задать соответствующую опцию в файле настройки сервера. Для управления сервером NFS используется файл /etc/exports. В этом файле содержится набор записей, каждая из которых определяет экспортируемый каталог. Запись занимает одну строку и имеет следующий формат:

каталог клиент1(опции) [клиент2(опции)] [клиент3(опции)] [...]

Имя экспортируемого каталога может иметь вид /home

или /pub.

Пример файла /etc/exports приведен ниже (подробнее см.

в [9, с.239]).

Пример. Содержание файла /etc/exports. /home *.vorstu (rw,sync)

/home 192.168.0.0/16(ro) /home/secure (noaccess)

В данном примере экспортируется каталог /home по следующим правилам. Доступ хостов из домена vorstu производится с правами чтения-записи, причём изменения производятся немедленно. Хосты из сегмента сети класса В с сетевым

13

адресом 192.168. имеют право только на чтение. Доступа к подкаталогу /home/secure не имеет никто из клиентов.

Для того, чтобы экспортировать описанные каталоги в текущей сессии, надо дать команду: exportfs -a, которая экспортирует все каталоги, переписывая их листинг. Он хранится в каталоге /var/lib/nfs, в файле, имя которого зависит от конкретной системы. Этот листинг читается демоном mountd при каждом запуске службы NFS.

Фактически, существуют два основных способа синхронизации UID и GID пользователей на клиентских машинах и серверах NFS: вручную в масштабе всей локальной сети (не очень удобно при большом количестве учётных записей на клиентских машинах), и файл синхронизации на сервере.

После того, как экспортированные каталоги описаны в файле /etc/exports и перезаписана таблица доступных каталогов с помощью команды exportfs, можно запустить сервис NFS. Все служебные процессы NFS запускаются вместе с сервером nfsd, portmap нужно запускать отдельно. Для запуска сервера NFS при каждом старте машины следует сделать соответствующие настройки с помощью утилит ntsysv или chkconfig.

Сервисы NFS и portmap имеют стартовые скрипты, поэтому запуск служб NFS сводится к вводу двух команд:

service portmap start service nfs start

которые и запустят все необходимые процессы.

На стороне клиента экспортируемые каталоги выглядят как разделы диска. Для их монтирования используется команда mount, при её вызове указывается сервер NFS и монтируемый каталог. Эти данные задаются в формате:

сервер: путь_к_каталогу.

14

Если точно неизвестно, какие каталоги экспортированы, можно воспользоваться утилитой showmount, которая показывает все каталоги NFS на удалённой машине.

Пример. Использование утилиты showmount.

# showmount -e localhost Export list for localhost: /tmp/1 *

Введя вышеуказанную команду для проверки работы служб NFS на своей локальной машине, увидим примерно такой вывод, как этот пример, он означает, что на сервере NFS отредактирован файл /etc/exports следующим образом:

/tmp/1 (ro)

то есть доступ к монтированию каталога /tmp/1 разрешён всем пользователям только для чтения.

Чтобы смонтировать удалённый каталог в своей файловой системе, надо выполнить команду mount:

# mount serv.vorstu:/tmp/1 /mnt/nfs-serv

что означает монтирование каталога /tmp/1, расположенного на сервере, в точку монтирования на локальной машине (каталог /mnt/nfs-serv, перед монтированием точка монтирования должна существовать). Далее работаем с ресурсом NFS как с локальным каталогом.

Если требуется монтирование удалённых каталогов при запуске системы, необходимо внести соответствующую запись в файл /etc/fstab, например,

serv.vorstu:/tmp/1 /mnt/nfs-serv nfs defaults 0 0

15

Варианты заданий

Посмотреть командой man инструкции к указанным командам администрирования и отработать их применение на приведенных примерах.

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

найти в этом каталоге указанный файл и перенести его с удалённого сервера на локальную машину;

поместить в этот каталог указанный файл с локальной машины;

получить список файлов этого каталога, сохранить его в файл. Перенести полученный файл с сервера на ло-

кальную машину.

Закрыть соединение с сервером.

Контрольные вопросы

1.Приведите рекомендации и указания по работе с файловой системой Unix во взаимодействии с файловой системой

MS DOS / Windows.

2.Опишите перечень базовых сетевых сервисов. Какие действия позволяет выполнить сетевая утилита FTP ?

3.Расскажите об основных командах утилиты FTP.

4.Как осуществляется соединение и взаимодействие процессов по протоколу FTP ?

5.Какие возможности протокола FTP используются программами – «браузерами» ?

6.Что такое FTP-сервер ? Для чего используется анонимное соединение с сервером ?

7.Какие протоколы использует файловая система NFS?

8.Какие демоны запускаются при использовании NFS? Что такое демон?

16

Лабораторная работа №2 Конфигурирование сетевых средств OC LINUX

Цель работы – изучение утилит и методов конфигурирования ОС LINUX и аппаратных средств для обмена данными по сети.

Краткие теоретические сведения

При работе в сети TCP/IP процесс формирования сети состоит из следующих этапов.

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

2.Назначение IP-адресов. IP-адреса назначают сетевым интерфейсам. Если у хоста имеется несколько интерфейсов, у него будет несколько адресов.

3.Установка сетевых аппаратных средств.

4.Настройка всех хостов на конфигурирование сетевых интерфейсов во время начальной загрузки.

5.Настройка статических маршрутов и сервисных процессов маршрутизации.

Мы рассматриваем настройку интерфейса Ethernet на стеке протоколов TCP/IP. После того, как платы установлены в машины и соединены кабелями с коммутатором (это должно подтверждаться индикаторами на сетевых картах и коммутаторе), можно приступать к настройкам локальной сети в ОС. Их можно сконфигурировать ещё на стадии инсталляции системы. Если необходимо сконфигурировать сетевой интерфейс после установки системы, настройка включает следующие действия:

получение и установка драйвера устройства;

ассоциирование устройства с драйвером;

17

настройка параметров сети: установка статического IP-адреса интерфейса или настройка клиента DHCP, шлюза по умолчанию, DNS-сервера по умолчанию;

перезапуск сетевых сервисов;

проверка работы сети.

Эти действия можно выполнить в полуавтоматическом режиме с помощью утилит настройки сети или вручную.

Базовой утилитой настройки сетевого интерфейса в графической среде является программа netadmin. После запуска утилиты видим четыре вкладки и несколько кнопок на каждой. Чтобы добавить адаптер надо, находясь на вкладке «Сетевые адаптеры», нажать кнопку «Добавить». В появившемся диалоге следует указать: название драйвера (например, для встроенного адаптера Broadcom это будет bcm4400), интерфейс (если одна карта, то eth0, следующие будут называется eth1, eth2 и т.д.). Как правило, не требуется вводить дополнительные настройки. Следует подтвердить изменения и перейти на вкладку «Сетевые интерфейсы». На этой вкладке нужно ввести в соответствующие поля после нажатия кнопки «Добавить» (или «Изменить», если настраиваете существующий интерфейс): IP-адрес машины, маску подсети, адрес сети и широковещательный адрес. Эти данные должен выдать администратор сети. Отмечают опции «Активировать при загрузке» и «Любой пользователь может (де)активировать интерфейс» при необходимости. После подтверждения изменений переходят на вкладку «Маршрутизация» и добавляют шлюз по умолчанию.

В противном случае, при отсутствии выходного шлюза адреса вне текущей сети будут недоступны. После ввода настроек на вкладке «Сетевые интерфейсы» надо нажать кнопку «Пуск». Интерфейс будет активирован. Его работоспособность можно проверить с помощью утилит ifconfig и ping.

18