Беркли r-команды
Разработчик(и) | Группа исследования компьютерных систем Беркли Калифорнийского университета в |
---|---|
Первоначальный выпуск | июнь 1981 года |
Операционная система | Unix и Unix-подобные |
Тип | Командный набор |
Лицензия | БСД |
Набор интернет-протоколов |
---|
Прикладной уровень |
Транспортный уровень |
Интернет-слой |
Слой связи |
R- команды Беркли — это набор предназначенных компьютерных программ, для того, чтобы пользователи одной Unix системы могли входить в систему или отправлять команды на другой компьютер Unix через TCP/IP компьютерную сеть . [1] R-команды были разработаны в 1982 году группой компьютерных систем на Калифорнийского университета в Беркли основе ранней реализации TCP/IP ( стека протоколов Интернета исследовательской ). [2]
CSRG включила r-команды в свою Unix операционную систему , Berkeley Software Distribution (BSD). Премьера r-команд появилась в BSD v4.1. [2] Среди программ пакета: rcp
(удаленная копия ), rexec
(дистанционное исполнение ), rlogin
(удаленный вход ), rsh
(удаленная оболочка ), rstat
, ruptime
, и rwho
(удаленный кто ). [2] [3]
R-команды были значительным нововведением и стали де-факто стандартами для операционных систем Unix. [4] [5] С более широким распространением Интернета среди населения присущие ему уязвимости безопасности стали проблемой. [6] и, начиная с разработки протоколов и приложений Secure Shell в 1995 году, его внедрение полностью вытеснило развертывание и использование r-команд (и Telnet ) в сетевых системах. [7]
Услуга | Порт | Транспорт | Ссылки | |
---|---|---|---|---|
Клиент | Демон | |||
RCP | ршд | 514 | TCP | |
rexec |
Рексед | 512 | TCP | [8] |
rlogin | rlogind | 513 | TCP | [9] |
рш | ршд | 514 | TCP | |
рстат | рстатд | UDP | ||
время простоя | кто | 513 | UDP | [10] |
кто | [9] [10] |
Протокол
[ редактировать ]Оригинальный пакет Беркли, который обеспечивает rlogin
также функции rcp
(удаленное копирование, позволяющее копировать файлы по сети) и rsh (удаленная оболочка, позволяющая запускать команды на удаленном компьютере без входа в систему пользователя).
В качестве примера протокол выглядит следующим образом: [11]
Client:
<null>
user name on the client<null>
user name on the server<null>
terminal type/terminal baud rate<null>
Server:
Сервер проверит, есть ли у пользователя доступ. Если это так, он возвращает сообщение, в котором ничего нет (даже нет нулевого символа ), что означает, что соединение установлено. Например:
Client:
<null>
bostic<null>
kbostic<null>
vt100/9600<null>
Server:
Оба rlogin
и rsh
поделитесь /etc/hosts.equiv
(применяется ко всем пользователям на сервере) и $HOME/.rhosts
(применяется только к пользователю, который помещает файл в свою домашнюю папку) схема контроля доступа, хотя они подключаются к разным демонам. rlogin
соединяется с rlogind
, пока rsh
соединяется с rshd
.
hosts.equiv
и .rhosts
использует тот же формат. Ниже показаны некоторые аспекты формата: [12] [13]
host1
host2 user_a
-host3
+@group1 -user_b
-@group2
Это позволяет всем пользователям с хоста 1 войти в систему, пользователю user_a с хоста 2 войти в систему, никому из пользователей с хоста 3, всем пользователям в группе 1, кроме пользователя_b, и ни одному пользователю из группы 2.
Команды
[ редактировать ]rlogin
[ редактировать ]rlogin
позволяет пользователю войти на другой сервер через компьютерную сеть , используя TCP сетевой порт 513.
rlogin
это также имя прикладного уровня протокола , используемого программным обеспечением и являющегося частью набора протоколов TCP/IP . Аутентифицированные пользователи могут действовать так, как если бы они физически присутствовали за компьютером. RFC 1282, в котором это было определено, гласит: « rlogin
Средство обеспечивает удаленный виртуальный терминал с локальным управлением потоком и надлежащей очисткой вывода». rlogin
общается с демоном , rlogind
, на удаленном хосте. rlogin
аналогична команде Telnet , но не так настраиваема и может подключаться только к Unix-подобным хостам.
рш
[ редактировать ]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 subdomain.domain:~/home/foo/file.txt
Как и в случае с командой копирования Unix cp , rcp
перезаписывает существующий файл с тем же именем в цели; в отличие от cp
, он не предоставляет механизма предупреждения пользователя перед перезаписью целевого файла. [16] Нравиться rsh
, rcp
использует TCP-порт 514. [17]
кто
[ редактировать ]Точно так же, как команда who выводит список пользователей, вошедших в локальную систему Unix, rwho
перечисляет тех пользователей, которые вошли во все многопользовательские системы Unix в локальной сети. [18] rwho
демон, rwhod
, поддерживает базу данных о состоянии Unix-систем в локальной сети. Демон и его база данных также используются ruptime
программа. [19]
рстат
[ редактировать ]rstat
возвращает статистику производительности из ядра.
время простоя
[ редактировать ]Так же, как uptime
команда показывает, как долго работала система Unix с момента последнего перезапуска, ruptime
запрашивает отчет о состоянии со всех компьютеров локальной сети. Затем он возвращает отчет о времени безотказной работы. Если компьютер не ответил в течение установленного срока, то ruptime
сообщает, что система не работает . [20] Эта информация отслеживается и сохраняется демоном rwhod
, который также используется командой rwho. [19]
Безопасность
[ редактировать ]Те r-команды, которые включают аутентификацию пользователя ( rcp
, rexec
, rlogin
, и rsh
) имеют несколько серьезных уязвимостей безопасности:
- Вся информация, включая пароли, передается в незашифрованном виде (что делает ее уязвимой для перехвата).
- The
.rlogin
(или.rhosts
) файл легко использовать неправильно. Они предназначены для входа в систему без пароля , но их зависимость от удаленных имен пользователей, имен хостов и IP-адресов может быть использована. По этой причине многие корпоративные системные администраторы запрещают.rhosts
файлы и активно проверять свои сети на предмет нарушителей. - Протокол частично опирается на данные удаленной стороны.
rlogin
клиент честно предоставляет информацию, включая исходный порт и имя исходного хоста. Вредоносный клиент может подделать это и получить доступ, посколькуrlogin
протокол не имеет средств аутентификации клиента, работающего на доверенной машине. Он также не может проверить, является ли запрашивающий клиент на доверенной машине настоящим.rlogin
клиент, а это означает, что вредоносные программы могут притворяться стандартнымиrlogin
клиент, используя те же протоколы. - Обычная практика монтирования домашних каталогов пользователей через сетевую файловую систему подвергает rlogin атакам с помощью поддельных
.rhosts
файлы - это означает, что любая из его ошибок безопасности автоматически поражаетrlogin
.
Из-за этих проблем r-команды относительно вышли из употребления (многие дистрибутивы Unix и Linux больше не включают их по умолчанию). Многие сети, которые раньше полагались на rlogin
и telnet
заменили их на SSH и его rlogin
-эквивалент slogin
. [21] [22]
См. также
[ редактировать ]Примечания
[ редактировать ]- ^ Хорвиц, Джефф (2003) [2002]. «Использование r-команд Беркли без пароля» . Управление системой Unix: Primer Plus . Издательство Самс. п. 339. ИСБН 978-0-672-32372-0 . Проверено 4 марта 2018 г. - через Google Книги.
- ^ Jump up to: а б с МакКьюсик, Маршалл Кирк (1999). «Двадцать лет Berkeley Unix: от собственности AT&T к свободно распространяемому» . Открытые исходные коды: голоса революции открытого исходного кода . О'Рейли и партнеры. Раздел: «4.2BSD» . ISBN 978-1-56592-582-3 . Проверено 3 марта 2018 г.
- ^ Пайлс, Джеймс; Каррелл, Джеффри Л.; Титтель, Эд (2017). «Какие IP-сервисы наиболее уязвимы?» . Руководство по TCP/IP: IPv6 и IPv4 (5-е изд.). Cengage Обучение. п. 659. ИСБН 978-1-305-94695-8 – через Google Книги.
- ^ Кассад (2008), с. 346
- ^ Негус, Кристофер (2 июля 2004 г.). «О командах «r»» . Библия Red Hat Fedora Linux 2 . Уайли. ISBN 0-7645-5745-9 . OCLC 441918216 . Проверено 4 марта 2018 г.
- ^ «Пример использования протокола безопасного сетевого уровня». CiteSeerX 10.1.1.178.8497 .
- ^ Николас Росаско; Дэвид Ларошель. «Как и почему более безопасные технологии добиваются успеха на устаревших рынках: уроки успеха SSH» (доклад конференции) . Гарвардский университет . дои : 10.1007/1-4020-8090-5_18 . S2CID 19035681 . Проверено 13 апреля 2023 г.
- ^ «Команда REXEC — выполните команду на удаленном хосте и получите результаты на локальном хосте» . z/OS Communications Server: Руководство пользователя и команды IP . 2013 [1990] . Проверено 4 марта 2018 г.
- ^ Jump up to: а б «Подробнее о портах» . Руководство сетевого администратора FreeBSD . Проверено 4 марта 2018 г.
- ^ Jump up to: а б Кассад (2008), стр. 350–51
- ^ Кантор, Брайан (декабрь 1991 г.). BSD Rlogin (Отчет). Рабочая группа по интернет-инжинирингу.
- ^ «Формат файла .rhosts для TCP/IP» . www.ibm.com . Проверено 29 ноября 2023 г.
- ^ «Формат файла hosts.equiv для TCP/IP» . www.ibm.com . Проверено 29 ноября 2023 г.
- ^ Эдвардс, Уэйд; Ланкастер, Том; Куинн, Эрик; Ром, Джейсон; Буксир, Брайант (2004). CCSP: Учебное пособие по безопасному PIX и безопасному VPN . Сайбекс . п. 154. ИСБН 0-7821-4287-7 . Проверено 7 марта 2018 г. - через Google Книги.
- ^ "рексекд(8)" . manpagez.com . Проверено 3 марта 2018 г.
- ^ Jump up to: а б Фаррелл, Филипп (3 августа 2004 г.). "РЦП" . Earthsci.stanford.edu . Школа наук о Земле, энергетике и окружающей среде Стэнфордского университета. Архивировано из оригинала 07 февраля 2021 г. Проверено 06 марта 2018 г.
- ^ «Rlogin, RSH и RCP» . ИсточникDaddy . Проверено 18 февраля 2018 г.
- ^ «rwho (1) — Руководства по Linux» . Проверено 07 марта 2018 г.
- ^ Jump up to: а б «rwhod (8) — Ман-страницы Linux» . Проверено 07 марта 2018 г.
- ^ «время разрыва (1) — справочные страницы Linux» . Системные учебники . Проверено 07 марта 2018 г.
- ^ Собелл, Марк (2010). Практическое руководство по командам, редакторам и программированию в командной оболочке Linux . Pearson Education, Inc. ISBN 978-0-13-136736-4 .
- ^ «Список команд управления заданиями Unix» . Университет Индианы . Проверено 20 декабря 2014 г.
Ссылки
[ редактировать ]- Касад, Джо (2008). «Удаленные утилиты Беркли» . Сэмс: Научитесь TCP/IP за 24 часа . Пирсон Образование. ISBN 978-0-13-271513-3 – через Google Книги.
Дальнейшее чтение
[ редактировать ]- Ноордерграаф, Алекс (2003) [2002]. «Службы удаленного доступа (rsh, rlogin и rcp)» . Безопасность предприятия: операционная среда Solaris, журнал безопасности, Solaris OE v2.51, 2.6, 7 и 8 . Прентис Холл. ISBN 978-0-13-100092-6 .
- Понятовский, Марти (2000). Справочник пользователя UNIX (1-е изд.). Прентис Холл. стр. 475–77. ISBN 978-0-13-027019-1 . OCLC 43561861 .
- Роджерс, Лоуренс Р. (ноябрь 1998 г.). «rlogin(1): Нерассказанная история» (PDF) . Архивировано из оригинала (PDF) 17 декабря 2001 г.
- «Перечисление пользователей Unix» . Лаборатория тестирования на проникновение . 10 апреля 2012 г.
Внешние ссылки
[ редактировать ]- RFC 1282 , BSD Rlogin (1991).
- Linux пользователя по командам Руководство –
- Darwin и macOS по общим командам Руководство : удаленный вход в систему –
- Solaris 11.4 по пользовательским командам Справочное руководство : удаленный вход в систему –