The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

rsh (1)
  • rsh (1) ( Solaris man: Команды и прикладные программы пользовательского уровня )
  • rsh (1) ( FreeBSD man: Команды и прикладные программы пользовательского уровня )
  • >> rsh (1) ( Русские man: Команды и прикладные программы пользовательского уровня )
  • rsh (1) ( Linux man: Команды и прикладные программы пользовательского уровня )
  • rsh(1)

    rsh(1)

    НАЗВАНИЕ

    rsh - удаленный командный интерпретатор

    СИНТАКСИС

    rsh [-n] [-l имя_пользователя] имя_хоста команда
    rsh имя_хоста [-n] [-l имя_пользователя] команда
    имя_хоста [-n] [-l имя_пользователя] команда

    ОПИСАНИЕ

    Команда rsh подключается к указанному хосту и выполняет на нем указанную команду.

       Файлы

    /etc/hosts
    /etc/passwd
    /usr/lib/locale/локаль/LC_MESSAGES/uxrsh
    файл сообщений для текущего языка (См. LANG в environ(5).)

    ИСПОЛЬЗОВАНИЕ

    rsh копирует свой стандартный входной поток удаленной команде, стандартный выходной поток удаленной команды - в свой стандартный выходной поток, а стандартный поток ошибок удаленной команды - в свой стандартный поток ошибок. Сигналы прерывания, выхода и завершения передаются удаленной команде; rsh обычно завершает работу, когда завершает работу удаленная команда.

    Если команда не указана, rsh зарегистрирует вас на удаленном хосте с помощью rlogin(1).

    Незаэкранированные метасимволы командного интерпретатора интерпретируются на локальной машине, а заэкранированные метасимволы - на удаленной. См. примеры ниже.

    Имя_хоста должно находиться в базе данных хостов, которая может содержаться в файле /etc/hosts, в базе данных доменных имен Internet, или и в обоих местах. Каждый хост имеет одно официальное имя (первое имя в записи базы данных) и, возможно, один или несколько псевдонимов. В качестве имени_хоста можно указывать как официальные имена, так и псевдонимы.

    Если имя файла, из которого выполняется rsh, отличается от rsh, rsh использует это имя в качестве аргумента имя_хоста. Это позволяет создать символическую связь с rsh с именем, совпадающим с именем хоста, которая при выполнении вызовет удаленный командный интерпретатор на этом хосте. Создав каталог с символическими связями в виде имен часто используемых хостов и включив его в путь поиска командного интерпретатора, можно запускать rsh просто вводя имя хоста в командном интерпретаторе.

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

    Чтобы предотвратить проблемы защиты, владельцем файла .rhosts должен быть либо удаленный пользователь, либо привилегированный пользователь.

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

    Опции

    rsh воспринимает следующие опции:

    -l имя_пользователя
    Использовать имя_пользователя в качестве имени удаленного пользователя вместо локального имени пользователя. Если эта опция не указана, имя удаленного пользователя совпадает с локальным именем пользователя.
    -n
    Перенаправить ввод rsh в /dev/null. Эта опция иногда необходима, чтобы избежать нежелательных взаимодействий между rsh и командным интерпретатором, из которого она вызвана. Например, если rsh вызвана в фоновом режиме и ее входной поток не перенаправлен с терминала, она заблокирует терминал, даже если удаленная команда ничего не читает. Опция -n предотвращает это.

    Тип удаленного командного интерпретатора (sh, ограниченный интерпретатор /usr/lib/rsh или другой) определяется записью пользователя в файле /etc/passwd на удаленной системе.

    Примеры

    Команда:

    rsh lizard cat lizard.file >> example.file

    добавляет удаленный файл lizard.file с машины по имени lizard к файлу example.file на локальной машине, тогда как команда:

    rsh lizard cat lizard.file ">>" lizard.file2

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

    Предупреждения

    Если система указана в hosts.equiv, ее защита должна быть не хуже защиты локальной системы. Указания одной незащищенной системы в файле hosts.equiv достаточно, чтобы свести на нет защиту всей системы.

    Текущая локальная среда не передается удаленному командному интерпретатору.

    С помощью rsh нельзя запускать интерактивные команды (типа vi(1)). При необходимости, используйте rlogin.

    Иногда опция -n необходима по неочевидным причинам. Например, команда:

    rsh somehost dd if=/dev/nrmt0 bs=20b | tar xvpBf -

    введет ваш командный интерпретатор в странное состояние. Очевидно, tar заканчивает работу раньше, чем rsh. Затем rsh пытается писать в закрытый канал ("broken pipe") и, вместо того, чтобы просто остановиться, продолжает "сражаться" с локальным командным интерпретатором за стандартный входной поток. Вызов rsh с опцией -n предотвращает такие проблемы.

    Ошибка происходит только когда rsh находится в начале конвейера и не читает стандартный входной поток. Не используйте -n если rsh действительно должна читать стандартный входной поток. Например,

    tar cf - . | rsh sundial dd of=/dev/rmt0 obs=20b

    не приводит к ошибке. Если придется использовать -n в подобных случаях, rsh будет ошибочно читать с /dev/null вместо канала.

    До Release 4, команда rsh вызывала ограниченный командный интерпретатор. Это программа /usr/lib/rsh и ее можно выполнить, указав полное имя.

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

    ССЫЛКИ

    hosts(4), hosts.equiv(4), named(1M), rlogin(1), vi(1)

    Copyright 1994 Novell, Inc.
    Copyright 1999 В. Кравчук, OpenXS Initiative, перевод на русский язык

    Поиск по тексту MAN-ов: 



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру