table of contents
INETD(8) | System Manager's Manual | INETD(8) |
NAME¶
inetd
— internet
“super-server”
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 comando inetd
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 |