Работа в сети


Что такое сеть?
Соединение с удаленным хостом - rlogin, telnet, cu
Передача файлов - rcp, ftp, uucp
Другие сетевые службы
Устранение проблем с TCP/IP

"Информационная супермагистраль" с недавнего времени привлекает пристальное внимание. Многое из того, что обещала "сеть будущего", с нами уже сегодня. Данная глава представляет собой введение в базовое программное обеспечение UNIX, которое используется сегодня для соединения сотен тысяч машин в Internet и Usenet.

Соединение машин в сеть предоставляет большие вычислительные и информационные возможности по сравнению с простым компьютером на рабочем столе или в вычислительном центре. Работая в сети связанных друг с другом машин, вы получаете возможность обмениваться файлами данных с коллегами, посылать электронную почту, играть в игры с множеством участников со всего мира, читать новости Usenet, вносить свой вклад во всемирные дискуссии, искать нужное программное обеспечение или информацию и многое, многое другое. В настоящей главе вы узнаете о двух наиболее распространенных способах соединения машин UNIX в сеть: UUCP и TCP/IP. Они - основа всемирной сети машин и служб, которая имеет тенденции к колоссальному росту. Научившись эффективно применять эти службы, вы откроете для себя новые возможности использования компьютера. В главе представлена лишь небольшая доля доступного программного обеспечения и ресурсов.

Что такое сеть?

Сеть представляет собой систему из двух и более компьютеров, соединенных друг с другом. В настоящей главе вы узнаете о нескольких распространенных способах соединения машин UNIX в сеть. Самая простая сеть - это две машины UNIX, связанные друг с другом по асинхронному каналу (обычно через модем) с помощью программы UUCP, UNIX - UNIX Copy Program. Более сложные сети используют семейства протоколов TCP/IP, Transfer Control Protocol/Internet Protocol. TCP/IP лежит в основе Internet, множества объединенных между собой сетей, которые предоставляют возможность вашему компьютеру подключаться к сотням тысяч других компьютеров.

UUCP - базовые сетевые утилиты

С самого начала использования UNIX стали ясны преимущества такого соединения машин UNIX, при котором машины смогли бы совместно использовать одни и те же ресурсы. Одна из попыток соединить машины вместе вылилась в создание протокола UUCP, который предоставляет возможность соединять друг с другом две машины UNIX, используя асинхронную линию. Основное назначение UUCP - копировать файлы с машины на машину. Однако поверх UUCP реализованы службы, которые предоставляют возможность организовать почту и новости. UUCP можно использовать для пересылки между двумя машинами электронной почты и для приема и передачи новостей Usenet. Наиболее распространенный релиз UUCP, доступный сейчас, часто называется BNU, Basic Networking Utilities - Версия UUCP System V, или HoneyDanBer (HDB). Существуют и другие - как бесплатные, так и коммерческие - реализации UUCP. Хотя изначально программа UUCP был создан для UNIX и предназначен исключительно для копирования информации между машинами UNIX, но сейчас существуют версии UUCP, которые выполняются на MS-DOS и других платформах.

TCP/IP - локальные сети, распределенные сети и Internet

В 1970-х годах Министерство обороны Соединенных Штатов создало организацию DARPA, Defence Advanced Research Projects Administration. Одним из направлений деятельности DARPA бьшо создание объе-диненньис между собой сетей, которые позволили бы сотрудничать исследовательским лабораториям по всей стране. Эта экспериментальная сеть получила имя ARPAnet, а протокол, который использовался для взаимодействия машин, расположенных в разных сетях, назывался и называется IP или Internet Protocol. После появления ARPAnet количество объединенных между собой сетей невероятно выросло, и сейчас существует огромная и трудно поддающаяся определению среда под названием Internet, которая предоставляет возможность компьютерам по всему миру взаимодействовать между собой. Internet включает многие сотни тысяч машин (из-за аморфной природы Internet трудно даже точно подсчитать их количество), соединенных посредством общедоступных и частных сетей.

Internet Protocol позволяет пересылать пакеты между двумя компьютерами, подключенными к Internet. IP предоставляет только примитивные услуги, и поэтому существуют дальнейшие уровни протокола, которые используют IP для выполнения полезных функций. Двумя очень близкими протоколами являются TCP и UDP. TCP связывает две программы почти так же, как последовательное соединение связывает два компьютера. UDP, User Datagram Protocol, обеспечивает простой способ пересылки коротких сообщений между двумя программами. Наиболее интересные программы, использующие IP, применяют TCP для создания соединения, поэтому аббревиатура TCP/IP часто используется для ссылок на протокол взаимодействия машин в Internet.

Имена и адреса

ля использования машин и ресурсов сети их надо уметь отыскать. Имена хостов используют иерархическое пространство имен, которое предоставляет каждому хосту уникальное имя, причем это имя остается понятным и произносимым. Например, именем одного из хостов в Internet является ftp.uu.net. Сам протокол IP использует - Адреса Internet, то есть уникальные идентификаторы хостов Internet, которые обычно записываются в точечной нотации (dot notation), по четыре числа (каждое в пределах 0 и 255), разделенные точками. Например, 192.48.96.9 является адресом (на момент написания книги) хоста ftp.uu.net

.

Что в имени?

Имена хостов в Internet представляют собой серии "слов", разделенные точками. Точки разделяют разные части имени. Используемая система имен называется domain naming system (DNS - система имен доменов), поскольку она распределяет ответственность за уникальность имен между административными доменами. Администратор каждого домена отвечает за управление и присваивание уникальных имен внутри данного домена. Управление доменом высшего уровня или корневым доменом, крайним правым словом в имени хоста, несет ответственность за соглашения по именованию. Лучше всего понять названия хостов можно, читая их справа налево, по одному слову. Смотрите рисунок, на котором приведен набросок иерархического пространства имен, используемого в данных примерах.



Посмотрите на имя хоста ftp.uu.net. При чтении справа налево первым словом является net, означающее, что имя хоста принадлежит провайдеру сетевых услуг (network service provider). Объяснение данного и других имен высшего уровня приведено в таблице. Следующее слово - это uu. Внутри .net имя uu принадлежит UUNET Communications, компании, которая предоставляет сетевые услуги. Где-то в другом месте пространства имен доменов имя uu может означать что-то совсем иное.

Таблица 6.1. Домена высшего уровня.


Домен
Значение

EDU

ORG

NET

СОМ

GOV

MIL

cc

US
Образовательный. Колледжи и университеты.

Организации. Некоммерческие и не предусматривающие получение прибыли.

Сети. Провайдеры сетевых услуг (часть - в СОМ).

Коммерческие. Бизнес.

Правительство. Офисы правительства Соединенных Штатов.

Военные. Вооруженные силы Соединенных Штатов.

Страны, ее является кодом страны в ISO.

Пример кода страны. United States.


ПРИМЕЧАНИЕ

