stringtranslate.com

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

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

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

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

Протокол

Оригинальный пакет Berkeley, который rloginтакже предоставляет функции rcp(remote-copy, позволяющий копировать файлы по сети) и rsh (remote-shell, позволяющий запускать команды на удаленной машине без входа пользователя в систему).

В качестве примера можно привести следующий протокол: [11]

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

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

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

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

хост1хост2  пользователь_a-хост3+@group1  -user_b-@group2

Это позволяет всем пользователям с хоста host1 входить в систему, пользователю user_a с хоста host2 входить в систему, пользователям с хоста host3 — нет, всем пользователям в группе group1, кроме user_b, и пользователям в группе group2 — нет.

Команды

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может копировать файл или каталог из локальной системы в удаленную систему, из удаленной системы в локальную систему или из одной удаленной системы в другую. [16] Аргументы командной строки и cpпохожи rcp, но в rcpудаленных файлах они имеют префикс в виде имени удаленной системы:

rcp file.txt поддомен.домен:~/home/foo/file.txt

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

rwho

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

рстат

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

время разрыва

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

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

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

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

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

Примечания

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

Ссылки

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

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