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 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 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 alguns casos de uso após a instalação de talkd, nullidentd (ident-server), e fingerd:

Exemplo 9.1. Excerto do /etc/inetd.conf

#:BSD: Shell, login, exec e talk são protocolos BSD.
talk dgram udp wait nobody.tty /usr/sbin/in.talkd in.talkd
ntalk dgram udp wait nobody.tty /usr/sbin/in.ntalkd in.ntalkd

#:INFO: Serviços de informação
ident stream tcp nowait nobody /usr/sbin/nullidentd nullidentd
finger stream tcp nowait nobody /usr/sbin/tcpd /usr/sbin/in.fingerd
O programa tcpd é frequentemente usado no arquivo /etc/inetd.conf. Permite limitar conexões de entrada aplicando regras de controle de acesso, documentadas na página de manual hosts_access(5), e 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 a pena notar que o tcpd conta com o nome sob o qual foi invocado (isto é, o primeiro argumento, argv[0]) para identificar o programa real a rodar. Então você não deve iniciar a lista de argumentos com tcpd, mas com o programa que tem que ser envolto (wrapped).