На протяжении какой-то части истории существования ARPAnet большинство хостов в Соединенных Штатах (и некоторые организации и компании) имело домены с суффиксами EDU, ORG, NET< СОМ, GOV или MIL. Многие хосты в других странах находились под доменом верхнего уровня, который является двухсимвольным кодом ISO для страны. Еще большую путаницу jhocht то. что United States имеет еще и домен верхнего уровня US. который включает локальные организации, высшие и средние школы и местные власти



Взгляните на имя хоста conch.newcastle.org и на conch.austin.tx.us. Имя org означает принадлежность к организации, newcastle означает, что владельцем является Newcastle Associates. Наконец, conch - это имя конкретного хоста в сети Newcastle. Во втором имени us означает United States, tx - Техас, austin - город Остин и conch - имя конкретного узла. Обратите внимание, что эти две машины - совершенно разные и имеют разных владельцев. Так получилось, что они совместно используют один из компонентов имени, но это не является проблемой благодаря иерархическому пространству имен, предоставляемому DNS.

На самом деле повторяются многие имена. В Internet существует немало машин, у которых первой частью имени домена является ftp. Многие машины имеют в качестве первой части имя www. Достоинство DNS заключается в том, что повторение отдельных имен не приводит к конфликтам. Об именах говорится, что "все хорошие имена приемлемы", но DNS предоставляет возможность повторно использовать некоторые хорошие имена в разных контекстах. Попытайтесь, используя рисунок понять следующие имена хостов:

ftp.x.org

ftp.uu.net

ftp.newcastle.org

rs.internic.net

utc.univ-coop.austin,tx.us

Обратите внимание на то, что utc.univ-coop.austin.tx.us имеет иное число компонентов по сравнению с другими рассматриваемыми именами. DNS может расти, наращивая уровни дерева. Владелец домена может добавить новые домены с целью упрощения имен и введения новых хостов.ПРИМЕЧАНИЕ

В дополнение неофициальным именам некоторые хосты имеют и псевдонимы. Псевдоним - это просто другое имя хоста. Например, ftp.x.org является псевдонимом для текущей машины, используемой для ftp организацией х.оrg.



Использование укороченных имен

Обычно DNS конфигурируется для использования пути поиска (search path) для имен хостов, не оканчивающихся точкой. Это позволяет использовать в пути поиска укороченные имена. Обычно DNS конфигурируется для поиска вашего домена и затем поиска вверх до корневого домена. Обратитесь к системной документации и посмотрите, можете ли вы изменить путь поиска. Представьте, что вы работаете на cnidaria.newcastle.org и хотите найти машину с именем newcstle.net. При поиске будут последовательно перебираться следующие имена до первого совпадения:

newcstle.net.newcastle.org

newcstle.net.org

newcstle.netСОВЕТ

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



Декодирование адресов и портов

Хотя имена DNS и являются достаточно удобным для людей способом ссылаться на хосты. Internet Protocol, для поиска в сети хоста, нуждается в использовании 32-разрядного адреса Internet. Адреса Internet обычно записываются четырьмя числами в диапазоне от 0 до 255, разделенных точками. Обратите внимание, что для представления каждого числа нужны 8 бит, поэтому в результате получается 32-разрядный адрес Internet.

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

Когда новый протокол одобряется как стандарт, ему назначается номер порта, который всегда будет использоваться для данного протокола. Например, протоколу регистрации, используемому для rlogin, присвоен порт 513, а протоколу telnet присвоен порт 23. Изучить соответствие портов протоколам можно, обратившись к файлу /etc/services на вашей машине. Если на вашей машине выполняется NIS (Network Information System, прежде называвшаяся Желтыми Страницами - Yellow Pages), то можно использовать команду ypcat services.

Смотрите, что происходит, когда исполняется команда rlogin remotehost.

Если хост remotehost ожидает обращений из сети, на нем запущена программа inetd, которая ожидает соединений на тех портах, которые определены в файле конфигурации inetd.

В частности, если администратор хоста remotehost желает, чтобы remotehost отвечал на запросы rlogin, программа inetd ожидает соединений через порт 513. После получения запроса inetd передает установленное соединение программе rlogind, которая реализует протокол.

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

Преобразование имен в адреса

Вы уже видели, как выглядят имена хостов, адреса Internet низкого уровня и номера портов, но пока не знаете, как имена превращаются в адреса.

Преобразование имен хостов обычно выполняется системой имен доменов, которая в дополнение к спецификации внешнего вида имен доменов определяет протокол трансляции имен хостов в адреса. Прежде всего посмотрим, как конвертируется имя ftp.x.org. Когда ваш локальный хост пытается преобразовать имя ftp.x.org в адрес IP, он вступает в контакт с DNS-сервером - сервером имен, машиной, на которой загружена программа отображения имен DNS и которая готова отвечать на вопросы об именах. Сервер имен, кроме того, знает, как вступить в контакт с другими серверами имен, чтобы отыскать те имена, которые локальный сервер не знает.

Краткое введение в NIS

При реализации любой сети общей проблемой является управление паролями и файлами групп. Некоторые организации предпочитают иметь общий список пользователей и групп для всех или большинства хостов в сети. Network Information Service, предложенная Sun, является одним из способов решения этой проблемы. NIS предоставляет возможность совместного использования информации о паролях, группах и т.п. несколькими хостами, администрируемыми совместно. Существуют и другие (как коммерческие, так и бесплатные) решения данной проблемы, но они не распространились пока так широко, как NIS.

Если вы используете NIS, то для изучения информации о паролях в системе можно использовать команду ypcat passwd. Действующий файл etc/passwd не будет содержать полного списка всех пользователей, которые могут подключиться к машине, выполняющей NIS. Если для управления файлами passwd вы используете NIS, то ваш пароль будет одинаковым на всех машинах в сети, которые выполняют NIS. NIS можно также использовать для создания среды, в которой файлы используются системами совместно и прозрачно. Это делается с помощью сетевой файловой системы, NFS, которая предоставляет возможность монтировать файловую систему удаленного компьютера и получать доступ к ней так, будто она является локальной. В некоторых вычислительных средах NFS сконфигурирована так, чтобы начальным всегда был один и тот же каталог, независимо от того, на какой машине в сети вы работаете. Сказанное означает, что ваши файлы будут доступны всегда, независимо от того, какую машину в сети вы используете. Узнайте у своего системного администратора, используется ли NIS и можно ли ее применять для автоматического монтирования начального (и других) каталогов.

Соединение с удаленным хостом - rlogin, telnet, cu

С помощью трех служб, rlogin, telnet и cu, вы можете подключиться к удаленному компьютеру по сети. rlogin использует службу login и протоколы TCP/IP для соединения с удаленным компьютером в сети, telnet использует службу Telnet и протоколы TCP/IP, cu осуществляет соединение по телефонной линии.

Перед использованием rlogin, rsh и rср

Прежде чем использовать rlogin, необходима определенная настройка. Та же настройка используется для rsh и rcp. Об упомянутых здесь деталях следует помнить и при чтении следующего раздела. Для справки, he-host используется как имя локальной машины и remotehost является именем удаленной машины.

