Provided by: manpages-pt_20040726-4_all bug

NOME

       nsswitch.conf  -  Base de dados do sistema e arquivo de configuração para troca de serviço
       de nomes

DESCRIÇÃO

       Várias funções na Biblioteca C precisam ser configuradas para  trabalhar  corretamente  no
       ambiente  local.  Tradicionalmente,  este  modo se faz com o uso de arquivos (por exemplo,
       '/etc/passwd'), mas outros serviços de nomes (como o Serviço de Informação de Rede (NIS) e
       o  Serviço  de  Nome  de  Domínio  (DNS))  se  torna  popular, e estão em partes dentro da
       Biblioteca C, usualmente com um ordem de procura fixa.

       A libc5 do Linux com suporte a NYS e a Biblioteca GNU C 2.x (libc.so.6) contém uma solução
       clara  deste problema. Ela é desenhada em cima de um método usado pela Sun Microsystems na
       Biblioteca C do Solaris 2. Nós seguimos os nomes deles e chamamos este  esquema  de  "Name
       Service  Switch"  (NSS).  As  fontes  para  a  "databases"  e a ordem de procura deles são
       especificadas no arquivo /etc/nsswitch.conf .

       A base de dados seguinte está disponível no NSS:

       aliases
              aliases de correio eletrônico, usado pelo sendmail(8).  Atualmente ignorada.

       ethers Números da Ethernet.

       group  Grupos de usuários, usado pelas funções getgrent(3).

       hosts  Números e nomes das máquinas, usado por gethostbyname(3) e funções similares.

       netgroup
              Lista longa da rede de máquinas e usuários, usado para regras de acesso.  Bibliotes
              C antes da glibc 2.1 somente suportavam grupos de rede sobre NIS.

       network
              Número e nomes da rede, usado pelas funções getnetent(3).

       passwd Senha do usuários, usado pelas funções getpwent(3).

       protocols
              Protocolos de rede, usado pelas funções getprotoent(3).

       publickey
              Chaves públicas e privadas para Secure_RPC usado por NFS e NIS+.

       rpc    Número  se  nomes  para  processo  de  chamada  remota, usado por getrpcbyname(3) e
              funções similares.

       services
              Serviços de rede, usado pelas funções getservent(3).

       shadow Senha Shadow de usuários, usado por getspnam(3).

       Um exemplo, o arquivo  /etc/nsswitch.conf  pode  ser  visto  como  (Isto  é  o  padrão  se
       /etc/nsswitch.conf estiver faltando):

       passwd:         compat
       group:          compat
       shadow:         compat

       hosts:          dns [!UNAVAIL=return] files
       networks:       nis [NOTFOUND=return] files
       ethers:         nis [NOTFOUND=return] files
       protocols:      nis [NOTFOUND=return] files
       rpc:            nis [NOTFOUND=return] files
       services:       nis [NOTFOUND=return] files

       A primeira coluna é a base de dados como você pode supor a partir da tabela acima. O resto
       da linha especifica como o processo de visualização trabalha.  Você pode especifiar o modo
       de trabalho para cada base de dados individualmente.

       As  especificações  de  configuração  para  cada  base  de  dados  podem conter dois itens
       diferentes:
       * A especificação do serviço como 'files', 'db', ou 'nis'.
       * A reação na visualização do resultado como '[NOTFOUND=return]'.

       Para a libc5, as especificações de serviço permitidas são 'files', 'nis' e 'nisplus'. Para
       máquinas, você pode especificar 'dns' como um serviço extra, para passwd e group 'compat',
       mas não para shadow.

       Para glibc, você terá um arquivo chamado de /lib/libnss_SERVICE.so.X para todo SERVICE que
       você  estiver  usando.  Em  uma  instalação  padrão, você pode usar 'files', 'db', 'nis' e
       'nisplus'. Para máquinas, você pode especificar 'dns' como serviços extras,  para  passwd,
       group  e  shadow  'compat'.   Estes  serviços  não podem ser usados pela libc5 com NYS.  O
       número de versão X é 1 para glibc 2.0 e 2 para glibc 2.1.

       O segundo  item  na  especificação  concede  ao  usuário  controle  fino  no  processo  de
       visualização. Itens de ação são colocados entre dois nomes de serviço e são escritos entre
       parentesis. A forma geral é:

       onde

       STATUS => success | notfound | unavail | tryagain
       ACTION => return | continue

       O tipo de letras é insignificante. O valor STATUS é o resultado  de  uma  chamada  para  a
       função de visualização do serviço especificado. Eles significam:

       success
              Nenhum  erro  ocorreu  e a entrada procurada é devolvida. A ação padrão para isto é
              'return'.

       notfound
              O processo de visualização foi feito, mas o valor desejado não foi achado.  A  ação
              padrão para isto é 'continue'.

       unavail
              O serviço está indisponível permanentemente. Isto pode significar que o arquivo não
              está disponível, ou, para DNS, que o  servidor  não  esta  disponível  ou  que  não
              permite requisições. A ação padrão para isto é

       tryagain
              O  serviço  está  temporariamente  indisponível. Isto pode significar que um 'file'
              está travado ou que o servidor não acessa mais conexões atualmente.  A ação  padrão
              para isto é 'continue'.

   Interação com a sintaxe +/- (modo de compatibilidade)
       A  Biblioteca do Linux libc5 sem o suporte a NYS não tem o seletor de nome de serviço, mas
       pode permitir ao usuário muitas politícas  de  controle.  Em  /etc/passwd  você  pode  ter
       entradas  da  forma +user ou +@netgroup (inclui o usuário especificado a partir do mapa de
       passwd do NIS), -user ou -@netgroup (retira o  usuário  especificado)  e  +  (incluí  todo
       usuário,  exceto  os  excluídos,  a partir do mapa de passwd do NIS). Então muitas pessoas
       somente colocam um + no final de /etc/passwd para incluir tudo a partir do NIS, a  seleção
       forneçe  uma  alternativa  rápida para este caso ('passwd: files nis') o qual não requer a
       simples entrada + em /etc/passwd, /etc/group e /etc/shadow.  Se isto não é  suficiente,  o
       serviço  NSS  'compat' fornece a semântica completa +/-. Por padrão, a origem é 'nis', mas
       isto pode ser sobreposto especificando o  'nisplus' como origem para as  falsas  bases  de
       dados  passwd_compat, group_compat e shadow_compat.  Esta falsa base de dados somente está
       disponível na Biblioteca GNU C.

ARQUIVOS

       Um serviço nomeado  de  SERVICE  é  implementado  por  um  objeto  biblioteca  nomeada,  e
       compatilhada, libnss_SERVICE.so.X que fica no diretório /lib.

       O arquivo de configuração
                                /etc/nsswitch.conf
       /lib/libnss_compat.so.X  implementa a fonte 'compat' para glibc2
       /lib/libnss_db.so.X      implementa a fonte 'db' para glibc2
       /lib/libnss_dns.so.X     implementa a fonte 'dns' para glibc2
       /lib/libnss_files.so.X   implementa a fonte 'files' para glibc2
       /lib/libnss_hesoid.so.X  implementa a fonte 'hesoid' para glibc2
       /lib/libnss_nis.so.X     implementa a fonte 'nis' para glibc2
       /lib/libnss_nisplus.so.2 implementa a fonte 'nisplus' para glibc 2.1

NOTAS

       Dentro  de  cada processo que use nsswitch.conf, o arquivo inteiro é lido somente uma vez;
       se o arquivo é alterado  posteriormente,  o  processo  irá  continuar  usando  as  antigas
       configurações.
       Com  o  Solaris,  não é possivel ligar programas estaticamente usando o serviço NSS. Com o
       Linux, isto não é problema.

TRADUZIDO POR LDP-BR em 21/08/2000.

       André L. Fassone Canova <lonelywolf@techno.com.br>  (tradução)  Roberto  Selbach  Teixeira
       <robteix@zaz.com.br> (revisão)