stringtranslate.com

Беркли r-команды

R-команды Беркли — это набор компьютерных программ , предназначенных для того, чтобы пользователи одной системы Unix могли входить в систему или отправлять команды на другой компьютер Unix через компьютерную сеть TCP/IP . [1] R-команды были разработаны в 1982 году исследовательской группой компьютерных систем Калифорнийского университета в Беркли на основе ранней реализации TCP/IP ( стека протоколов Интернета ). [2]

CSRG включила r-команды в свою операционную систему Unix , Berkeley Software Distribution (BSD). Премьера r-команд появилась в BSD v4.1. [2] Среди программ пакета: (удаленное копирование ), (удаленное выполнение ), (удаленный вход в систему ), (удаленная оболочка ), , и (удаленный who ). [2] [3]rcprexecrloginrshrstatruptimerwho

R-команды были значительным нововведением и стали де-факто стандартами для операционных систем Unix. [4] [5] С более широким распространением Интернета среди населения присущие ему уязвимости безопасности стали проблемой, [6] и, начиная с разработки протоколов и приложений Secure Shell в 1995 году, его принятие полностью вытеснило развертывание и использование r- команды (и Telnet ) в сетевых системах. [7]

Протокол

Исходный пакет Berkeley, который rloginтакже предоставляет функции rcp(удаленное копирование, позволяющее копировать файлы по сети) и rsh (удаленная оболочка, позволяющая запускать команды на удаленном компьютере без входа пользователя в систему).

В качестве примера протокол выглядит следующим образом: [11]

Клиент:<ноль> имя
пользователя  на  клиенте  <null> имя
пользователя  на  сервере  <null>тип терминала  / скорость  передачи данных терминала  <null>Сервер:

Сервер проверит, есть ли у пользователя доступ. Если это так, он возвращает сообщение, в котором ничего нет (даже нет нулевого символа ), что означает, что соединение установлено. Например:

Клиент:<ноль>Бостик <ноль>kbostic<ноль>vt100/9600<ноль>Сервер:

Оба rloginимеют rshобщую схему управления доступом /etc/hosts.equiv(применяется ко всем пользователям на сервере) и $HOME/.rhosts(применяется только к пользователю, который помещает файл в свою домашнюю папку), хотя они подключаются к разным демонам. rloginподключается к rlogind, а rshподключается к rshd.hosts.equivи .rhostsиспользует тот же формат. Ниже показаны некоторые аспекты формата: [12] [13]

хост1хост2  user_a-host3+@group1  -user_b-@группа2

Это позволяет всем пользователям с хоста 1 войти в систему, пользователю user_a с хоста 2 войти в систему, никому из пользователей с хоста 3, всем пользователям в группе 1, кроме пользователя_b, и ни одному пользователю из группы 2.

Команды

rlogin

rloginпозволяет пользователю войти на другой сервер через компьютерную сеть , используя сетевой порт TCP 513.

rloginэто также имя протокола прикладного уровня , используемого программным обеспечением и являющегося частью набора протоколов TCP/IP . Аутентифицированные пользователи могут действовать так, как если бы они физически присутствовали за компьютером. В RFC 1282, в котором он был определен, говорится: «Это средство обеспечивает удаленный виртуальный терминал с локальным управлением потоком и надлежащей очисткой вывода». взаимодействует с демоном на удаленном хосте. аналогична команде Telnet , но не так настраиваема и может подключаться только к Unix-подобным хостам.rloginrloginrlogindrlogin

рш

rshоткрывает оболочку на удаленном компьютере без процедуры входа в систему . После подключения пользователь может выполнять команды на удаленном компьютере через интерфейс командной строки оболочки . rshпередает ввод и вывод через стандартные потоки и отправляет стандартный вывод на консоль пользователя . По сети стандартный ввод и стандартный вывод проходят через TCP-порт 514, тогда как стандартные ошибки проходят через другой TCP-порт, который открывает rsh демон ( rshd). [14]

рексек

Например rsh, rexecпозволяет пользователю запускать команды оболочки на удаленном компьютере. Однако, в отличие от сервера rsh, rexecсервер ( rexecd) требует входа в систему: он аутентифицирует пользователей, считывая имя пользователя и пароль (в незашифрованном виде) из сетевого сокета . [15] rexec использует TCP-порт 512.

RCP

rcpможет скопировать файл или каталог из локальной системы в удаленную систему, из удаленной системы в локальную систему или из одной удаленной системы в другую. [16] Аргументы командной строки и cpаналогичны rcp, но в rcpудаленных файлах перед ними указывается имя удаленной системы:

rcp file.txt субдомен.домен:~/home/foo/file.txt

Как и в случае с командой копирования Unix cp , rcpперезаписывает существующий файл с тем же именем в цели; в отличие от cp, он не предоставляет механизма предупреждения пользователя перед перезаписью целевого файла. [16] Например rsh, rcpиспользует TCP-порт 514. [17]

кто

Точно так же, как команда who выводит список пользователей, вошедших в локальную систему Unix, она rwhoперечисляет тех пользователей, которые вошли во все многопользовательские системы Unix в локальной сети. Демон [18] , , поддерживает базу данных о состоянии Unix-систем в локальной сети. Демон и его база данных также используются программой . [19]rwhorwhodruptime

