.\" -*- nroff -*- .\" Copyright (c) 1998, 1999 Thorsten Kukuk (kukuk@vt.uni-paderborn.de) .\" .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. .\" .\" The GNU General Public License's references to "object code" .\" and "executables" are to be interpreted as the output of any .\" document formatting or typesetting system, including .\" intermediate and printed output. .\" .\" This manual is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public .\" License along with this manual; if not, write to the Free .\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, .\" USA. .\" .\" This manual page based on the GNU C Library info pages. .\" .TH NSSWITCH.CONF 5 "17/01/1999" "Linux" "Manual do Programador Linux" .SH NOME nsswitch.conf \- Base de dados do sistema e arquivo de configuração para troca de serviço de nomes .SH 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. .LP 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 .B /etc/nsswitch.conf . .LP A base de dados seguinte está disponível no NSS: .TP .B aliases aliases de correio eletrônico, usado pelo .BR sendmail (8). Atualmente ignorada. .TP .B ethers Números da Ethernet. .TP .B group Grupos de usuários, usado pelas funções .BR getgrent (3) . .TP .B hosts Números e nomes das máquinas, usado por .BR gethostbyname (3) e funções similares. .TP .B 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. .TP .B network Número e nomes da rede, usado pelas funções .BR getnetent (3) . .TP .B passwd Senha do usuários, usado pelas funções .BR getpwent (3) . .TP .B protocols Protocolos de rede, usado pelas funções .BR getprotoent (3) . .TP .B publickey Chaves públicas e privadas para Secure_RPC usado por NFS e NIS+. .TP .B rpc Número se nomes para processo de chamada remota, usado por .BR getrpcbyname (3) e funções similares. .TP .B services Serviços de rede, usado pelas funções .BR getservent (3) . .TP .B shadow Senha Shadow de usuários, usado por .BR getspnam (3) . .LP Um exemplo, o arquivo .B /etc/nsswitch.conf pode ser visto como (Isto é o padrão se .B /etc/nsswitch.conf estiver faltando): .sp 1n .PD 0 .TP 16 passwd: compat .TP group: compat .TP shadow: compat .sp 1n .TP hosts: dns [!UNAVAIL=return] files .TP networks: nis [NOTFOUND=return] files .TP ethers: nis [NOTFOUND=return] files .TP protocols: nis [NOTFOUND=return] files .TP rpc: nis [NOTFOUND=return] files .TP services: nis [NOTFOUND=return] files .PD .LP 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. .LP As especificações de configuração para cada base de dados podem conter dois itens diferentes: .PD 0 .TP * A especificação do serviço como 'files', 'db', ou 'nis'. .TP * A reação na visualização do resultado como '[NOTFOUND=return]'. .PD .LP 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. .LP Para glibc, você terá um arquivo chamado de .BI /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 .I X é 1 para glibc 2.0 e 2 para glibc 2.1. .LP 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 é: .LP '[' ( '!'? STATUS '=' ACTION )+ ']' .LP onde .sp 1n .PD 0 .TP STATUS => success | notfound | unavail | tryagain .TP ACTION => return | continue .PD .LP 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: .TP .B success Nenhum erro ocorreu e a entrada procurada é devolvida. A ação padrão para isto é 'return'. .TP .B notfound O processo de visualização foi feito, mas o valor desejado não foi achado. A ação padrão para isto é 'continue'. .TP .B 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 é 'continue'. .TP .B 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'. .LP .SS 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 .B /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 .B /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 .BR /etc/passwd , .B /etc/group e .BR /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 .BR passwd_compat, .B group_compat e .BR shadow_compat. Esta falsa base de dados somente está disponível na Biblioteca GNU C. .SH ARQUIVOS Um serviço nomeado de SERVICE é implementado por um objeto biblioteca nomeada, e compatilhada, .BI libnss_SERVICE.so. X que fica no diretório .IR /lib . .TP 25 .PD 0 O arquivo de configuração .B /etc/nsswitch.conf .TP .BI /lib/libnss_compat.so. X implementa a fonte 'compat' para glibc2 .TP .BI /lib/libnss_db.so. X implementa a fonte 'db' para glibc2 .TP .BI /lib/libnss_dns.so. X implementa a fonte 'dns' para glibc2 .TP .BI /lib/libnss_files.so. X implementa a fonte 'files' para glibc2 .TP .BI /lib/libnss_hesoid.so. X implementa a fonte 'hesoid' para glibc2 .TP .BI /lib/libnss_nis.so. X implementa a fonte 'nis' para glibc2 .TP .B /lib/libnss_nisplus.so.2 implementa a fonte 'nisplus' para glibc 2.1 .SH NOTAS Dentro de cada processo que use .BR nsswitch.conf , o arquivo inteiro é lido somente uma vez; se o arquivo é alterado posteriormente, o processo irá continuar usando as antigas configurações. .LP Com o Solaris, não é possivel ligar programas estaticamente usando o serviço NSS. Com o Linux, isto não é problema. .SH TRADUZIDO POR LDP-BR em 21/08/2000. \&\fR\&\f(CWAndré L. Fassone Canova (tradução)\fR \&\fR\&\f(CWRoberto Selbach Teixeira (revisão)\fR