Piter Punk's HomePage - Artigos
 
English version
Slackware NIS micro-HOWTO

Piter PUNK

Este texto tem como objetivo setar rapidamente um servidor NIS, não abordaremos detalhes de configuração nem de segurança. Para estes maiores detalhes, leia o NIS-HOWTO. Este arquivo foi escrito tendo como base o Slackware 9.1

1. O que é NIS?

O NIS foi criado pela SUN (que também criou o NFS) e é utilizado para compartilhar informações para a rede (tanto que a sigla NIS quer dizer Network Information Service). Apesar de poder enviar vários tipos de informação, normalmente é utilizado para compartilhar as senhas do servidor para várias máquinas clientes.

Nestes casos de compartilhamentos de senha, costuma ser interessante compartilhar também o /home dos usuários do servidor nas máquinas clientes, isso é conseguido utilizando o NFS que é abordado em outro artigo.

2. Servidor

2.1. Configurando o seu domínio NIS

A primeira coisa a fazer é decidir um nome para o seu domínio NIS, você pode escolher qualquer nome mas, de preferência, utilize um nome de domínio que não tenha nenhuma ligação direta com a sua rede (e muito menos com o domínio de internet dela).

Depois do nome escolhido, coloque este nome no arquivo /etc/defaultdomain

	# echo nome_que_vc_escolheu > /etc/defaultdomain

Assim, o nome do domínio estará já "pronto" para ser lido no próximo boot. Para continuar a configuração agora, execute o comando:

	# nisdomainname `cat /etc/defaultdomain`

O `cat /etc/defaultdomain` irá ler o nome do domínio que você colocou em /etc/defaultdomain. Você poderia também escrever ele diretamente ao invés de usar o cat.

Depois, entre no diretório /var/yp e lá edite o arquivo Makefile:

  • Onde está MERGE_PASSWD=true, coloque false
  • Onde está MERGE_GROUP=true, coloque false

Caso estes dois fiquem como "true", o arquivo shadow e o arquivo passwd seriam mesclados em um só arquivo passwd (o mesmo ocorrendo com o group e gshadow)

Após configurar o Makefile e o seu domínio NIS, é hora de acionar o servidor e criar os arquivos do domínio em si, ainda no estando no /var/yp digite:

	# ypserv
	# make

Pronto! Você é um feliz possuidor de um domínio NIS. Se você quiser, pode editar outros parâmetros dentro do Makefile. Não se preocupe se após o "make" houverem algumas mensagens de erro, apenas verifique se foi criado um diretório com o nome do seu domínio dentro do /var/yp.

É extremamente recomendável editar o /var/yp/securenets assim será possível exportar suas senhas apenas para as máquinas da sua rede local (e não para todo o planeta como indica o arquivo default).

2.2. Configurando o servidor em si

Para iniciar o seu servidor toda vez que a máquina for iniciada, precisamos primeiro tornar o arquivo /etc/rc.d/rc.yp executável, o que é conseguido com o comando:

	# chmod +x /etc/rc.d/rc.yp

Após torná-lo executável, vamos editar o arquivo para torná-lo nosso servidor. Primeiro, descomente as seguintes linhas:

	# if [ -r /etc/defaultdomain ]; then
	#   nisdomainname `cat /etc/defaultdomain`
	# fi

Isso irá fazer com que seja carregado o nome do nosso domínio NIS. Ainda no /etc/rc.d/rc.yp, descomente as linhas abaixo:

	# if [ -x /usr/sbin/ypserv ]; then
	#   echo "Starting NIS server:  /usr/sbin/ypserv"
	#   /usr/sbin/ypserv
	# fi

Estas linhas são responsáveis por iniciar o servidor. Vamos lembrar sempre que descomentar uma linha consiste em remover o # que está na frente dela.

Além destas, você poderia querer ativar o rpc.yppasswdd que é uma maneira de fazer com que seus usuários (utilizando o comando yppasswd, alterem as suas senhas na rede). Neste caso, deve descomentar estas linhas:

	# if [ -x /usr/sbin/rpc.yppasswdd ]; then
	#   echo "Starting NIS master password server:  /usr/sbin/rpc.yppasswdd"
	#   /usr/sbin/rpc.yppasswdd
	# fi

Uma última alteração a ser feita no servidor é no arquivo /usr/sbin/adduser, onde devemos acrescentar a seguinte linha:

( cd /var/yp ; make )

Assim, toda vez que você incluir um usuário no sistema, a base NIS será atualizada. E você não irá precisar refazer a base manualmente a cada boot.

3. Cliente

A parte mais difícil (o servidor) já foi feita, agora é apenas editar uns poucos arquivos no cliente. O primeiro deles é o /etc/defaultdomain, você deve colocar nele o mesmo nome que está no servidor. Se não está lembrando agora, é só fazer:

	# echo nome_que_vc_escolheu > /etc/defaultdomain

Logo em seguida, edite o /etc/rc.d/rc.yp e descomente as seguintes linhas:

	# if [ -r /etc/defaultdomain ]; then
	#   nisdomainname `cat /etc/defaultdomain`
	# fi

E, logo depois:

	# if [ -d /var/yp ]; then
	#   echo "Starting NIS services:  /usr/sbin/ypbind -broadcast"
	#   /usr/sbin/ypbind -broadcast
	# fi

Lembre que, após editar o /etc/rc.d/rc.yp, é interessante torná-lo executável. Isso é feito com o comando

	# chmod +x /etc/rc.d/rc.yp

Agora, devemos editar o /etc/nsswitch.conf. Você deve comentar as linhas:

	passwd:         compat
	group:          compat

E descomentar estas:

	# passwd:       files nis
	# shadow:       files nis
	# group:        files nis

Nunca é demais lembrar que para comentar basta colocar um # na frente da linha e para descomentar basta retirar esse #.

A última configuração que você precisa fazer é incluir um sinal de mais (+) no final de cada arquivo que você está enviando via NIS. Por exemplo, se você está enviando o arquivo /etc/passwd, faça no cliente:

	# echo + >> /etc/passwd

E assim sucessivamente para cada arquivo. Para compartilhar as senhas e grupos, os arquivos serão o /etc/passwd, /etc/shadow, /etc/group e /etc/gshadow

Se você quiser testar mas não estiver a fim de rebootar a máquina, digite:

	# /etc/rc.d/rc.yp
	# ypcat passwd

Irá aparecer a lista com os usuários exportados pelo servidor.

4. Informações

Para maiores informações, leia:

  • NIS-HOWTO
  • man ypserv
  • man ypbind
  • /usr/doc/yp*

Ou, em último caso, entre em contato comigo através do e-mail: piterpk@terra.com.br


Links Principal Artigos Piter Punk Dicas Programas
 
Powered by Slackware Linux - Written in VIm (the best one!) Last Update: 30 Oct 2004