Unidade G - Servidores de autenticação: NIS

G.6. Instalando e Configurando o Servidor e clientes NIS no Debian/Linux

Para configurar este serviço é necessário que o pacote do NIS seja instalado tanto no servidor quanto nos clientes da rede local. Nas distribuições Debian/Linux deve-se utilizar o comando:

#apt-get install nis

Logo após a execução do comando, será exibida uma tela (Figura G6.1.1) na qual será solicita-se que seja informado o nome domínio NIS no campo correspondente (ifsul no nosso exemplo). Este nome ficará armazenado no arquivo /etc/defaultdomaine pode ser alterado posteriormente se necessário.

Ao final deste processo, o script de instalação tentará iniciar o serviço, porém, como não há um servidor configurado na rede será exibida mensagem de erro apresentada da figura G6.1.2:

Não se preocupe, após a configurarmos o servidor NIS esse erro não aparecerá mais. Após o processo de instalação devemos ajustar os arquivos de configuração do servidor e dos clientes de rede. Para melhor uma melhor compreensão, descreveremos este processo em dois capítulos distintos que serão apresentados na sequência.

Servidor NIS

Para configurarmos o servidor NIS é necessário realizar alguns ajustes nos arquivos de configuração do serviço e também do sistema operacional. O primeiro ajuste deve ser realizado no arquivo /etc/hosts no qual se deve adicionar o registro do próprio servidor no domínio NIS. Supondo que o servidor esteja configurado com o endereço IP 192.168.1.10, teríamos a inclusão da seguinte linha ao final arquivo:

192.168.1.10     servidor.ifsul    servidor

Deve-se informar nesse registro o endereço IP do servidor seguido do nome deste no domínio NIS (hostname + nome do domínio NIS) e seu hostname (o mesmo declarado no arquivo /etc/hostname). Na documentação oficial do sobre o NIS recomenda-se que também sejam adicionadas entradas neste arquivo para os demais clientes de rede.

Outro arquivo do sistema também deve ser configurado: /etc/networks. Nesse é necessário informar o nome do domínio NIS adicionando a seguinte linha ao final do arquivo:

NISDOMAIN=ifsul

As demais configurações deverão ser realizada nos arquivos de configuração do NIS.O primeiro é o /etc/ypserv.conf. É necessário editar esse arquivo e inserir as seguintes linhas ao final:

dns:no
files:30

Estas instruções respectivamente informam que o servidor NIS não deverá consultar informações sobre registros em servidores DNS e especificam um para o armazenamento em cache dos mesmos. 

No arquivo de configuração principal (/etc/yp.conf) é necessário indicar o servidor NIS adicionando a seguinte linha ao final do mesmo:

domain ifsul servidor.ifsul 192.168.1.10

Também é necessário ajustar o arquivo /etc/securenets. Este arquivo é responsável por configurar para quais sub-redes o serviço do NIS estará disponível. Por padrão este serviço está disponível para todas as redes segundo a especificação das seguintes linhas encontradas no final do arquivo:

# This line gives access to everybody. PLEASE ADJUST!
 0.0.0.0           0.0.0.0

Para que o serviço fique disponível apenas para a rede local, deve-se especificar configurações de endereçamento de sua rede, informando a máscara e a faixa de endereços da rede local. Veja o exemplo:

# This line gives access to everybody. PLEASE ADJUST!
  255.255.255.0           192.168.1.0

Edite o arquivo /var/yp/Makefile e confira se as instruções a seguir estão configuradas corretamente:

MERGE_PASSWD=false
MERGE_GROUP=false

Por fim, é necessário editar arquivo /etc/default/nis e informar ao NIS que a máquina que está sendo configurada é um servidor. Para tanto altere as seguintes linhas:

NISSERVER= false
NISCLIENT= true

para:

NISSERVER=true
NISCLIENT=false

Deve-se então reiniciar o serviço e habilitar o servidor NIS:

# invoke-rc.d nis restart

Assim como os demais serviços podemos gerenciar o NIS através dos comandos invoke-rc.d nis start/ stop/ restart. Uma última configuração é necessária: deve-se adicionar o servidor configurado à lista de servidores NIS da rede. Para tanto, deve-se executar o comando:

#/usr/lib/yp/ypinit  -m

Deverá ser exibida uma mensagem informando que o servidor foi corretamente inserido na lista (Figura G6.1.1.1). Para encerrar o aplicativo, deve-se digitar Ctrl+D.