На удаленной машине существуют два файла: /etc/hosts.equiv и .rhosts в начальном каталоге удаленного пользователя. Файл hosts.equiv содержит список имен хостов. Каждая машина в данном списке рассматривается как доверенный хост (trusted host). Любой пользователь, у которого есть бюджет как на loc-host, так и на rem-host, имеет право доступа к удаленной машине с локальной машины без каких-либо вопросов. "Без каких-либо вопросов" - это важно и означает, что пользователь не должен вводить пароль для доступа к удаленной машине.



Системные администраторы должны серьезно рассмотреть отключение протоколов rlogin и гехес на машинах, которые непосредственно подключены к Internet. Дело в том. что аутентификация пользователя в данных протоколах организована очень слабо. По крайней мере, будьте весьма внимательны в отношении записей в файлах etc/hosts.equiv. и .rhosts.

Файл .rhosts в начальном каталоге удаленного пользователя содержит список пар доверенных хостов и пользователей. Это похоже на список доверенных хостов файла hosts.cquiv, но дает более тонкие градации для управления. Каждая запись в rhosts гарантирует доступ одного конкретного пользователя на одном конкретном хосте, а не доступ всех пользователей этого хоста. Строки в .rhosts, которые именуют только машину, гарантируют доступ пользователю с точно таким же регистрационным именем. Пользователь на he-host может получить доступ к rem'kost без вопросов (то есть без указания пароля). Аутентификация пользователя выполняется протоколом.

Обычно только системный администратор может изменять значения в файле /etc/hosts.equiv. Поскольку данный файл предоставляет доступ многим пользователям, то он является системным конфигурационным файлом. Но каждый пользователь может установить свой собственный файл .rhosts. Данный файл должен находиться в начальном каталоге этого пользователя и принадлежать исключительно данному пользователю (и привилегированному). Ограничения владения являются мерами безопасности, предотвращающими получение одним пользователем прав доступа к бюджету другого пользователя.

Листинг 6.1 и листинг 6.2 показывают примеры файлов hosts.equiv и .rhosts. Данные два файла размещены на машине под названием flounder, файл .rhosts принадлежит пользователю rob и расположен в его начальном каталоге. Два хоста, перечисленные в файле /etc/hosts.equiv, manatee и dolphin, являются доверенными хостами для flounder. Любой пользователь, имеющий бюджета на manatee и flounder, может получить удаленный доступ к flounder с manatee без указания пароля. Точно так же, любой пользователь, имеющий бюджет на dolphin и flounder, может получить удаленный доступ к flounder с dolphin без указания пароля.

Листинг 6.1. Файлы /etc/hosts.equiv и .rhosts.

manatee

dolphin

Листинг 6.2. Файл /useers/rob/.rhosts на машине flounder.

french-angel

rob yellowtaii

rob dolphin

rob dolphin

root dolphin

diane stingray

rob stingray

root flying-gurnard

root

Файл .rhosts пользователя rob содержит список пользователей на удаленной машине, которые имеют доступ к flounder, как пользователь rob, без указания пароля. В данном предложении сошлись вместе несколько важных положений, которые требуют дальнейших пояснений:

р Файл .rhosts пользователя rоb. Сказанное подразумевает, что на машине flounder есть бюджет с rob в качестве имени пользователя. Начальный каталог пользователя rob (в примере считается, что это /users/rob) содержит файл с именем .rhosts, который принадлежит rob.

р Пользователи на удаленной машине, которые имеют доступ к flounder. Каждая запись в списке является парой имен - имени машины и имени соответствующего пользователя. Данная пара имен описывает одного конкретного пользователя, который имеет доступ к flounder. Данный пользователь должен получать доступ к flounder именно с указанной машины. На этой машине пользователю недостаточно просто иметь бюджет. Именно с этой машины данным пользователем должен быть инимирован удаленный доступ.

р Как пользователь rob. Видимо, данное положение является самым трудным для понимания среди всех, поэтому будьте внимательны. Любой из пользователей, указанных в списке, может получить доступ к бюджету rob на flounder как rob. Он "становится" rob на flounder, даже если на инициирующей машине он был другим пользователем. По сути, это то же самое, что предоставить данному пользователю пароль бюджета rob на данной машине. По этой причине будьте предельно строги в отношении записей в файлах .rhosts!

р Без указания пароля. Некоторые службы (rlogin) предоставляют возможность запроса пароля. Если аутентификация пользователя через файлы .rhosts и hosts.equiv не прошла, то запрашивается пароль. Другие службы (rsh и rcp) не обладают способностью запрашивать пароль. При использовании этих служб доступ должен конфигурироваться так, чтобы при необходимости пароль можно было указывать.

Используя листинг 6.2, определите для каждого из следующих сценариев, сможет ли указанный пользователь получить доступ к flounder без пароля - как rob. Предполагается, что каждый пользователь имеет регистрационную запись на локальной машине и на flounder.

1. Пользователь root на машине stingray?

2. Пользователь root на машине manatee?

3. Пользователь root на машине french-angel?

4. Пользователь frank на машине dolphin?

5. Пользователь frank на машине stingray?

6. Пользователь frank на машине tarpon?

7. Пользователь diane на машине manatee?

8. Пользователь diane на машине dolphin?

9. Пользователь diane на машине flying-gurnard?

10. Пользователь rob на машине yellowtail?

11. Пользователь rob на машине dolphin?

12. Пользователь rob на машине manatee?

13. Пользователь rob на машине flying-gurnard?

Вот правильные ответы:

1. Да, файл .rhosts пользователя rob имеет запись stingray root.

2. Нет, файл .rhosts пользователя rob не имеет записи manatee root. Однако, root из manantee может получить доступ к flounder без пароля - как root, поскольку manatee упомянута в списке /etc/ hosts.equiv.

3. Нет, файл .rhosts пользователя rob не имеет записи franch-angel root.

4. Нет, файл .rhosts пользователя rob не имеет записи dolphin frank. Однако frank из dolphin может получить доступ к flounder без пароля - как frank, поскольку dolphin упомянута в /etc/hosts.equiv.

5. Нет, файл .rhosts пользователя rob не имеет записи stingray frank.

6. Нет, файл .rhosts пользователя rob не имеет записи tarpon frank.

7. Нет, файл .rhosts пользователя rob не имеет записи manatee diane. Однако diane из manatee может получить доступ к flounder без пароля - как diane, поскольку manatee упомянута в /etc/hosts.equiv.

8. Да, файл .rhosts пользователя rob имеет запись stingray diane.

9. Нет, файл .rhosts пользователя rob не имеет записи flying-gurnard.

10. Да, файл .rhosts пользователя rob имеет запись yellowtail rob.

11. Да, файл /etc/hosts.equiv имеет запись dolphin. Обратите внимание, что если бы системный администратор удалил данную запись, то ответ все равно был бы положительным, поскольку запись dolphin rob есть в файле .rhosts.

12. Да, файл /etc/hosts.equiv имеет запись manatee rob.

13. Нет, файл /etc/hosts.equiv не имеет записи flying-guard и файл .rhosts не имеет записи flying-guuard rob.

