Existe la posibilidad de crear aplicaciones sencillas "tipo servidor" con scripts de shell. Vamos a ver un ejemplo en el que se configurará el daemon xinetd para abrir un socket y poner un programa a la escucha. En nuestro caso el programa en cuestión será un script, aunque podría utilizarse cualquier otro lenguaje de programación.
Configurando Xinetd:
Generalmente disponcremos de un archivo de configuración de xinetd similar al siguiente:
Configurando Xinetd:
Generalmente disponcremos de un archivo de configuración de xinetd similar al siguiente:
$ cat /etc/xinetd.confincludedir /etc/xinetd.d |
Este indica la inclusión de los scripts situados en /etc/xinet.d/.
ls -lh /etc/xinetd.d/ |
Editando cualquiera de estos archivos puede verse la estructura que siguen los scripts. Para nuestro propósito debemos crear uno de estos scritps, por ejemplo el siguiente:
service nuevoservicio |
El puerto escogido para la escucha debe estar especificado en el archivo /etc/services, en nuestro caso, el puerto 6666, no está especificado, por lo tanto añadimos la siguiente línea a /etc/services:
nuevoservicio 6666/tcp # Nuestro servicio de prueba |
Sencillo, ¿no?.
Ahora solo necesitamos crear el script "NuestroServidor.sh" y colocarlo en /usr/local/bin.
Podemos probar con el clásico:
Ahora solo necesitamos crear el script "NuestroServidor.sh" y colocarlo en /usr/local/bin.
Podemos probar con el clásico:
#!/bin/bash echo "Hello World!" |
Para que el servidor funcione correctamente debemos asegurarnos de que dispone de permisos de ejecución para todos los usuarios.
finalmente reiniciamos xinetd:
finalmente reiniciamos xinetd:
$ /etc/rc.d/init.d/xinetd restart |
Podemos probar con:
$ telnet localhost 6666 Trying 127.0.0.1... Connected to hackerbox (127.0.0.1). Escape character is '^]'. Hello World! Connection closed by foreign host. |
El programa llamado por xinetd podría haberse desarrollado en cualquier otro lenguaje de programación: C, Perl ... Lo interesante de esta forma de hacerlo es que permite la creación de servicios simples en un tiempo récord. Aunque no se debe olvidar que en estos sistemas la seguridad no es uno de sus fuertes. Con cuidado!