Visão geral do NSSWitch.Conf

Visão geral do NSSWitch.Conf
A introdução dos Serviços de Informação de Rede (NIS) e Sistema de Nomes de Domínio (DNS) tornou mais obscuro procurar os detalhes das informações do usuário e do sistema. Agora, não é tão simples de olhar dentro do arquivo local.

Antes, para verificar as informações do usuário, precisamos nos referir a /etc/passwd e precisamos olhar no /etc/hosts Para informações de endereço do sistema. Agora, existem várias maneiras de encontrar esse tipo de informação. Você pode configurar quais serviços devem ser utilizados para procurar coisas como nomes de host, arquivos de senha e arquivos de grupo usando o /etc/nsswitch.conf arquivo.

Com o /etc/nsswitch.conf (Configuração do switch de serviço de nome), podemos especificar os caminhos e sua ordem para usá -los ao encontrar um tipo específico de informação. Podemos indicar a ação em que o sistema assume com base no fato de um método ser bem -sucedido ou malsucedido.

Sobre o que vamos falar?

Neste artigo, abordaremos uma visão geral do NSSWitch.arquivo conf no sistema operacional Linux. Vamos começar agora.

Nsswitch.Formato do arquivo conf

No NSSWitch.arquivo conf, cada linha define como procurar uma informação. O formato de uma linha em Nsswitch.Conf parece com o seguinte:

Informações: Método [[Ação]] [Método [[Ação]]…]

Onde “informações” refere -se às informações descritas pela linha, “método” refere -se à técnica usada para obter essas informações, e “ação” refere -se à resposta ao status de retorno do método anterior. A ação é cercada por colchetes.

Dentro do NSSWitch.Arquivo conf

Vamos agora examinar este arquivo. O arquivo se parece com o seguinte:

# /etc /nsswitch.conf
#
# Nome Arquivo de configuração do interruptor de serviço.
#
Passwd: Arquivos DB
Sombra: arquivos
Grupo: Arquivos DB
Hosts: Arquivos DNS
Redes: arquivos
Éteres: arquivos DB
Protocolos: arquivos DB
RPC: arquivos DB
Serviços: Arquivos DB

Como você provavelmente imaginaria olhar para a tabela fornecida, o banco de dados está listado na primeira coluna. O restante desta linha indica como a pesquisa é executada. Além disso, observe que você deve mostrar a maneira de funcionar para cada banco de dados individualmente. Isso não pode ser realizado usando o método convencional de uma implementação monolítica. A definição de configuração de cada banco de dados pode ter dois campos distintos: a especificação de serviço, como arquivos, db ou nis e a resposta para procurar os resultados como [notfound = return].

Opções disponíveis com o NSSWitch.Arquivo conf

As opções neste arquivo devem residir em diferentes linhas. As seguintes opções estão disponíveis:

  1. DNS: Nesse caso, o serviço DNS é usado para resolver o endereço. Isso é bom para resolver os endereços do host, mas não para a resolução de endereços de rede.
  2. Arquivos: ele usa o clássico /etc /hosts e /etc /arquivos de rede. Ele procura um arquivo local para o nome do host ou rede e seu respectivo endereço.
  3. NIS ou NIS+: Para resolver o endereço do host ou rede, ele utiliza o Sistema de Informações de Rede (NIS).

A ordem dos bancos de dados de origem controla a ordem em que o NSS tenta procurar essas fontes para resolver as consultas para o serviço de destino.

Ações na configuração do NSS

O próximo item de especificação permite ao usuário um controle muito maior sobre o comportamento da pesquisa. Os itens de ação são colocados entre as especificações do serviço e são cercados por colchetes quadrados. Geralmente, a declaração de ação tem a seguinte sintaxe:

[[!] status = ação…]

Vamos quebrar esta sintaxe:

  1. O parâmetro de ação tem duas ações possíveis:
    1. Retorno: O programa que tenta a resolução de nomes recebe o controle. Caso uma tentativa de pesquisa falhe, o resolvedor retorna zero; Caso contrário, ele retorna com os detalhes.
    2. Continue: o resolvedor vai para o serviço subsequente na lista para tentar resolução usando este serviço.
    3. mesclar: significa continuar com o processo de pesquisa, mantendo os resultados recentes. Esta ação é utilizável apenas quando o status é "sucesso".
  2. O (!) O personagem é opcional e basicamente significa não. O (!) O personagem é uma operação de inversão usada em muitas linguagens de programação.
  3. O parâmetro de status: o valor do status é comparado à saída da função de pesquisa que as chamadas de especificação de serviço anterior. O valor do status pode ser:
    1. sucesso: A entrada solicitada é obtida sem dificuldade. A ação padrão é "retornar".
    2. não encontrado: A pesquisa é bem -sucedida. No entanto, o host ou rede de destino não é encontrado. A ação padrão é "Continue".
    3. Deianco: O serviço solicitado não pôde ser encontrado. Pode sugerir que o arquivo hosts ou redes não seja legível para o serviço de arquivos. Também pode significar que um servidor de nomes ou servidor NIS não respondeu pelos serviços DNS ou NIS. A ação padrão aqui é "Continue".
    4. tente novamente: Este status indica que o serviço não está disponível no momento. Isso pode sugerir que um arquivo está bloqueado ou que um servidor não pode aceitar mais conexões no momento. A ação padrão aqui também é "continue".

Um exemplo básico desse mecanismo pode ser como mostrado na seguinte ilustração. Ele usa a declaração "Ação":

Hosts: DNS [!UNAVAIL = Return] Arquivos
Redes: arquivos

Este exemplo usa um serviço DNS para resolução do host. O resolvedor retorna os dados consultados se o status de retorno não estiver "indisponível". Se o status de retorno não estiver disponível, o arquivo local /etc /hosts será usado pelo resolvedor.

Nota importante: O usuário deve se esforçar para melhorar o processo de pesquisa. Os tempos de resposta variam dependendo do serviço. Uma pesquisa básica de arquivo em um arquivo local pode ser rápida. No entanto, se o arquivo for longo e a entrada solicitada for no final, pode levar muito tempo. Nesse cenário, o serviço de banco de dados, que oferece acesso local rápido a conjuntos de big data, pode ser preferível.

Conclusão

Neste artigo, aprendemos sobre uma visão geral do NSSWitch.arquivo conf no linux. Ainda que /etc/nsswitch.conf Não existe, a implementação do NSS não é absolutamente impotente. Existe um valor padrão para cada banco de dados suportado. Portanto, mesmo que um arquivo esteja danificado ou ausente, o sistema normalmente deve ser capaz de funcionar.