Berkeley r-commands: Difference between revisions

Content deleted Content added
m top: wikilinked term
revised lede; +"Overview" table and refs; added to "Further reading" section
Line 4:
{{IPstack}}
 
The '''Berkeley r-commands''' are a [[Software suite|suite]] of [[computer program]]s designed to enable computer users of one [[Unix]] system to access[[log variousin]] or issue [[SystemCommand resource(computing)|computercommands]] resourcesto another [[Unix]] availablecomputer onvia a[[TCP/IP]] [[Computercomputer network|network]].<ref>{{cite book |title=Unix System Management: Primer Plus |last=Horwitz |first=Jeff |chapter=Using the Berkeley r-commands Without a Password |chapter-url=https://books.google.com/books?id=-sue_SyjuCMC&pg=PA339 |page=339 |year=2003 |orig-year=2002 |publisher=Sams Publishing |via=Google Books |isbn=978-0-672-32372-0 |access-date=2018-03-04}}</ref> The r-commands were developed in 1982 by the [[Computer Systems Research Group]] at the [[University of California, Berkeley]], based on an early implementation of [[TCP/IP]] (the [[protocol stack]] of the [[Internet]]).<ref name="McKusick">{{cite book |title=[[Open Sources: Voices from the Open Source Revolution]] |last=McKusick |first=Marshall Kirk |authorlink=Marshall Kirk McKusick |year=1999 |isbn=978-1-56592-582-3 |chapter=Twenty Years of Berkeley Unix: From AT&T-Owned to Freely Redistributable |chapter-url=http://www.oreilly.com/openbook/opensources/book/kirkmck.html |publisher=O'Reilly & Associates |at=Section: "4.2BSD" |access-date=2018-03-03}}</ref>
 
The CSRG incorporated the r-commands into their [[Unix]] [[operating system]], the [[Berkeley Software Distribution]] (BSD). The r-commands premiered in BSD v4.1.<ref name="McKusick"/> Among the programs in the suite are: {{code|rcp}} (remote [[File copying|copy]]), {{code|rexec}} (remote [[Execution (computing)|execution]]), {{code|rlogin}} (remote [[login]]), {{code|rsh}} (remote [[Shell (computing)|shell]]), {{code|rstat}}, {{code|ruptime}}, and {{code|rwho}} (remote [[who (Unix)|who]]).<ref name="McKusick"/><ref>{{cite book |title=Guide to TCP/IP: IPv6 and IPv4 |first=James |last=Pyles |first2=Jeffrey L. |last2=Carrell |first3=Ed |last3=Tittel |chapter=Which IP Services Are Most Vulnerable? |chapter-url=https://books.google.com/books?id=sQevDAAAQBAJ&pg=PA659 |page=659 |publisher=Cengage Learning |year=2017 |edition=5th |isbn=978-1-305-94695-8 |via=Google Books}}</ref>
 
The r-commands were a significant innovation, and became ''de facto'' standards for Unix operating systems.<ref>Casad (2008), p. [https://books.google.com/books?id=q81cs5140_YC&pg=PT346 346]</ref><ref>{{cite book |title=Red Hat Fedora Linux 2 Bible |last=Negus |first=Christopher |publisher=Wiley |isbn=0-7645-5745-9 |oclc=441918216 |chapter=About "r" Commands |chapter-url=https://www.wiley.com/legacy/compbooks/negus/rhbf2/r-commands.html |access-date=2018-03-04}}</ref>
 
==rlogin==
{| class="wikitable" style="clear:right; float:right; text-align:center; margin-left:3ex"
|+ Overview
! scope="col" colspan="2" | Service !! scope="col" rowspan="2" | Port !! scope="col" rowspan="2" | Transport || scope="col" rowspan="2" | {{abbr|Refs|References}}
|-
! scope="col" | Client !! scope="col" | Daemon
|-
| style="text-align:left" | rcp || || 514 || TCP ||
|-
| style="text-align:left" | rexec || || 512 || TCP || <ref>{{cite book |chapter-url=https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.halu001/rexsyn.htm |chapter=REXEC command—Execute a command on the remote host and receive the results on your local host |title=z/OS Communications Server: IP User's Guide and Commands |orig-year=1990 |year=2013 |access-date=2018-03-04}}</ref>
|-
| style="text-align:left" | rlogin || style="text-align:left" | rlogind || 513 || TCP || <ref name="NAG">{{cite book |title=FreeBSD Network Administrators Guide |chapter-url=https://people.freebsd.org/~nik/nag/book.html#x-087-2-intro.tcpip.ports |chapter=More on Ports |access-date=2018-03-04}}</ref>
|-
| style="text-align:left" | rsh || style="text-align:left" | rshd || 514 || TCP ||
|-
| style="text-align:left" | rstat || style="text-align:left" | rstatd || || UDP ||
|-
| style="text-align:left" | ruptime || rowspan="2" style="text-align:left" | rwhod || rowspan="2" | 513 || rowspan="2" | UDP || <ref name="Casad-350">Casad (2008), pp. [https://books.google.com/books?id=q81cs5140_YC&pg=PT350 350–51]</ref>
|-
| style="text-align:left" | rwho || <ref name="NAG"/><ref name="Casad-350"/>
|}
 
{{code|rlogin}} enables a user to log in on another [[Server (computing)|server]] via [[computer network]], using [[Transmission Control Protocol|TCP]] [[network port]] 513.
 
rlogin is also the name of the [[application layer]] [[Communications protocol|protocol]] used by the software, part of the [[TCP/IP]] [[protocol suite]]. Authenticated users can act as if they were physically present at the computer. RFC 1282, in which it was defined, states: "The rlogin facility provides a remote-echoed, locally flow-controlled virtual terminal with proper flushing of output." rlogin communicates with a [[daemon (computer software)|daemon]], '''rlogind''', on the remote host. rlogin is similar to the [[Telnet]] command, but is not as customizable and is able to connect only to Unix-like hosts.
 
==rcp, rexec, rsh, and rwho==
{{Further|Remote Shell}}
 
The original Berkeley package that provides rlogin also features rcp (remote-copy, allowing files to be copied over the network) and [[Remote Shell|rsh]] (remote-shell, allowing commands to be run on a remote machine without the user logging into it). These share the hosts.equiv and .rhosts access-control scheme (although they connect to a different daemon, rshd), and as such suffer from the same security exposures. The ssh[[Secure Shell]] suite contains suitable replacements for both: scp replaces rcp, and ssh itself replaces both rlogin and rsh.
 
Like rsh, rexec enables the user to run shell commands on a remote computer. However, unlike the rsh server, the rexec server (rexecd) authenticates users by reading the username and password (unencrypted) from the socket.<ref>{{cite web |url=http://www.manpagez.com/man/8/rexecd/ |title=rexecd(8) |website=manpagez.com |access-date=2018-03-03}}</ref> rexec uses TCP port 512.
Line 23 ⟶ 46:
 
== See also ==
* [[List of Unix commands]]
* [[Secure Shell]]
* [[Telnet]]
Line 28 ⟶ 52:
 
==Notes==
{{reflist|30em}}
 
== References ==
{{refbegin}}
* {{FOLDOC}}
* {{cite book |title=Sams Teach Yourself TCP/IP in 24 Hours |last=Casad |first=Joe |chapter=Berkeley Remote Utilities |year=2008 |publisher=Pearson Education |chapter-url=https://books.google.com/books?id=q81cs5140_YC&pg=PT346 |isbn=978-0-13-271513-3 |via=Google Books}}
{{refend}}
 
==Further reading==
* {{cite book |title=Enterprise Security: Solaris Operating Environment, Security Journal, Solaris OE v2.51, 2.6, 7, and 8 |last=Noordergraaf |first=Alex |year=2003 |orig-year=2002 |publisher=Prentice Hall |isbn=978-0-13-100092-6 |chapter=Remote Access Services (rsh, rlogin, and rcp) |chapter-url=https://www.informit.com/articles/article.aspx?p=30294&seqNum=6}}
* {{cite book |title=UNIX User's Handbook |last=Poniatowski |first=Marty |publisher=Prentice Hall |year=2000 |pages=475–77 |isbn=978-0-13-027019-1 |oclc=43561861 |edition=1st}}
* {{cite web |url=http://www.cert.org/archive/pdf/98tr017.pdf |title=rlogin(1): The Untold Story |last=Rogers |first=Lawrence R. |date=November 1998 |archive-url=https://web.archive.org/web/20011217064050/http://www.cert.org/archive/pdf/98tr017.pdf |archive-date=2001-12-17}}
* {{cite web |url=https://pentestlab.blog/2012/04/10/unix-user-enumeration/ |title=Unix User Enumeration |website=Penetration Testing Lab |date=10 April 2012}}
 
== External links ==