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)
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