Los r-commands de Berkeley son un conjunto de programas de computadora diseñados para permitir a los usuarios de un sistema Unix iniciar sesión o emitir comandos a otra computadora Unix a través de una red informática TCP / IP . [1] Los comandos r fueron desarrollados en 1982 por el Grupo de Investigación de Sistemas Computacionales de la Universidad de California, Berkeley , basándose en una implementación temprana de TCP / IP (la pila de protocolos de Internet ). [2]
Desarrollador (es) | Grupo de investigación de sistemas informáticos de la Universidad de California, Berkeley |
---|---|
Versión inicial | Junio de 1981 |
Sistema operativo | Unix y similar a Unix |
Tipo | Suite de comando |
Licencia | BSD |
El CSRG incorporó los comandos r en su sistema operativo Unix , Berkeley Software Distribution (BSD). Los comandos r se estrenaron en BSD v4.1. [2] Entre los programas de la suite son: rcp
(a distancia copia ), rexec
(remoto ejecución ), rlogin
(remoto de inicio de sesión ), rsh
(remoto shell ), rstat
, ruptime
, y rwho
(remoto que ). [2] [3]
Los comandos r fueron una innovación significativa y se convirtieron en estándares de facto para los sistemas operativos Unix. [4] [5] Con la adopción pública más amplia de Internet, sus vulnerabilidades de seguridad inherentes se convirtieron en un problema, [6] y comenzando con el desarrollo de protocolos y aplicaciones Secure Shell en 1995, su adopción suplantó por completo el despliegue y uso de r- comandos (y Telnet) en sistemas en red. [7]
Autenticación
Servicio | Puerto | Transporte | Refs | |
---|---|---|---|---|
Cliente | Demonio | |||
rcp | rshd | 514 | TCP | |
rexec | rexecd | 512 | TCP | [8] |
rlogin | rlogind | 513 | TCP | [9] |
rsh | rshd | 514 | TCP | |
rstat | rstatd | UDP | ||
tiempo de ruptura | rwhod | 513 | UDP | [10] |
quien | [9] [10] |
El paquete original de Berkeley que proporciona rlogin también incluye rcp (copia remota, que permite copiar archivos a través de la red) y rsh (shell remoto, que permite ejecutar comandos en una máquina remota sin que el usuario inicie sesión). Estos comparten el esquema de control de acceso hosts.equiv y .rhosts (aunque se conectan a un demonio diferente, rshd).
Comandos
rlogin
rlogin
permite a un usuario iniciar sesión en otro servidor a través de una red informática , utilizando el puerto de red TCP 513.
rlogin es también el nombre del protocolo de capa de aplicación utilizado por el software, parte del conjunto de protocolos TCP / IP . Los usuarios autenticados pueden actuar como si estuvieran físicamente presentes en la computadora. El RFC 1282, en el que se definió, establece: "La función rlogin proporciona un terminal virtual controlado por flujo local y con eco remoto con la descarga adecuada de la salida". rlogin se comunica con un demonio , rlogind, en el host remoto. rlogin es similar al comando Telnet , pero no es tan personalizable y solo puede conectarse a hosts similares a Unix.
rsh
rsh abre un shell en una computadora remota sin un procedimiento de inicio de sesión . Una vez conectado, el usuario puede ejecutar comandos en la computadora remota a través de la interfaz de línea de comandos del shell . rsh pasa la entrada y la salida a través de los flujos estándar y envía la salida estándar a la consola del usuario . A través de la red, la entrada estándar y la salida estándar fluyen a través del puerto TCP 514, mientras que el error estándar fluye a través de un puerto TCP diferente, que abre el demonio rsh (rshd). [11]
rexec
Al igual que rsh, rexec permite al usuario ejecutar comandos de shell en una computadora remota. Sin embargo, a diferencia del servidor rsh, el servidor rexec (rexecd) requiere inicio de sesión: autentica a los usuarios leyendo el nombre de usuario y la contraseña (sin cifrar) del conector de red . [12] rexec usa el puerto TCP 512.
rcp
rcp puede copiar un archivo o directorio del sistema local a un sistema remoto, de un sistema remoto al sistema local o de un sistema remoto a otro. [13] Los argumentos de la línea de comandos de cp y rcp son similares, pero en los archivos remotos rcp se antepone el nombre del sistema remoto:
rcp file.txt subomain.domain: ~ / home / foo / file.txt
Al igual que con el comando de copia de Unix cp , rcp sobrescribe un archivo existente del mismo nombre en el destino; a diferencia de cp, no proporciona ningún mecanismo para advertir al usuario antes de sobrescribir el archivo de destino. [13] Como rsh, rcp usa el puerto TCP 514. [14]
quien
Así como el comando who enumera los usuarios que están conectados al sistema Unix local, rwho enumera aquellos usuarios que están conectados a todos los sistemas Unix multiusuario en la red local. [15] El demonio de rwho, rwhod, mantiene una base de datos del estado de los sistemas Unix en la red local. El programa ruptime también utiliza el demonio y su base de datos. [dieciséis]
rstat
rstat devuelve estadísticas de rendimiento del kernel.
tiempo de ruptura
Así como el uptime
comando muestra cuánto tiempo ha estado funcionando un sistema Unix desde el último reinicio, ruptime
solicita un informe de estado de todas las computadoras en la red local. Luego devuelve el informe de tiempo de actividad. Si un equipo no responde dentro del límite de tiempo, a continuación, los informes ruptime que el sistema está abajo . [17] Esta información es rastreada y almacenada por el demonio rwhod, que también es usado por el comando rwho. [dieciséis]
Seguridad
Los comandos r que involucran la autenticación de usuarios (rcp, rexec, rlogin y rsh) comparten varias vulnerabilidades de seguridad graves:
- Toda la información, incluidas las contraseñas, se transmite sin cifrar (lo que la hace vulnerable a la interceptación).
- El archivo .rlogin (o .rhosts) es fácil de usar incorrectamente. Están diseñados para permitir inicios de sesión sin contraseña , pero su dependencia de nombres de usuario remotos, nombres de host y direcciones IP es explotable. Por esta razón, muchos administradores de sistemas corporativos prohíben los archivos .rhosts y examinan activamente sus redes en busca de delincuentes.
- El protocolo se basa en parte en el cliente rlogin de la parte remota para proporcionar información honestamente, incluido el puerto de origen y el nombre de host de origen. Por lo tanto, un cliente corrupto puede falsificar esto y obtener acceso, ya que el protocolo rlogin no tiene medios para autenticar las identidades de otras máquinas o garantizar que el cliente solicitante en una máquina confiable sea el cliente rlogin real.
- La práctica común de montar los directorios de inicio de los usuarios a través de NFS expone a rlogin a ataques mediante archivos .rhosts falsos; esto significa que cualquiera de las fallas de seguridad de NFS afecta automáticamente a rlogin.
Debido a estos problemas, los comandos r cayeron en relativo desuso (y muchas distribuciones de Unix y Linux ya no los incluyen por defecto). Muchas redes que antes dependían de rlogin y telnet las han reemplazado por SSH y su slogin equivalente a rlogin . [18] [19]
Ver también
- Lista de comandos de Unix
Notas
- ^ Horwitz, Jeff (2003) [2002]. "Uso de los comandos r de Berkeley sin contraseña" . Gestión del sistema Unix: Primer Plus . Sams Publishing. pag. 339. ISBN 978-0-672-32372-0. Consultado el 4 de marzo de 2018 a través de Google Books.
- ^ a b c McKusick, Marshall Kirk (1999). "Veinte años de Berkeley Unix: de propiedad de AT&T a libremente redistribuible" . Fuentes abiertas: voces de la revolución de las fuentes abiertas . O'Reilly y asociados. Sección: "4.2BSD" . ISBN 978-1-56592-582-3. Consultado el 3 de marzo de 2018 .
- ^ Pyles, James; Carrell, Jeffrey L .; Tittel, Ed (2017). "¿Qué servicios IP son más vulnerables?" . Guía de TCP / IP: IPv6 e IPv4 (5.a ed.). Aprendizaje Cengage. pag. 659. ISBN 978-1-305-94695-8 - a través de Google Books.
- ^ Casad (2008), p. 346
- ^ Negus, Christopher (2 de julio de 2004). "Acerca de" r "Comandos" . Biblia Red Hat Fedora Linux 2 . Wiley. ISBN 0-7645-5745-9. OCLC 441918216 . Consultado el 4 de marzo de 2018 .
- ^ http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.178.8497&rep=rep1&type=pdf
- ^ https://dash.harvard.edu/bitstream/handle/1/16781951/sshVsTelnetWeb3.pdf?sequence=1
- ^ "Comando REXEC: ejecute un comando en el host remoto y reciba los resultados en su host local" . z / OS Communications Server: Guía y comandos del usuario de IP . 2013 [1990] . Consultado el 4 de marzo de 2018 .
- ^ a b "Más sobre puertos" . Guía de administradores de red de FreeBSD . Consultado el 4 de marzo de 2018 .
- ↑ a b Casad (2008), págs. 350–51
- ^ Edwards, Wade; Lancaster, Tom; Quinn, Eric; Rohm, Jason; Tow, Bryant (2004). CCSP: Guía de estudio de Secure PIX y Secure VPN . Sybex . pag. 154. ISBN 0-7821-4287-7. Consultado el 7 de marzo de 2018 , a través de Google Books.
- ^ "rexecd (8)" . manpagez.com . Consultado el 3 de marzo de 2018 .
- ^ a b Farrell, Phillip (3 de agosto de 2004). "rcp" . earthsci.stanford.edu . Facultad de Ciencias de la Tierra, Energía y Medio Ambiente de la Universidad de Stanford . Consultado el 6 de marzo de 2018 .
- ^ "Rlogin, RSH y RCP" . SourceDaddy . Consultado el 18 de febrero de 2018 .
- ^ "rwho (1) - Páginas de manual de Linux" . Consultado el 7 de marzo de 2018 .
- ^ a b "rwhod (8) - Páginas de manual de Linux" . Consultado el 7 de marzo de 2018 .
- ^ "ruptime (1) - Páginas de manual de Linux" . SysTutorials . Consultado el 7 de marzo de 2018 .
- ^ Sobell, Mark (2010). Una guía práctica para los comandos, editores y programación de shell de Linux . Pearson Education, Inc. ISBN 978-0-13-136736-4.
- ^ "Lista de comandos de control de trabajos de Unix" . Universidad de Indiana . Consultado el 20 de diciembre de 2014 .
Referencias
- Este artículo se basa en material extraído del Diccionario gratuito de informática en línea antes del 1 de noviembre de 2008 e incorporado bajo los términos de "renovación de licencias" de la GFDL , versión 1.3 o posterior.
- Casad, Joe (2008). "Berkeley Remote Utilities" . Sams Aprenda TCP / IP usted mismo en 24 horas . Educación Pearson. ISBN 978-0-13-271513-3 - a través de Google Books.
Otras lecturas
- Noordergraaf, Alex (2003) [2002]. "Servicios de acceso remoto (rsh, rlogin y rcp)" . Seguridad empresarial: entorno operativo Solaris, diario de seguridad, Solaris OE v2.51, 2.6, 7 y 8 . Prentice Hall. ISBN 978-0-13-100092-6.
- Poniatowski, Marty (2000). Manual del usuario de UNIX (1ª ed.). Prentice Hall. págs. 475–77. ISBN 978-0-13-027019-1. OCLC 43561861 .
- Rogers, Lawrence R. (noviembre de 1998). "rlogin (1): La historia no contada" (PDF) . Archivado desde el original (PDF) el 17 de diciembre de 2001.
- "Enumeración de usuarios de Unix" . Laboratorio de pruebas de penetración . 10 de abril de 2012.
enlaces externos
- RFC 1282 , BSD Rlogin (1991)
- - Manual de comandos de usuario de Linux
- : inicio de sesión remoto - Manual de comandos generales de Darwin y macOS
- : inicio de sesión remoto - Manual de referencia de comandos de usuario de Solaris 10