Использование rlogin

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

Установка соединения rlogin

Команда rlogin принимает обязательный аргумент, который специфицирует удаленный хост. И локальный и удаленный хосты для соединения должны иметь утилиту rlogin. В таком случае rlogin соединится с указанной удаленной машиной и начнет сеанс регистрации.

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

Протокол rlogin может даже позаботиться об аутентификации. Если вы (или ваш системный администратор) создали корректную запись в файлах /etc/hosts.equiv или $HOME/.rhosts, то аутентификация не нужна (то есть, пароль запрашиваться не будет). Если указанные файлы не имеют записей для вашего хоста и имени пользователя, то подсказка о вводе пароля будет отображена точно так же, как и при попытке зарегистрироваться локально.

Давайте рассмотрим несколько примеров. Предположим, что ваше пользовательское имя - rachel, a локальная машина, на которой вы зарегистрированы, называется moray-eel. Для входа на машину flounder введите:

$rlogin flounder

Произойдет соединение с flounder и для пользователя rachel будет инициирован сеанс регистрации (сеанс окончится неудачно, если пользователя rachel на машине flounder не существует). Затем протокол rlogin проверит специальные файлы на необходимость аутентификации. Если moray-eel упомянута в файле /etc/ hosts.equiv или в ~rachel/.rhosts, то аутентификации не требуется.

Для входа на flounder как пользователя amie следует ввести rlogin -l arnie flounder. Здесь инициируется сеанс входа в систему с именем пользователя amie. Если пользователь arnie на машине flounder существует, то специальные файлы проверяются на аутентификацию. Поскольку в данном случае имя пользователя для удаленного входа отличается от имени локального пользователя, то файл /etc/hosts.equiv аутентификации не обеспечивает. Если файл ~araie/.rhosts имеет запись moray-eel rachel, то аутентификация не требуется (то есть вход в систему будет успешным без предъявления пароля). Если такой записи не существует, то появится подсказка на ввод пароля и вы должны будете ввести пароль, связанный с именем пользователя amie. Это подсказка не на ввод вашего пароля, а на ввод пароля arnie.

Неудачное соединение

При попытке войти на удаленную машину посредством rlogin возможны несколько видов ошибок. Некоторые из проблем выходят за рамки вашей компетенции. В таких случаях следует обратиться к системному администратору и попросить его о помощи.

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

Что касается большинства других проблем, то здесь нужна помощь системного администратора. Способы идентификации причин возникновения проблемы смотрите в разделе "Устранение проблем". Любые подробности о симптомах проблемы помогут тому, кто несет ответственность за ее разрешение. Некоторые причины, из-за которых вы можете столкнуться с проблемами, таковы:

р На удаленной машине отсутствует ваш бюджет. м Ваш локальный хост не связан сетью с удаленной машиной.

р Удаленный хост не поддерживает rlogin.

р Есть проблемы в сети между локальным и удаленным хостами.

Использование сеанса входа в удаленную систему

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

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

В некоторых средах сеть сконфигурирована так, что ваш начальный каталог находится на удаленном файл-сервере и монтируется на каждой машине, к которой вы имеете доступ. В таком случае вы на самом деле имеете только один физический каталог HOME: и только одно множество стартовых файлов (например, login). В результате обеспечивается единая среда при работе на любой машине. Однако такой подход затрудняет написание стартовых файлов, поскольку приходится принимать во внимание разные типы машин.ПРИМЕЧАНИЕ.

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



СОВЕТ

Поскольку удаленное и локальное приглашение могут выглядеть одинаково, то возникает желание включить hostname в переменную приглашения (PS1). Если у вас есть какие-либо сомнения по поводу того, от какого хоста пришло приглашение, то выполните команду hostnam.



Увидев приглашение удаленного хоста, можете вводить любые команды, которые вы вводили бы в локальной среде. Протокол rlogin перенесет ввод и вывод между локальной и удаленной машиной. Такой перенос "прозрачен" для пользователя. Иногда только обращает на себя внимание уменьшение быстродействия, зависящее от полосы пропускания и загрузки сети.

Во время сеанса работы с удаленной машиной может появиться желание поработать с локальной машиной. Можно просто выйти из удаленного сеанса и попасть вновь на локальное приглашение. Но если вы еще не закончили работу с удаленным хостом, то выполнять команду exit, а потом - rlogin, возможно неоднократно, будет скучно. На этот случай существует лучший способ ~ использование символа escape.

Использование символа escape

Протокол rlogin обеспечивает символ escape, который при вводе в качестве первого символа в командной строке, обрабатывается по-особому. По умолчанию символом escape является тильда (~), но значение по умолчанию можно изменить в команде riogin с помощью опции -е. Если символ, следующий немедленно за символом escape, распознается процессом rlogin, то он выполняет функцию, связанную с данным символом. В противном случае символ escape (и оставшиеся символы) выполняются на удаленной машине.

Последовательность символов ~. представляет собой команду на отключение от удаленного хоста. Это не такое изящное отключение, как с помощью команды exit. Последовательность тильды и точки немедленно отсоединяет от удаленной машины. Прибегать к команде ~. следует только тогда, когда, по какой-то причине, команда exit недоступна.

Если локальная команда rlogin исполнялась оболочкой управления заданиями (С или Кот), то вы можете приостановить rlogin, введя последовательность ^susp, где susp представляет собой управляющий символ для приостановки выполнения задания, обычно Ctrl-Z. Это очень удобно. Не приходится вводить несколько раз exit с последующим rlogin, которые пришлось бы вводить в противном случае для доступа к локальной машине. В среде графического пользовательского интерфейса проблему решают два окна: одно - для rlogin и одно - для локальной машины.

Возможен удаленный вход сначала на одну машину, а затем с нее - удаленный вход на другую машину. Для уведомления любой машины в цепочке можно использовать несколько символов escape. В качестве примера предположим, что вы локально подключены к Host А. Оболочка управления заданиями настроена так, что команда приостановки задания - это Ctrl-Z. С Host А вы удаленно (rlogin) подключаетесь к Host В. Отсюла - к Host Сие Host С удаленно подключаетесь к Host D. В данный момент весь ввод будет

с каждым хостом свой escape-символ. Необходимо начать с локального хоста, затем идти в том порядке, как выполнялись удаленные подключения. В примере единичная тильда (^) относится к Host А, две тильды (~) относятся к Host В и три тильды относятся к Host С.

Для приостановки rlogin от Host С к Host D следует ввести ~~~..

Одной из очень распространенных escape-последовательностей, которая поддерживается не на всех платформах, является ~!. Ввод такой последовательности приводит к тому, что rlogin предоставляет в ваше распоряжение субоболочку на машине, которая указывается ~. Для указания любого хоста в цепочке удаленных подключений используются несколько символов escape. Для возврата к rlogin просто введите в субоболочке команду exit.ПРИМЕЧАНИЕ

Существует разница между -~susp и ~!. Команда приостановки переводит процесс rlogin в фон и предоставляет возможность общаться с исходной оболочкой (той, с которой выдана rlogin). Escape-последовательность (~!.) запустит новую оболочку, как дочерний процесс rlogin.





Использование Telnet

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

Если нужно перейти в командный режим Telnet в то время, когда вы подключены к удаленному хосту, введите символ escape. Символом escape по умолчанию является Ctrl-], но его можно сменить с помощью команды set- Для возврата к удаленному соединению просто выполните команду, например set. Если нечего посылать (send) или устанавливать (set), то выполните send пор. Аргумент пор заменяет по operation.

Если ввести telnet без аргументов, то вы запустите Telnet в командном режиме. На экране появится специальная подсказка (telnet>). Введите любую команду Telnet. Ниже приведен список наиболее распространенных команд. Более подробный список можно найти в man-странице telnet.

open Подключает к указанному хосту.

close Отключает от хоста и возвращает в командный режим.

quit Закрывает соединение (если оно существует) и покидает Telnet.

set Изменяет значение данного аргумента.

send Посылает команду на удаленный хост и возвращается на удаленное соединение.

display Показывает текущие параметры конфигурации Telnet.

status Показывает текущее состояние соединения Telnet.

? Предоставляет помощь.

Следующие разделы рассматривают некоторые из команд более подробно.

open

Команда open принимает два параметра, хост и порт. Хост - обязательный параметр. Это может быть имя хоста или IP-адрес. Параметр указывает удаленный хост, к которому следует подключиться. Удаленный хост должен иметь доступ по сети и поддерживать службу Telnet. Порт является параметром по выбору и указывает номер порта, который используется при подключении к удаленному хосту. По умолчанию порт, к которому подключается Telnet, является хорошо известным портом Telnet (23). Когда соединение с удаленным хостом приходит в порт telnet, то удаленная служба telnet обрабатывает соединение. Удаленная служба Telnet предполагает, что хочет подключиться локальный абонент, и вызывает для данного подключения процесс входа в систему. Описанный процесс можно использовать для определенных видов отладки и устранения проблем. Например, для подключения к почтовому серверу на машине можно ввести telnet hostname smtp (или заменить smtp на 25, если предыдущая команда не работает). Команда подключит вас прямо к серверу Simple Mail Transfer Protocol на hostname, и вы сможете задействовать данное соединение для устранения проблем с почтой. Иногда сетевые службы, предлагаемые Telnet, требуют специального номера порта. Например, многие поставщики gopher и WWW для доступа к службе предлагают специальный номер порта.

В режиме по умолчанию команда open в Telnet похожа на rlogin. На удаленном хосте инициируется вход в систему. Но протокол Telnet, в отличие от rlogin, не предполагает каких-либо удобств. Он не использует установок какой-либо локальной среды. Он не выполняет никакой части процедуры входа в систему (идентификации или аутентификации пользователя).

Если Telnet используется только для ввода команда open, то входить в командный режим Telnet необязательно. В командной строке Telnet введите: имя хоста, а затем через двоеточие необязательный номер порта. Команда заставит Telnet немедленно выполнить open с аргументами командной строки.

close

Команда close закрывает открытое соединение (если оно существует). На некоторых версиях Telnet данная команда не прерывает командного режима Telnet. Поэтому, если вы подключены к Host В, но решили подключиться к Host С, то введите команды close, а затем - open С.

quit

Для окончания работы с Telnet следует использовать команду quit. Команда quit закроет открытое соединение (если оно существует). Затем команда закроет службу Telnet и вернется к подсказке локальной оболочки.

set

В Telnet есть несколько внутренних переменных, используемых для настройки. Для изменения значений переменных можно использовать команду set. Для просмотра текущих значений переменных применяется команда display. Символ escape Telnet устанавливается с помощью set.совет

С помощью Telnet можно устанавливать определенные специальные символы (такие как erase - стирания), но сделанные установки будут работать только ^ строчном режиме Telnet Строчный режим часто используется для подключения к удаленным машинам, оснащенным пользовательскими интерфейсами, ориентированными на строку, и предоставляет возможность составлять целую строку ввода, перед тем как посылать ее на удаленную машину (после нажатия return) При подключении к машинам UNIX вы, вероятно, не будете использовать строчный режим, поскольку интерактивные программы (такие как vl), управление заданиями и команды истории оболочки (интерактивное

редактирование команд в ksh) рассчитаны на прием символов сразу после тогор как они были введены.



?

Знак вопроса (?) представляет собой команду Telnet, которая при вводе без аргументов обеспечивает список всех команд Telnet. Это весьма полезно, если вы забыли название команды. Для того чтобы получить помощь о конкретной команде, используйте ? с именем команды в качестве аргумента. Знак ? можно также использовать как аргумент в командах setр send и toggle для распечатки действительных аргументов команды.

Прежде чем использовать сu

Прежде чем использовать команду си, системный администратор должен сконфигурировать соответствующие устройства и машины для доступа UUCP. Посмотрите системную документацию UUCP, где приведена информация о том, как это сделать.

Использование cu

Команда cu вызывает другую систему. Данный сервис используется только для соединения компьютеров по телефонным линиям. Локальный хост должен быть оборудован выходным модемом, а удаленный хост должен иметь модем, поддерживающий поступающие вызовы.

Ваш системный администратор мог уже сконфигурировать параметры, необходимые для вызова определенных систем. Конфигурация хранится в файле /etc/uuc/Systems.ПРИМЕЧАНИЕ

Реальное имя этого файла зависит от того, какая у вас версия UUCP. Сказанное верно для SVR4. Поскольку версии могут меняться ищите файл *systems*



Для соединения с удаленным хостом введите cu system-name. Если удаленный хост не был сконфигурирован в файле /etc/uucp/Systems, можно указать необходимые параметры в командной строке. Команда cu phone-number наберет указанный телефонный номер. Например, cu 9==140855551212 будет вызывать дополнительное устройство и присвоит ему телефонный номер 914085551212. Знак равенства указывает на то, что перед набором следующей цифры необходима пауза.

Кроме того, вызов можно делать, используя локальное устройство, указанное опцией -1. Опция -1 применяется для указания устройства для создания соединения. Чаще всего опция используется только для жестких соединений: cu -l dev dir соединит непосредственно с линией под названием dev.

Передача файлов - rcp, ftp, uucp

Файлы являются основой всего, что делается в UNIX. Когда вы выполняете команду (за исключением встроенных команд оболочки), связанный с командой файл предоставляет инструкции для ее выполнения. Когда информация сохраняется или извлекается, данные хранятся в одном или нескольких файлах. Интерфейс UNIX с аппаратными устройствами осуществляется через файлы устройств. Файлы пронизывают всю систему. Следовательно, обладать доступом к необходимым файлам предельно важно.

Иногда нужные файлы хранятся не на локальной машине. Среды клиент-сервер сконструированы для обеспечения средств совместного использования файлов многими машинами. Когда машины в локальной сети сконфигурированы для совместного использования файлов, достижимыми становятся очень многие файлы. Если вы работаете с NFS, то некоторые каталоги в вашей системе будут физически находиться на удаленных машинах. Данные каталоги и файлы будут доступны как часть обычной файловой системы UNIX, и вам не потребуется какой-либо специальной технологии для доступа к ним.

