Product SiteDocumentation Site

9.6. O super servidor inetd

Inetd (geralemente chamado de “Internet super-server”) é um servidor de servidores. Ele executa servidores, raramente usados, sob demanda, para que eles não tenham que rodar continuamente.
O arquivo /etc/inetd.conf lista esses servidores e suas portas habituais. O comando inetd ouve em todas elas; quando ele detecta uma conexão em qualquer uma delas, ele executa o programa servidor correspondente.
Cada linha significativa do arquivo /etc/inetd.conf descreve um servidor através de sete campos (separados por espaços):
O exemplo a seguir ilustra os casos mais comuns:

Exemplo 9.1. Excerto do /etc/inetd.conf

talk   dgram  udp wait    nobody.tty /usr/sbin/in.talkd in.talkd
finger stream tcp nowait  nobody     /usr/sbin/tcpd     in.fingerd
ident  stream tcp nowait  nobody     /usr/sbin/identd   identd -i
O programa tcpd é frequentemente usado no arquivo /etc/inetd.conf. Ele permite limitar conexões de entrada aplicando regras de controle de acesso, documentadas na página de manual hosts_access(5), e que são configuradas nos arquivos /etc/hosts.allow e /etc/hosts.deny. Uma vez que tenha sido determinado que a conexão está autorizada, o tcpd executa o servidor real (como o in.fingerd no nosso exemplo). Vale apena notar que o tcpd conta com o nome sob o qual ele foi invocado (isto é, o primeiro argumento, argv[0]) para identificar o programa real a rodar. Então você não deveria iniciar a lista de argumentos com o tcpd mas com o programa que tem que ser envolto.