16.04.2015 Views

Redes de computadores

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Re<strong>de</strong>s</strong> <strong>de</strong> <strong>computadores</strong><br />

ª FUOC • XP04/90786/00020<br />

BSD se <strong>de</strong>sarrolló otro servicio que permite ejecutar un comando en<br />

el sistema remoto. El programa que actúa como cliente <strong>de</strong> este servicio<br />

se llama rsh (remote shell).<br />

El nombre oficial <strong>de</strong> este servicio es shell, el protocolo <strong>de</strong> transporte<br />

utilizado es el TCP y el número <strong>de</strong> puerto asignado es el 514.<br />

A continuación presentamos los pasos que se siguen en este protocolo:<br />

1) El servidor comprueba que el cliente se haya conectado <strong>de</strong>s<strong>de</strong> un<br />

puerto reservado. En caso contrario, cierra la conexión.<br />

2) El cliente envía al servidor una ca<strong>de</strong>na acabada en NUL que contiene<br />

un número <strong>de</strong>cimal:<br />

• Si es diferente <strong>de</strong> cero, se interpreta como un número <strong>de</strong> puerto y el<br />

servidor establece en este puerto una conexión secundaria (esta segunda<br />

conexión se establece también <strong>de</strong>s<strong>de</strong> un puerto reservado).<br />

• Si es cero, la misma conexión principal actúa también como secundaria.<br />

3) El cliente envía tres ca<strong>de</strong>nas más acabadas en NUL con el nombre<br />

<strong>de</strong>l usuario en el sistema servidor, el nombre en el sistema cliente<br />

y el comando a ejecutar.<br />

4) El servidor comprueba en los ficheros .rhosts y/o /etc/<br />

hosts.equiv que el usuario esté autorizado para la autenticación<br />

automática.<br />

5) Si lo está, el servidor envía un carácter NUL por la conexión secundaria;<br />

en caso contrario, cierra las conexiones.<br />

6) El servidor ejecuta el comando indicado con la i<strong>de</strong>ntidad <strong>de</strong>l usuario<br />

indicado. Los datos que escriba este comando por la salida estándar<br />

(stdout en la nomenclatura <strong>de</strong>l lenguaje C) se enviarán por la conexión<br />

principal, y los que escriba por la salida <strong>de</strong> error (st<strong>de</strong>rr),<br />

por la conexión secundaria. Las que envíe el cliente serán accesibles<br />

por la entrada estándar (stdin).<br />

7) Cuando acabe la ejecución <strong>de</strong>l comando, el servidor cerrará la conexión.<br />

ANOTACIONES<br />

205

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!