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!
2 comentarios:
Me parece muy interesante tu blog, felicidades, yo voy a intentar poco a poco ir dandole un cambio al mio y tratar un poco de estos temas, así por lo menos sirve de algo :).
Un saludo.
Estoy buscando gente para un proyecto que tengo en mente desde hace ya algo de tiempo, que es la de una "base de datos" basada en chat, foro, wiki, blog, plataforma educativa y escritorio web para el uso, aprendizaje y desarrollo de HTML, webs y todo lo que se le relacione. ¿Te gustaría formar parte? Mi web es www.solohtml.es y mi web personal es www.abdonjesusbp.es. Estoy buscando gente que le de un lavado de cara a la información que en ella muestro, es decir, que meta info en la wiki, que pida info para crear cursos, que impulse la creatividad de la web, que proponga cambios ...
Por cierto, si aceptas te ofrezco un subdominio, un blog WordPress(es mejor que blogger), un espacio web y la creación usuario con derechos adminiistrativos en todas las aplicaciones. Espero respuesta en mi mail;)
PD:
¡Ah!, se me olvidadaba. Buen blog:)
Publicar un comentario