INETD(8) | System Manager's Manual | INETD(8) |
NAME¶
inetd
—
SINOPSIS¶
inetd
[-d
]
[-q
queuelength]
[fichero de configuración]
DESCRIPCIÓN¶
Inetd
debería ejecutarse en el arranque mediante
/etc/rc.local (véase rc(8)).
A partir de ese momento está a la escucha de conexiones en cierto
conector (socket) de internet. Cuando encuentra una conexión en uno de
sus conectores, decide a qué servicio de conexión corresponde, y
llama a un programa para atender la solicitud. Cuando este programa termina,
continúa a la escucha en el conector (salvo en algún caso que se
describirá más adelante). Esencialmente,
inetd
permite ejecutar un demonio para llamar a otros
muchos, reduciendo la carga del sistema.
La opciones disponibles para inetd
son:
-d
- Activa la depuración.
-q
longitudcola- Asigna el valor indicado al tamaño de la cola de escucha del conector. Por defecto es 128.
En ejecución, inetd
lee su
información de configuración de un fichero de
configuración, que por defecto es
/etc/inetd.conf. Tiene que haber una entrada para
cada campo del fichero de configuración, con entradas para cada campo
separadas por tab o espacios. Los comentarios se distinguen por un ``#'' al
principio de la línea. Tiene que haber una entrada para cada campo.
Los campo del fichero de configuración son de la siguiente forma:
nombre de servicio tipo de conector protocolo wait/nowait[.max] usuario[.grupo] programa servidor argumentos del programa servidor
Para especificar un servicio basado en Sun-RPC la entrada debería contener estos campos.
nombre servicio/versión tipo de conector rpc/protocolo wait/nowait[.max] usuario[.grupo] programa servidor argumentos del programa servidor
La entrada nombre de servicio es el nombre de un servicio válido del fichero /etc/services. Para servicio “internos” (discutidos después), el nombre de servicio tiene que ser el nombre oficial del servicio (esto es, la primera entrada de /etc/services). Cuando se usa para especificar un servicio basado en Sun-RPC, este campo es un nombre de servicio RPC válido del fichero /etc/rpc. la parte a la derecha de “/” es el número de versión RPC. Esto puede ser simplemente un argumento numérico o un rango de versiones. Un rango está acotado por las versiones menor y mayor - “rusers/1-3”.
El tipo de conector (tipo de socket) debería ser “stream”, “dgram”, “raw”, “rdm”, or “seqpacket”, dependiendo de si el conector es un flujo, datagrama, en bruto, mensaje entregado fiable o conector de paquetes secuenciados.
El protocolo tiene que ser un protocolo válido como los dados en /etc/protocols. Pueden ser ejemplos “tcp” o “udp”. Los servicios basadso en Rpc se especifican con el tipo de servicio “rpc/tcp” o “rpc/udp”.
La entrada wait/nowait es aplicable a conectores
de datagrama sólo (los otros conectores deberían tener una
entrada “nowait” es este espacio). Si un servidor de datagrama
conecta a su par, liberando el conector, así
inetd
puede recibir posteriores mensajes en el
conector, esto se dice que es un serviodor “multi-hilo” y
debería usar la entrada “nowait” Para los servidores de
datagrama que procesa todos los datagramas entrantes por un conector y al
fin y al cabo desconecta, el servidor se dice que es “hilo
simple” y debería usar una entrada “wait”.
Comsat(8) (biff(1)) y
talkd(8) son ambos ejemplos del último tipo de
servidor de datagramas. Tftpd(8) es una excepción;
es un serviodr de datagrama que establece pseudoconexiones. Este se debe
indicar como “wait” con el fin de evitar una carrera; el
servidor leeel primer paquete, crea un nuevo coonector, entonces se desdobla
y sale para permitir que inetd
verifique nuevas
solicitudes de servicio para activar nuevos servidores. El sufijo opcional
“max” (separado de “wait” o
“nowait” por un punto) especifica el máximo numero de
instancias del servidor que se pueden activar desde
inetd
en un intervalo de 60 segundos. Cuando se
omite “max” toma el valor por defecto de 40.
La entrada usuario debería contener el nombre de usuario bajo el que ejecutaría el servidor. Esto permite que a los servidores se les dé menos permisos que al root. Se puede especificar un nombre de grupo opcional añadiendo un punto al nombre de usuario seguido por el nombre de grupo. Esto permite a los servidores ejecutarse con un identificador de grupo (primario) diferente al especificado en el fichero /etc/passwd. Si se especifica un grupo y el usuario no es root, se asignan los grupos suplementarios asociados con ese usuario.
La entrada programa servidor debería
contener la ruta completa del programa que se ejecutará por
inetd
cuando encuentre una solicitud en su conector.
Si inetd
proporciona este servicio internamente,
esta entrada debería ser “internal”.
Los argumentos del programa servidor será como son normalmente los argumentos, empezando con argv[0], que es el nombre del programa Si proporciona este servicio internamente, la palabra “internal” debería estar en el lugar de esta entrada.
Inetd
proporciona varios servicios
“triviales” internamente usando rutinas con él mismo.
“echo”, “discard”, “chargen”
(generador de caracteres), “daytime” (fecha-hora en formato
legible), y “time” (fecha-hora formato de máquina, en
el formato del número de segundos desde medianoche de 1 de enero de
1900). Todos estos servicios están basadose n tcp. Para detalles de
estos servicios, consulte el RFC adecuada del Network Information
Center.
Inetd
relee su fichero de
configuración cuando recibe la señal de colgar
SIGHUP
. Se pueden añadir servicios, borrarlos
o modificarlos cuando se lee el fichero de configuración.
Inetd
crea el fichero
/var/run/inetd.pid que contiene su identificador de
proceso.
VÉASE TAMBIÉN¶
comsat(8), fingerd(8), ftpd(8), rexecd(8), rlogind(8), rshd(8), telnetd(8), tftpd(8)HISTORIA¶
El comandoinetd
apareció en
4.3BSD. El soporte para servicios basados en
Sun-RPC se ha servido del modelo proporcionado por
SunOS 4.1.
23 Noviembre 1996 | Linux NetKit 0.09 |