рстат

rstatвозвращает статистику производительности из ядра.

время простоя

Так же, как uptimeкоманда показывает, сколько времени работала система Unix с момента последнего перезапуска, ruptimeона запрашивает отчет о состоянии со всех компьютеров в локальной сети. Затем он возвращает отчет о времени безотказной работы. Если компьютер не ответил в течение установленного времени, то ruptimeсообщает, что система не работает . [20] Эта информация отслеживается и сохраняется демоном rwhod, который также используется командой rwho. [19]

Безопасность

Эти r-команды, которые включают аутентификацию пользователя ( rcp, rexec, rloginи rsh), имеют несколько серьезных уязвимостей безопасности:

Из-за этих проблем r-команды вышли из употребления (многие дистрибутивы Unix и Linux больше не включают их по умолчанию). Многие сети, которые раньше полагались на rloginSSH и его эквивалент, telnetзаменили их . [21] [22]rloginslogin

Смотрите также

Примечания

  1. ^ Хорвиц, Джефф (2003) [2002]. «Использование r-команд Беркли без пароля». Управление системой Unix: Primer Plus . Издательство Самс. п. 339. ИСБН 978-0-672-32372-0. Проверено 4 марта 2018 г. - через Google Книги.
  2. ^ abc McKusick, Маршалл Кирк (1999). «Двадцать лет Berkeley Unix: от собственности AT&T к свободно распространяемому». Открытые исходные коды: голоса революции открытого исходного кода . О'Рейли и партнеры. Раздел: «4.2BSD». ISBN 978-1-56592-582-3. Проверено 3 марта 2018 г.
  3. ^ Пайлс, Джеймс; Каррелл, Джеффри Л.; Титтель, Эд (2017). «Какие IP-сервисы наиболее уязвимы?». Руководство по TCP/IP: IPv6 и IPv4 (5-е изд.). Cengage Обучение. п. 659. ИСБН 978-1-305-94695-8– через Google Книги.
  4. ^ Касад (2008), с. 346
  5. ^ Негус, Кристофер (2 июля 2004 г.). «О «р» командах». Библия Red Hat Fedora Linux 2 . Уайли. ISBN 0-7645-5745-9. OCLC  441918216 . Проверено 4 марта 2018 г.
  6. ^ «Пример использования протокола безопасного сетевого уровня» . CiteSeerX 10.1.1.178.8497 . 
  7. ^ Николас Росаско; Дэвид Ларошель. «Как и почему более безопасные технологии добиваются успеха на устаревших рынках: уроки успеха SSH» (доклад конференции) . Гарвардский университет . дои : 10.1007/1-4020-8090-5_18. S2CID  19035681 . Проверено 13 апреля 2023 г.
  8. ^ «Команда REXEC — выполните команду на удаленном хосте и получите результаты на локальном хосте». z/OS Communications Server: Руководство пользователя и команды IP . 2013 [1990] . Проверено 4 марта 2018 г.
  9. ^ ab «Подробнее о портах». Руководство сетевого администратора FreeBSD . Проверено 4 марта 2018 г.
  10. ^ аб Касад (2008), стр. 350–51.
  11. ^ Кантор, Брайан (декабрь 1991 г.). BSD Rlogin (Отчет). Рабочая группа по интернет-инжинирингу.
  12. ^ «Формат файла .rhosts для TCP/IP» . www.ibm.com . Проверено 29 ноября 2023 г.
  13. ^ «Формат файла hosts.equiv для TCP/IP» . www.ibm.com . Проверено 29 ноября 2023 г.
  14. ^ Эдвардс, Уэйд; Ланкастер, Том; Куинн, Эрик; Ром, Джейсон; Буксир, Брайант (2004). CCSP: Учебное пособие по безопасному PIX и безопасному VPN. Сайбекс . п. 154. ИСБН 0-7821-4287-7. Проверено 7 марта 2018 г. - через Google Книги.
  15. ^ "rexecd(8)" . manpagez.com . Проверено 3 марта 2018 г.
  16. ^ Аб Фаррелл, Филипп (3 августа 2004 г.). "РЦП". Earthsci.stanford.edu . Школа наук о Земле, энергетике и окружающей среде Стэнфордского университета. Архивировано из оригинала 07 февраля 2021 г. Проверено 06 марта 2018 г.
  17. ^ «Rlogin, RSH и RCP» . ИсточникDaddy . Проверено 18 февраля 2018 г.
  18. ^ "rwho (1) - Руководства по Linux" . Проверено 07 марта 2018 г.
  19. ^ ab "rwhod (8) - Ман-страницы Linux" . Проверено 07 марта 2018 г.
  20. ^ «Время разрыва (1) - Ман-страницы Linux» . Системные учебники . Проверено 07 марта 2018 г.
  21. ^ Собелл, Марк (2010). Практическое руководство по командам, редакторам и программированию в командной оболочке Linux . Pearson Education, Inc. ISBN 978-0-13-136736-4.
  22. ^ «Список команд управления заданиями Unix» . Университет Индианы . Проверено 20 декабря 2014 г.

Рекомендации

дальнейшее чтение

Внешние ссылки