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

Anterior

Próximo


11. Criando e atualizando mapas NIS

11.1. Criando novos mapas NIS

Os mapas NIS iniciais serão criados executando-se o comando

    % /usr/lib/yp/ypinit -m

Isto é feito quando se configura o servidor NIS mestre pela primeira vez. Para maiores informações, leia a Seção 9. Caso se necessite adicionar novos mapas ao servidor ou remover os antigos, é necessário editar o arquivo /var/yp/Makefile e modificar a regra all: . Adicione ou remova o nome da regra, a qual gera o mapa.

Caso um mapa seja apagado, também é necessário remover os arquivos correspondentes.

Após a alteração, apenas é necessário executar o comando

    % make -C /var/yp

e os mapas serão criados.

11.2. Atualizando mapas NIS

Caso os fontes dos mapas NIS sejam modificados (por exemplo se um novo usuário for criado adicionado-se sua conta no arquivo passwd), os mapas NIS devem ser gerados novamente. Isto é feito simplesmente executando-se

    % make -C /var/yp

Este comando checará quais fontes mudaram, criar os mapas e avisar o ypserv que os mapas mudaram.

11.3. Comprimento das entradas no mapa

O comprimento de uma entrada é limitado pelo protocolo NIS a 1024 caracteres. Não é possível simplesmente aumentar este valor e recompilar o sistema. Todo sistema que utilize NIS v2 espera que a chave e os valores dos dados não tenham mais de 1024 bytes de tamanho; Caso de repente se modifique o valor de YPMAXRECORD no cliente e no servidor, quebrar-se-á a interoperabilidade com todos os outros sistemas na rede que utilizem NIS. Para fazer funcionar, seria necessário ir a todos os fornecedores de software que suporta NIS e fazê-los realizar a mudança ao mesmo tempo. É pouco provável que isso aconteça.

Com glibc 2.1 e mais novas este limite foi removido da implementação NIS da glibc. Portanto, é possível no Linux utilizar entradas maiores, mas apenas caso não se possua outros servidores ou clientes NIS na mesma rede.

Para permitir a criação de mapas NIS com entradas maiores que 1024 caracteres, é necessário adicionar a opção --no-limit-check à chamada makedbm no arquivo /var/yp/Makefile.

O resultado deve ser algo assim:

DBLOAD = $(YPBINDIR)/makedbm -c -m `$(YPBINDIR)/yphelper --hostname` --no-limit-check

AVISO: Isto danifica o protocolo NIS e mesmo que o Linux o suporte, nem todas as aplicações que rodam sob Linux funcionam com esta mudança!

Há outra forma de resolver este problema para entradas do /etc/group. Esta idéia é de Ken Cameron:

1. Quebre a entrada em mais de uma linha e nomeie cada grupo levemente diferenteBreak the 

2. Mantenha o valor de GID o mesmo para todas.

3. Faça a primeira entrada com o grupo certo o nome e o GID.
   Eu não ponho nenhum nome de usuário neste.

O que acontece é que indo por nome de usupario você pega o GID quando o código o lê. Então indo ao contrário ele para ao encontrar a primeira ocorrência do GID e usa aquele nome. É horrível, mas funciona!

Anterior

Home

Próximo

Verificando a instalação NIS/NYS

 

Sobrevivendo ao reboot