Но не все системы настроены именно так. Многие файлы существуют вне смонтированных на локальной машине удаленных файл-систем. В таких случаях иногда требуется получить копию файла откуда-то извне локальной среды. Для удаленного доступа к таким файлам можно использовать rlogin, telnet или cu. Но если необходимо использовать файл локально или вы хотите иметь собственную копию файла, необходимо скопировать удаленный файл в вашу локальную систему.

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

Использование rcp

Прежде чем вы прочтете данный подраздел, следует просмотреть раздел "Прежде чем использовать rlogin, rsh и rcp". Для того чтобы команда rcp работала, следует сконфигурировать удаленную машину так, чтобы аутентификация пользователя была не нужна. Для каждой удаленной машины, доступ к которой происходит через rcp, обязательны записи в одном или обоих файлах /etc/hosts.equiv и $HOME/.rhosts. Данное требование обусловлено тем, что rcp не обладает механизмом для текущей аутентификации (в отличие от rlogin).

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

Указание удаленного файла

Удаленный файл можно указать несколькими разными способами. Вообще, если имя хоста не указано, то файл считается локальным. Если символьная строка имеет двоеточие (:) перед какой-либо наклонной чертой (/), то строка перед двоеточием указывает удаленный хост, а строка после двоеточия указывает путь к файлу. Вот три формы указания удаленного файла:

hostname:filepath

user@hostname:filepath

user@hostname.domain:filepath

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

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

Имя хоста может быть просто именем или псевдонимом удаленной машины, или доменным именем, как в третьей форме.

Если на удаленной машине необходимо использовать иной бюджет, то можно указать удаленный файл, включив имя пользователя, которому принадлежит бюджет. Имя пользователя должно ссылаться на удаленную машину, и файл пользователя $HOME/.rhosts должен содержать надлежащую запись для локальной машины.

Понимание синтаксиса командной строки rcp

Командная строка rcp представляет собой очень гибкий механизм. Для поддержки такой гибкости есть несколько вариаций командной строки:

р rcp single-file dest В данной вариации первый аргумент, single-file, является простым файлом. Он копируется по месту назначения dest. Если dest представляет .собой существующий каталог, то создается файл dest/single-file. Если dest представляет собой существующий файл, то dest переписывается single-file. В противном случае файл dest создается копированием single-file.

р rcp sources dest. В данной вариации первый аргумент, sources, является одним или несколькими файлами и/или каталогами, dest должен быть каталогом. По месту назначения dest копируются только файлы - члены sources. Если dest является существующим каталогом, то файлы копируются в каталог dest. В данной форме команды rcp неразумно указывать несуществующий каталог dest. Результаты будут варьироваться от системы к системе. Для копирования каталога подходит следующая форма команды rcp.

р rcp -r sources dest. После добавления опции -r в dest будут копироваться файлы и каталоги (и подкаталоги) sources.

Если sources является единичным каталогом, то можно указать местом назначения dest, который не существует. Каталог будет создан. Скорее всего, это и есть именно то, что вы хотите. Будьте осторожны в данной ситуации, поскольку, если dest существует, копируемый каталог будет размещен как подкаталог каталога dest.

Если sources представляет собой несколько файлов и каталогов, то dest должен быть существующим каталогом. Если он не существует, то результаты не определены и отличаются от одной системы UNIX к другой.

Каждая версия командной строки rcp поддерживает дополнительную опцию, -р. Данная опция заставляет rcp сохранять время модификации и режимы, когда копия была сделана.

Использование ftp

Утилита ftp представляет собой интерфейс к протоколу передачи файлов (file transfer protocol). Данная служба обеспечивает соединение с удаленным компьютером и функции манипулирования файлами, включая посылку и прием файлов. В отличие от rcp, ftp также обеспечивает аутентификацию пользователя. Она поддерживает различные типы файлов.

Для подключения к удаленному хосту следует просто ввести ftp hostname. hostname может быть как именем хоста, так и IP-адресом. Если вы не указываете удаленный хост в командной строке, то входите в командный режим ftp. Для соединения с хостом можно использовать команду open.

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

Служба ftp поддерживает большое количество команд. Несколько распространенных команд приведены в таблице 6.2. Подробные сведения о командах можно найти в системном руководстве по ftp.

Таблица 6.2. Распространенные команды услуги ftp.

Команды, касающиеся соединения:

open Открыть соединение с указанным хостом.

close Закрыть текущее открытое соединение.

Команды, касающиеся передачи:

binary Изменить тип представления файла на binary.

ascii Изменить тип представления файла на ascii.

put Переместить единичный файл с локального хоста на удаленный.

mput Переместить несколько файлов с локального на удаленный хост.

get Переместить единичный файл с удаленного хоста на локальный.

mget Переместить несколько файлов с удаленного хоста на локальный.

Команды управления файлами и каталогами:

cd Изменить текущий рабочий каталог удаленного хоста (UNIX cd).

led Изменить текущий рабочий каталог локального хоста (UNIX cd).

cdup Изменить текущий рабочий каталог удаленного хоста на родительский каталог (UNIX cd..).

dir Вывести текущий рабочий каталог удаленного хоста (UNIX Is).

pwd Вывести текущий рабочий каталог удаленного хоста (UNIX pwd).

mkdir Создать новый каталог на удаленном хосте (UNIX mkdir).

rmdir Удалить каталог на удаленном хосте (UNIX rmdir).

rename Изменить имя удаленного файла или каталога (UNIX mv).

delete Уничтожить удаленный файл (UNIX rm с одним указанным файлом).

mdelete Уничтожить несколько удаленных файлов (UNIX rm с несколькими файлами).

Разные команды:

? Получить помощь об ftp.

! Покинуть оболочку.

Команды, касающиеся соединения

Команды, касающиеся соединения ftp, предельно целенаправленны. Команда open пытается соединить

сервер ftp с указанным удаленным хостом. Команда close прекращает открытое соединение (если есть) и затем возвращается в командный режим. Команда обычно используется тогда, когда вы хотите подключиться к другому хосту, поэтому за командой close чаще всего следует open. Команда quit закрывает соединение и выходит из ftp.

Команды, касающиеся передачи

Служба ftp определяет несколько представлений файлов для передачи. Двумя самыми распространенными являются ascii и binary. По умолчанию принимается тип ascii. Используя тип ascii, можно передать любой файл, содержимое которого представляет собой простой текст ASCII. Двоичные файлы, например откомпилированные и скомпонованные исполняемые программы, должны передаваться с типом binary. Обязательно правильно устанавливайте тип файла перед передачей.СОВЕТ

Передача текстовых файлов ASCII между машинами UNIX выполняется чуть быстрее при указании типа binary, но передача текстового файла ASCII между машиной UNIX и не-UNIX в режиме binary может исказить содержимое файла.





СОВЕТ

Если при декодировании или выполнении полученного откуда-то файла возникли проблемы, убедитесь, что при передаче был использование binary.



