<Anterior | Conteúdo | Próxima>
O sistema Linux é uma ótima plataforma para oferecer serviços de rede. Nesta seção, tentaremos fornecer uma visão geral dos servidores e aplicativos de rede mais comuns.
10.3.1. Tipos de servidor
10.3.1.1. Servidor autônomo
A oferta de um serviço aos usuários pode ser abordada de duas maneiras. Um daemon ou serviço pode ser executado em modo autônomo ou pode depender de outro serviço para ser ativado.
Serviços de rede que são muito e / ou continuamente usados, geralmente executados no modo autônomo: eles são daemons de programa independentes que estão sempre em execução. Eles são provavelmente inicializados no momento da inicialização do sistema e aguardam por solicitações nos pontos de conexão ou portas específicas para os quais foram configurados para escutar. Quando uma solicitação chega, ela é processada e a escuta continua até a próxima solicitação. Um servidor web é um exemplo típico: você deseja que ele esteja disponível 24 horas por dia e, se estiver muito ocupado, deve criar mais instâncias de escuta para atender a usuários simultâneos. Outros exemplos são os grandes arquivos de software, como Sourceforge ou seu espelho Tucows, que devem lidar com milhares de solicitações de FTP por dia.
Um exemplo de serviço de rede autônomo em seu computador doméstico pode ser o nomeado (nome daemon), um servidor de nomes de cache. Os serviços autônomos têm seus próprios processos em execução, você pode verificar a qualquer momento usando ps:
bob: ~> ps auxw | grep nomeado
nomeado 908 0.0 1.0 14876 5108? S Mar14 0:07 chamado -u chamado
bob: ~> ps auxw | grep nomeado
nomeado 908 0.0 1.0 14876 5108? S Mar14 0:07 chamado -u chamado
No entanto, existem alguns serviços que você pode usar em seu PC, mesmo que não haja nenhum processo de servidor em execução para esses serviços. Os exemplos podem ser o serviço FTP, o serviço de cópia segura ou o serviço finger. Esses serviços têm o Internet Daemon (inetd) ouvindo em seu lugar.
10.3.1.2. (x) inetd
No seu PC doméstico, as coisas costumam ser um pouco mais calmas. Você pode ter uma pequena rede, por exemplo, e pode ter que transferir arquivos de um PC para outro de vez em quando, usando FTP ou Samba (para conectividade com máquinas MS Windows). Nesses casos, iniciar todos os serviços de que você precisa apenas ocasionalmente e mantê-los em execução o tempo todo seria um desperdício de recursos. Portanto, em configurações menores, você encontrará os daemons necessários dependentes de um programa central, que escuta em todas as portas dos serviços pelos quais é responsável.
Este super-servidor, o daemon de serviços de Internet, é inicializado no momento da inicialização do sistema. Existem duas implementações comuns: inetd e xinetd (o daemon de serviços estendidos da Internet). Um ou outro geralmente é executado em todos os sistemas Linux:
bob: ~> ps-ef | grep inet
root 926 1 0 Mar14? 00:00:00 xinetd-ipv6 -stayalive -reuse \
-pidfile /var/run/xinetd.pid
bob: ~> ps-ef | grep inet
root 926 1 0 Mar14? 00:00:00 xinetd-ipv6 -stayalive -reuse \
-pidfile /var/run/xinetd.pid
Os serviços pelos quais o daemon da Internet é responsável, estão listados em seu arquivo de configuração,
/etc/inetd.conf, Por inetd, e no diretório /etc/xinetd.d for xinetd. Os serviços comumente gerenciados incluem compartilhamento de arquivos e serviços de impressão, SSH, FTP, telnet, o daemon de configuração do Samba, serviços de conversação e tempo.
Assim que uma solicitação de conexão for recebida, o servidor central iniciará uma instância do servidor necessário. Assim, no exemplo abaixo, quando o usuário grão inicia uma sessão de FTP para o host local, um daemon de FTP está em execução enquanto a sessão estiver ativa:
bob: ~> ps auxw | grep ftp
bob 793 0.1 0.2 3960 1076 pts / 6 S 16:44 0:00 ncftp localhost
ftp 794 0.7 0.5 5588 2608? SN 16:44 0:00 ftpd: