Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior | |||
espec:man-nsswitch.conf [2008/06/19 16:41] maziero |
espec:man-nsswitch.conf [2008/07/14 20:18] (atual) maziero |
||
---|---|---|---|
Linha 1: | Linha 1: | ||
+ | <code> | ||
+ | NSSWITCH.CONF(5) Manual do Programador Linux NSSWITCH.CONF(5) | ||
+ | |||
+ | 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 Bib- | ||
+ | lioteca 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). Atual- | ||
+ | mente 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 gru- | ||
+ | pos 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 getr- | ||
+ | pcbyname(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 visual- | ||
+ | izaçã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._ | ||
+ | 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 _ é 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 sig- | ||
+ | nificar 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 sig- | ||
+ | nificar 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 cont- | ||
+ | role. Em /etc/passwd você pode ter entradas da forma +user ou +@net- | ||
+ | group (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 especifi- | ||
+ | cando 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._ que fica no diretório | ||
+ | ____. | ||
+ | |||
+ | O arquivo de configuração | ||
+ | /etc/nsswitch.conf | ||
+ | /lib/libnss_compat.so._ implementa a fonte 'compat' para glibc2 | ||
+ | /lib/libnss_db.so._ implementa a fonte 'db' para glibc2 | ||
+ | /lib/libnss_dns.so._ implementa a fonte 'dns' para glibc2 | ||
+ | /lib/libnss_files.so._ implementa a fonte 'files' para glibc2 | ||
+ | /lib/libnss_hesoid.so._ implementa a fonte 'hesoid' para glibc2 | ||
+ | /lib/libnss_nis.so._ 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) | ||
+ | |||
+ | |||
+ | |||
+ | Linux 17/01/1999 NSSWITCH.CONF(5) | ||
+ | </code> | ||
+ | |||
+ | Página gerada usando o seguinte comando: | ||
+ | |||
+ | man -Tlatin1 nsswitch.conf | iconv -f latin1 -t utf-8 | \ | ||
+ | sed 's/.\x08//g' | iconv -f utf-8 -t latin1 > manpage.txt | ||