O HOWTO do NIS(YP)/NYS/NIS+

Anterior

Próximo


8. O que é necessário para configurar o NIS+ ?

8.1. O software

O código cliente do NIS+ para Linux foi desenvolvido para a biblioteca GNU C 2. Existe também um port para libc5 do Linux, já que a maioria das aplicações comerciais utilizavam essa biblioteca no passado, e não é possível recompilá-la usando glibc. Existem problemas com libc5 e NIS+: programas estáticos não podem ser unidos (linkados) a esta, e programas compilados com esta bibliteca não funcionarão com outras versões do libc5.

Para começar a utilizar, é necessária uma distribuição baseada em glibc, como Debian, Red Hat Linux ou SuSE Linux. Caso possua uma distribuição que não tem glibc 2.1.1 ou posterior, é necessário migrar para uma versão mais nova.

O software cliente NIS+ pode ser obtido de:

  Site             Diretório                     Nome do arquivo

  ftp.gnu.org     /pub/gnu/glibc                 glibc-2.3.2.tar.gz,
                                                 glibc-linuxthreads-2.3.2.tar.gz
  ftp.kernel.org   /pub/linux/utils/net/NIS+     nis-utils-1.4.1.tar.gz

Também é interessante visitar o site http://www.linux-nis.org/nisplus/ para maiores informações e as versões mais recentes do código-fonte.

8.2. Configurando um cliente NIS+

IMPORTANTE: Para configurar um cliente NIS+ leia a documentação do NIS+ no Solaris para saber o que fazer no lado do servidor! Este documento aqui descreve apenas o que fazer no lado cliente.

Após instalar a nova libc e nis-tools, crie as credenciais para o novo cliente no servidor NIS+. Certifique-se de que portmap está rodando. Então verifique se máquina Linux tem a mesma hora/data que a do servidor NIS+. Para RPC seguro, existe apenas uma pequena janela de cerca de 3 minutos, na qual as credenciais são válidas. Uma boa idéia é executar xntpd em cáda máquina. Após isso, executar

domainname nisplus.domain.
nisinit -c -H <NIS+ server>

para abrir o arquivo de incialização. Leia a página do manual (man) do nisinit para maiores informações. Certifique-se que o domainname seja sempre setado após uma reinicialização. Caso não saiba qual o domínio NIS+ da sua rede, consulte o seu administrado de rede.

Agora deve-se modificar o arquivo /etc/nsswitch.conf. Certifique-se que o único serviço após publickey é nisplus ("publickey: nisplus"), e nada mais!

Então inicie keyserv e tenha certeza de que ele sempre será incializado imediatamente após portmap no momento da inicialização do sistema. Execute

keylogin -r

para armazenar a chave secreta raiz no seu sistema.(Espro que você tenha adicionado a chave pública para o novo host no servidor NIS+, certo?).

niscat passwd.org_dir deve agora mostrar todas as entradas na base de dados passwd.

8.3. NIS+, keylogin, login e PAM

Quando o usuário se loga no sistema, ele precisa setar sua chave secreta para o keyserv. Isto é feito chamando "keylogin". O login do pacote shadow fará isso para o usuário, caso tenha sido compilado usando glibc 2.1. Para um login usando PAM, é necessário modificar o arquivo /etc/pam.d/login para usar pam_unix2, e não pwdb, pois este não suporta NIS+. Por exemplo::

#%PAM-1.0
auth       required     /lib/security/pam_securetty.so
auth       required     /lib/security/pam_unix2.so       set_secrpc
auth       required     /lib/security/pam_nologin.so
account    required     /lib/security/pam_unix2.so
password   required     /lib/security/pam_unix2.so
session    required     /lib/security/pam_unix2.so

8.4. O arquivo nsswitch.conf

O arquivo Network Services switch (/etc/nsswitch.conf) determina a ordem de buscas realizadas quando determinada informação é requisitada, exatamente como o arquivo /etc/host.conf determina a forma como buscas de hosts são realizadas. Por exemplo, a linha

    hosts: files nisplus dns

Especifica que funções de busca de hosts devem primeiro procurar no arquivo local /etc/hosts, seguido por uma busca NIS+ e finalmente pelo servidor de nomes de domínio (/etc/resolv.conf e named), e que a partir de tal ponto, caso não seja encontrada a requisição correspondente, um erro é retornado.

Um bom arquivo /etc/nsswitch.conf para NIS+ é:

#
# /etc/nsswitch.conf
#
# Um exemplo de arquivo de configuração Name Service Switch. Este arquivo deve ser 
# ordenado de forma que os serviços mais utilizados fiquem no começo.
# 
# A entrada '[NOTFOUND=return]' significa que a busca por uma entrada deve parar
# se a busca na entrada anterior não retornou nada. Note que se a busca anterior falhar 
# por qualquer outra razão (como por exemplo, nenhum servidor NIS respondendo),
# então a busca continua com a próxima entrada.
#
# Entradas válidas são:
#
#       nisplus                 Use NIS+ (NIS versão 3)
#       nis                     Use NIS (NIS versão 2), também chamada YP
#       dns                     Use DNS (Domain Name Service)
#       files                   Use os arquivos locais
#       db                      Use os bancos de dados em /var/db
#       [NOTFOUND=return]       Pare de procurar caso não tenha encontrado até então.
#

passwd:     compat
group:      compat
shadow:     compat

passwd_compat: nisplus
group_compat:  nisplus
shadow_compat: nisplus

hosts:      nisplus files dns

services:   nisplus [NOTFOUND=return] files
networks:   nisplus [NOTFOUND=return] files
protocols:  nisplus [NOTFOUND=return] files
rpc:        nisplus [NOTFOUND=return] files
ethers:     nisplus [NOTFOUND=return] files
netmasks:   nisplus [NOTFOUND=return] files
netgroup:   nisplus
bootparams: nisplus [NOTFOUND=return] files
publickey:  nisplus
automount:  files
aliases:    nisplus [NOTFOUND=return] files

Anterior

Home

Próximo

Configurando o cliente NIS

 

Configurando o servidor NIS