Команды get и mget передают файлы с удаленного на локальный хост. Команды put и mput передают файлы с локального на удаленный хост. И get и put передают по одному файлу за одно выполнение команды. Если место назначения не указано, то файл помещается в текущий каталог. И mget и mput передают по несколько файлов за одно выполнение команды. Файлы размещаются в текущем каталоге.

Команды управления файлами и каталогами

Команды управления (Файлами и каталогами аналогичны командам UNIX для файлов и каталогов. В таблице 6.2 команда UNIX, аналогичная команда ftp, указана в скобках. Помните, что все данные команды, за исключением led, работают с удаленной файловой системой. Если необходимо более тонкое управление файлами, используйте команду выхода из оболочки (!) для возврата в локальную оболочку.

Разные команды

Команда ? предоставляет помощь по командам ftp. Если нужна помощь по конкретной команде, то ее можно указать в качестве аргумента команды ?. Команда выхода из оболочки (!) применяется для запуска субоболочки на локальной машине. Команда очень полезна, если нужно, находясь на удаленном сервере ftp, выполнить несколько операций на локальном хосте. После окончания работы на локальном хосте просто выйдите из субоболочки - вы вернетесь в ftp.

Конфигурирование с помощью файла .netrc

Команда ftp может автоматически выполнять регистрацию на удаленном сервере ftp и инициализировать соединение. Для этого команда считывает файл .netrc в начальном каталоге. Для использования с конкретной машиной можно настроить вход в систему, пароль и бюджет (некоторые серверы ftp запрашивают дополнительную информацию из бюджета пользователя во время аутентификации). В следующем примере из файла .netrc, включена автоматическая регистрация как anonimous для нескольких популярных серверов:

machine dg-rtp.rtp,dg.corn login anonymous password sartin@pencom.corn

machine town.hall,org login anonymous password sartin@pencom.com

machine ftp.uu.net login anonymous password sartin@pencom,corn

machine rtfm.mit.edu login anonymous password sartin@pencom.com

machine ftp.x,org login anonymous password sartin@pencom.corn

machine prcp.ai.mit.edu login anonymous password sartin@pencom.corn

machine ftp.ncsa.uiuc.edu login anonymous password sartin@pencom.corn

machine emx.cc.utexas.edu login anonymous password sartin@pencom.corn

machine boombox.micro.umn.edu login anonymous password sartin@pencom.com

machine rs.internic.net login anonymous password guestСовет

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



Анонимный ftp

В ftp существует специальный тип входа в удаленную систему, который предоставляет возможность анонимного доступа к некоторым файлам на удаленной машине Анонимный доступ не является полностью анонимным, поскольку некоторые машины регистрируют соединение, использованный пароль и извлеченные файлы. Для работы с анонимным ftp используется имя пользователя anonimous (на некоторых машинах работает и имя пользователя ftp) и указывается любая непустая строка для пароляСОВЕТ

Некоторые машина выполняют проверку пароля при анонимном входе в систему. Большинство машин требует указания реального адреса электронной почты*



После успешной регистрации как anonimous вам гарантирован ограниченный доступ к поддереву каталогов анонимного ftp удаленной машины. Можно использовать все команды, описанные в данном разделе. На некоторых узлах есть каталог под названием /incoming (или каталог под названием incoming где-то в дереве ftp), куда можно помещать файлы. Многие узлы помещают общедоступные файлы и каталоги в /pub.

Использование uucp, uuto и uupick

Утилиты копирования файлов, uucp, uuto, uupick являются частью релиза программного обеспечения Basic Networking Utilities. Их может и не быть на конкретной системе UNIX. Но даже если они есть, то предпочтительнее работать с более поздними сетевыми службами (например с ftp и rcp). Если же вам необходимо использовать инструменты uu, обратитесь к системной документации и посмотрите, поддерживаются ли они

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

uucp

Утилита UUCP копирует один или несколько файлов с одной машины UNIX на другую машину UNIX Команда uuname используется для выяснения того, какие удаленные машины, достижимые через uucp uucp использует старую схему наименования хостов в форме hostnameffilepath Для копирования локального файла myfile на удаленную машину rem-host в каталог /tmp введите команду uucp myfile rem-host!/tmp/.

uuto и uupick

Инструмент uuto посылает файл указанному пользователю на удаленный хост UNIX. Файл записывается в специальном месте указанного удаленного хоста. Для того чтобы удаленный пользователь мог получить пересланный файл, ему необходимо задействовать инструмент uupick. Удаленный хост и пользователь указываются синтаксисом rem-host!username. Для пересылки локального файла myfile пользователю arnie на машину sturgeon введите команду uuto myfile sturgeonlarnie

Для приема файла пользователь arnie должен использовать утилиту uupick.

Когда вы готовы принимать файлы, посланные uuto, введите команду uuto без каких-либо аргументов. Имя каждого пересланного вам файла будет отображено на экране. При отображении вы можете не принимать файл, переместить его, удалить или напечатать,

Другие сетевые службы

Данный раздел представляет собой очень сокращенное введение в некоторые другие сервисы доступен в Internet настоящее время. Эти службы обеспечивают доступ к огромному массиву информации, доступному в Internet, включая исходные коды, финансовые данные , компьютерные конференции по широкому кругу тем и прочее.


Предостережение.

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




Предостережение

Данные программы похожи на наркотик. Хорошо спите и не забывайте о социальной активности в перерывах между серфингом Сети.


archie

Программа archie предлагает доступ к большому перечню файлов по анонимному ftp. При выполнении поиска archie string, сервер будет искать имя, которое в точности соответствует string, в списке архивов и возвратит вам то, что найдет. Поведение поиска можно модифицировать, используя следующие флаги:

-с Регистро-чувствительный поиск подстроки.

-r Поиск регулярного выражения.

-s Регистро-нсчувствительный поиск подстроки.

Например, если вы ищите исходный текст xmosaic, то можете ввести archie -s xmosaic. Вывод распечатает большое число узлов, на которых xmosaic доступен по ftp. Вот часть ответа на команду archie -s xmosaic:

Host ftp.engr.ucf.edu

Location: /pub/linux-mirrors/tsxIl/binaries/usr.bin.Xll.nomirror

497473 Dec 26 18:06 xmosaic-1.2.term.tar.z

FILE -rw-r-r-

Для каждого хоста, который имеет совпадающую строку, есть список совпадающих позиций. Лучше всего использовать вывод archie для поиска "близкого" хоста (например, принадлежащего вашему Internet-провайдеру, кому-то в вашем же городе или штате, кому-то в вашей стране), а затем воспользоваться ftp для получения желаемого файла.

gopher

В университете штата Миннесоты была разработана программа под названием gopher, которую можно использовать для получения информации по Internet. Разработчики сообщают (в файле OOREADME, доступном по анонимному ftp на boombox.umn.edu в каталоге /pub/gopher/OOREADME):

Internet Gopher использует простой протокол клиент-сервер/ который позволяет публиковать или искать информацию/ хранящуюся в распределенной сети машин. Клиенты Gopher беспрепятственно получают обзор информации в мире gopher даже тогда, когда данные распределены по многим разным хостам, Клиенты могут как переходить по уровням иерархии каталогов и документов, так и запрашивать индекс-сервер о предоставлении списка всех документов, содержащих одно или несколько слов. Поскольку индекс-сервер осуществляет поиск всех слов, то каждое слово в каждом документе является ключевым.

Если вы хотите протестировать клиента gopher, не устанавливая собственного сервера Gopher, то тгплжны c'lcoHfhMT'vDbTOQsaTb клиент тгля пазговооа с "cruriher -micro. umn. edu", поот 70. Такая конфигурация предоставит возможность исследовать распределенную сеть серверов gopher университета Миннесоты. Получить для испытаний клиент UNIX можно, послав сообщение telnet по адресу consultant.micro.umn.edu и зарегистрировавшись как "gopher".

World Wide Web

В 1991 году Европейская лаборатория физики частиц (CERN) начала проект, который затем превратился в World Wide Web, известный также, как WWW, или W3. Разложить WWW по полочкам очень трудно, так что лучше всего познакомиться с ним на практике. WWW представляет собой совокупность программного обеспечения, соглашений, серверов и протокола (HTTP) для передачи информации, организованной в гипертекстовую структуру. WWW предоставляет возможность связывать картинки (как стабильные, так и подвижные), звуки и тексты в паутину знаний. Если вы используете xmosaic особенно хорошо стартовать с начальной страницы по умолчанию NASA, а далее выбирать интересные вам ссылки. Поиск информации осуществляется с помощью Uniform Resource Locator (URL - Унифицированный указатель ресурса),.который в общем случае выглядит следующим образом: protocol://hostname/path. Protocol говорит о том, как получить доступ к данным (обычно протоколом является http, HyperText transfer protocol). Hostname сообщает имя хоста для доступа. Path указывает машинно-специфицированное положение ресурса. Путь похож на обычный путь UNIX. Разница между путем URL и именем файла заключается в том, что путь URL часто указывает на информацию, которая генерируется на лету (например, прогноз текущей погоды), и реально возвращаемые данные могут зависеть от механизмов, которые поддерживает ваш клиент WWW. Исследуя World Wide Web, вы найдете любую информацию: от биоритмов человека до общих вопросов о PowerPC или архивов SCUBA.

Национальный центр суперкомпьютерных приложений (National Center for Supercomputing Applications) в университете штата Иллинойс разработал интерфейс World Wide Web под названием Mosaic. Версия для UNIX, ориентированная на графическую среду Х Windows, называется xmosaic.

Устранение проблем с TCP/IP

Иногда попытки создать сетевое соединение оказываются неудачными. Самые распространенные ошибки были описаны в разделах "Соединение с удаленным хостом rlogin, telnet, cu" и в "Передача файлов - rcp, ftp, uucp". Данный раздел освещает некоторые способы решения проблем системного уровня, возникающих при попытке установить сетевое соединение, использующее TCP/IP (rlogin, telnet, rcp, ftp и программы, упомянутые в разделе "Другие услуги"). Приведенные советы помогут решить простые проблемы и классифицировать более сложные. Смотрите главу 20 с подробной информацией о решении проблем, возникающих в сети.

nslookup для проверки отображения адреса

Чаще всего причиной неудачного соединения является не верно указанное имя хоста, либо ошибка или задержка при получении адреса хоста. Проверить правильность имени хоста можно с помощью команды nslookup. Самый простой вариант команды - это nslookup hostname:

$ nslookup ftp.uu.net.

Name Server: lazerus.pencom.corn

Address: 198.3.201.57

Name: ftp.uu.net Address: 192.48.96.9

$ nslookup no.such.name.org Name Server: lazerus.pencom.corn Address: 198.3.201.57

*** lazerus.pencom.corn can*t find no.such.name.org: Non-existent domain

$

Команда запросит DNS об имени hostname (ftp.uu.net - в первом примере и no.such.name.org - во втором).СОВЕТ

Когда машина только добавляется К DNS, может пройти некоторое время, прежде чем серверы имен узнают о ней. В этот промежуток времени вы будете шолучать ошибку "unknown host" (неизвестный хост). Специалист, который добавляет имя хоста в DNS, должен оценить продолжительность времени, в течение которого DNS прекратит ошибаться.



Есть там кто-нибудь? (ping)

Если вы нашли адрес хоста, но соединение не произошло, причиной может быть недоступность или отключение хоста. Бывает, что появляется ошибка "host unreachable" или "network unreachable". Данные сообщения появляются в том случае, когда программное обеспечение, управляющее соединением, определяет, что переслать пакет удаленному хосту невозможно. Сетевое программное обеспечение маршрутизации имеет внутренние таблицы, указывающие, как достичь других сетей и хостов. Подобная ошибка означает, что в таблице не существует записи, которая бы определяла путь к нужной сети или хосту.

Когда хост просто выключен, то соединение откладывается. Для проверки того, работает ли хост, используется команда ping. Команда посылает сообщение специального типа, Internet control echo request message, или ICMP echo request (ICMP - Internet control message protocol). Данное сообщение просит удаленный компьютер послать обратно отраженный ответ, который дублирует данные исходящего сообщения. Программное обеспечение низкого уровня удаленного хоста обрабатывает сообщение так, чтобы машина могла отвечать на команду ping, если на этом хосте выполняется сетевое программное обеспечение.

В следующем примере мы используем ping для проверки состояния двух хостов:

$ /etc/ping conch 1QQ 10

PING conch,pencom.corn: 100 byte packets

100 bytes from 198.3.200.86 icmp_seq-0. time3. ms

100 bytes from 198.3.200.86 icmp_seq=l. time=4. ms

100 bytes from 198.3.200. 86 icmp_seq=2. time=5. ms

100 bytes from 198 .3.200 . 86 icmp _seq==3. time=4. ms

100 bytes from 198.3.200.86 icmp_seq=4. time=4. ms

100 bytes from 198.3.200.86 icmp_seq=5. timers. ms

100 bytes from 198.3.200.86 icmp_seq=6. times=3. ms

100 bytes from 198.3.200.86 icmp_seq=7. time=3. ms

100 bytes from 198.3.200.86 icmp_seq=8. time=3. ms

100 bytes from 198.3.200.86 icmp_seq=9. time=3. ms

conch.pencom.corn PING Statistics--

10 packets transmitted/ 10 packets received, 0% packet loss

round-trip (ms) min/avg/max = 3/3/8

$ /et-r./piny brah 100 10

PING brat. pencom, corn: 100 byte packets

--brat.pencom.corn PING Statistics-

10 packets transmitted, 0 packets received, 100% packet loss

$

В первом примере значение 100 означает, что следует использовать 100 байтов данных в каждом сообщении, а 10 - послать 10 сообщений. Все 10 сообщений возвратились. Второй пример показывает, что происходит, когда команда ping направлена отключенному хосту.

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

Резюме

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

Обновлено: 12.03.2015