
- •Глава 18 Сетевые инструментальные средства
- •Получение информации о сети: ping, finger и host
- •Команда ping
- •Программы finger и who
- •Команда host
- •Клиенты, обеспечивающие общение в сети
- •Утилита talk
- •Клиенты icq
- •Программа Internet Relay Chat
- •Программа telnet
- •Команды удаленного доступа: rwho, rlogin, rcp и rsh
- •Разрешение на удаленный доступ: файл .Rhosts
- •Команды rlogin, rcp и rsh
- •Копирование из unix в unix (uucp)
Команды rlogin, rcp и rsh
Предположим, что для вас созданы учетные записи в других системах сети или вам разрешено регистрироваться в учетной записи пользователя другой системы. Зарегистрироваться в учетной записи, находящейся в другой системе, можно путем регистрации в своей системе с последующей регистрацией по сети в учетной записи для удаленной системы. Такую удаленную регистрацию можно выполнить с помощью команды rlogin. В качестве параметра в ней используется имя системы. Эта команда устанавливает соединение с другой системой и начинает процедуру регистрации.
Процедуры регистрации, применяемые в команде rlogin, отличаются от обычных процедур регистрации тем, что пользователю не предлагается ввести регистрационное имя. Программа rlogin предполагает, что ваше регистрационное имя в локальной системе совпадает с регистрационным именем в удаленной системе. После выполнения команды rlogin вам сразу же предлагается ввести пароль. Вводя пароль, вы регистрируетесь в учетной записи удаленной системы. После регистрации в удаленной системе вы можете выполнять любую команду. Разорвать связь можно с помощью команды exit, комбинации клавиш [Ctrl+D], команды ~. или logout (командный интерпретатор TSCH или С). Программа rlogin по умолчанию считает регистрационные имена одинаковыми потому, что большинство пользователей с помощью команды rlogin входят в учетные записи, которые созданы для них в других системах с тем же регистрационным именем. Если регистрационное имя в удаленной системе отличается от регистрационного имени в локальной системе, то можно посредством опции -1 указать другое регистрационное имя. Ниже приведен синтаксис этой команды:
$ rlogin имя___смстемы —1 регистрационное имя
С помощью команды rср можно копировать файлы из удаленных систем в локальные и обратно. Программа rор — это утилита пересылки файлов, которая работает аналогично команде ср, но через сетевое соединение с удаленной системой. Команду rср можно применять только в том случае, если в файле .rhosts удаленной системы указано имя локальной системы и регистрационное имя применяющего ее пользователя. Команда rср начинается с ключевого слова rср и требует указания двух параметров: имени исходного файла и имени копии. Чтобы задать файл, находящийся в удаленной системе, необходимо указать перед именем файла имя системы (через двоеточие). При копировании файла из удаленной системы в локальную файл в удаленной системе будет исходным и должен быть указан с именем удаленной системы. Файл копии находится в локальной системе, поэтому указывать имя системы не требуется:
$ rср имя_удаленной_системы:исходный__файл файл_копии
В следующем примере показано, как пользователь копирует файл Wednesday из удаленной системы violet в свою систему и присваивает копии имя today:
$ rср violet:Wednesday today
С помощью команды rср можно копировать целые каталоги в удаленную систему и из нее. Команда rср с опцией -r позволяет копировать из одной системы в другую каталог со всеми его подкаталогами. Как и в команде ср, в rср необходимо указать имена исходного каталога и копии каталога. Для указания каталога в удаленной системе требуется имя системы, которое вводится через двоеточие перед именем каталога. При копировании каталога из локальной системы в удаленную копия каталога находится в удаленной системе, и для него требуется указать имя этой системы. В приведенном ниже примере показано, как пользователь копирует каталог letters в каталог oldnotes в удаленной системе violet.
$ rср -r letters violet:oldnotes
Иногда бывает необходимо выполнить в удаленной системе команду. Команда rsh обеспечивает выполнение команды Linux в другой системе с выдачей результатов в локальной системе. Естественно, при этом имя вашей системы и ваше регистрационное имя должны быть указаны в файле .rhosts удаленной системы. Команда rsh требует введения двух параметров — имени системы и имени команды. Синтаксис этой команды приведен ниже:
rsh имя_удаленной_системы команда Linux
В примере, приведенном далее, команда rsh инициирует выполнение команды ls в удаленной системе violet (получение списка файлов, находящихся в каталоге /home/ robert).
$ rsh violet ls /home/robert
Специальные символы, если они не отмечены кавычками или обратной косой чертой, обрабатываются локальной системой. Это в первую очередь касается специальных символов, которые управляют стандартным выводом (например, операторов переадресации и каналов). В следующем примере пользователь получает список файлов, находящихся в удаленной системе, и посылает их на стандартный вывод в локальной системе. Оператор переадресации обрабатывается локальной системой и переадресует вывод в файл myfiles в локальной системе.
$ rsh violet ls /home/robert > myfiles
Если специальный символ взять в кавычки, он становится частью команды Linux, выполняемой в удаленной системе. Применение кавычек к операторам переадресации позволяет выполнять переадресацию в удаленной системе. В следующем примере оператор переадресации вместе с именем файла myffles становится частью команды, выполняемой в удаленной системе. Команда ls создает список имен файлов, который переадресуется в удаленной системе в файл myfiles, также расположенный в удаленной системе.
$ rsh violet ls /home/robert '>' myfiles
Это касается и каналов. Первая из показанных ниже команд используется для печати списка файлов на принтере локальной системы. Здесь стандартный вывод посылается по каналу на локальный построчно-печатающий принтер. Во второй команде список файлов печатается на принтере удаленной системы. Здесь оператор канала, взятый в кавычки, действует в удаленной системе, которая посылает стандартный вывод по каналу на свой принтер.
$ rsh violet ls /home/robert | lpr $ rsh violet ls /home/robert '|' lpr