Este procedimento encerra a configuração do servidor NIS, entretanto ainda é necessário configurar o NFS. Associando o serviço do NIS ao NFS podemos compartilhar e mapear nos clientes de rede o diretório home das contas de usuários nas estações de trabalho nas quais esses realizam sua autenticação. Para tanto, inicialmente, devemos instalar o servidor NFS na mesma máquina em que já configuramos o servidor NIS. Somente relembrando, para fazê-lo no Debian utilizamos o comando:

#apt-get install nfs-kernel-server

Logo após, vamos adicionar o diretório home entre os sistemas de arquivos compartilhados do servidor no arquivo /etc/exports:

/home  192.168.10.0/24(rw,no_root_squash, sync, no_subtree-check)

Após salvar as alterações no arquivo de configuração devemos exportar os sistemas de arquivos compartilhados e podemos fazê-lo através do comando:

#exportfs -a

Após esse procedimento, nosso servidor já está pronto, agora devemos configurar os clientes de rede.

Configuração do cliente NIS

O processo de configuração do cliente é semelhante ao do servidor. Inicialmente recomenda-se que seja adicionada uma entrada no arquivo /etc/hosts informando o endereço do servidor NIS e do próprio cliente de rede:

192.168.1.10     servidor.ifsul    servidor
192.168.1.20     cliente.ifsul    cliente

Assim como no processo anterior, deve-se editar o arquivo /etc/yp.conf e indicar o servidor NIS, adicionando a seguinte linha ao final do mesmo:

domain ifsul servidor.ifsul 192.168.1.10

No arquivo /etc/networks do cliente também é necessário informar o nome do domínio NIS:

NISDOMAIN=ifsul

É necessário verificar no arquivo /var/yp/Makefile se as seguintes linhas estão configuradas corretamente:

MERGE_PASSWD=false
MERGE_GROUP=false

Até aqui apenas repetimos etapas já realizadas no servidor NIS. Agora veremos duas configurações específicas que devem ser realizadas nos clientes de rede. Primeiramente, devemos configurar o arquivo Network Services Switch localizado em /etc/nsswitch.conf responsável por determinar como serão realizadas a busca pelas informações armazenadas no servidor NIS. É necessário editar o arquivo:

#gedit  /etc/nsswitch.conf

E alterar as seguintes instruções:

passwd:         compat
group:            compat
shadow:         compat
netgroup:       nis 
para:
passwd:         files nis
group:            files nis
shadow:        files nis
netgroup:       nis  db files

Finalmente, deve-se editar o arquivo /etc/default/nis informar ao NIS que estamos configurando um cliente, ajustando as seguintes instruções:

NISSERVER= false
NISCLIENT= true

Após a realização desses ajustes basta reiniciar o serviço NIS no cliente de rede:

# invoke-rc.d nis restart

Ao reiniciar o cliente você verificará que já é possível autenticar-se, utilizando contas cadastradas exclusivamente no servidor NIS, entretanto, você irá verificar que, o após a autenticação, o Gnome retornará uma série de mensagens de erro informando que não foi possível localizar o diretório home do usuário remoto (Figura G6.1.2.1).

Para contornar esse problema é necessário montar a partição remota /home que exportamos através de NFS no servidor. A melhor opção é automatizar o processo de montagem do sistema de arquivos remotos declarando-o no fstab. Para tanto, devemos inicialmente editá-lo:

#gedit /etc/fstab

E adicionar a seguinte linha no início desse arquivo:

192.168.1.10:/home   /home    nfs    auto,users,exec    0    0

Após reiniciar o cliente de rede você verá que, além de resolver os erros do Gnome, este recurso permitiu mapear remotamente o diretório /home, permitindo que os usuários da rede tenham acesso aos seus arquivos pessoais em qualquer estação de rede. Após este último ajuste, o cliente NIS já estará pronto para fazer parte do domínio do controlado pelo servidor NIS.

Um detalhe interessante é que o processo de configuração do cliente independe da versão do serviço instalado no servidor. Realizamos testes com clientes que utilizavam as versões 5 e 6 do Debian com diferentes versões do pacote NIS instalado e todos realizaram corretamente o processo de autenticação e compartilhamento de diretórios.

 

 

Para sabe mais sobre o processo de configuração de servidores e clientes NIS no Debian acesse: http://lyre.mit.edu/~powell/debian-howto/nis.html