/etc/ethers
Como voce pode ver o uso do NIS pode simplificar muito a sua vida...
A instalacao do NIS no FreeBSD eh muito simples e nao leva mais de 10 minutos :-).
Antes de iniciarmos a configuracao vamos fazer as seguintes consideracoes,
para facilitar as explicacoes posteriores:
a) Nosso nome de dominio eh unixbrasil.com.br.
b) E estamos trabalhando em uma rede local com 4 maquinas:
| Hostname | IP |
| pinga.unixbrasil.com.br | 192.10.1.1 |
| vodka.unisbarsil.com.br | 192.10.1.2 |
| whisk.unixbrasil.com.br | 192.10.1.3 |
| tequila.unixbrasil.com.br | 192.10.1.4 |
A netmask utilizada eh 255.255.255.0.
c) A maquina pinga.unixbrasil.com.br sera o servidor NIS e as demais serao
clientes.
Agora ja podemos continuar ;-)
Configuracao de um Servidor NIS
1) Inicialmente voce devera editar o arquivo /etc/rc.conf, da maquina
que vai atuar como servidor e alterar as linhas:
nisdomainname="NO" # Set to NIS domain if using NIS (or NO).
nis_server_enable="NO" # We're an NIS server (or NO).
nis_yppasswdd_enable="NO" # Run rpc.yppasswdd at boot time (or NO).
Para:
nisdomainname="unixbrasil.com.br" # Set to NIS domain if using NIS (or NO).
nis_server_enable="YES" # We're an NIS server (or NO).
nis_yppasswdd_enable="YES" # Run rpc.yppasswdd at boot time (or NO).
Lembre-se de colocar o seu dominio na variavel "nisdomainname" ;-)
Salve o arquivo.
2) Agora crie o arquivo /etc/ypservers, contendo o hostname completo
do seu servidor FreeBSD. No nosso exemplo o conteudo deste arquivo seria:
pinga.unixbrasil.com.br
3) Va ao diretorio /var/yp e gere o arquivo Makefile apartir do Makefile.dist
, necessario para a instalacao do NIS. Para isso execute o comando:
# cp Makefile.dist Makefile
4) Agora voce devera editar o arquivo /var/yp/Makefile e alterar as linhas:
NETGROUP = $(YPDIR)/netgroup
PASSWD = $(YPDIR)/passwd
MASTER = $(YPDIR)/master.passwd
YPSERVERS = $(YPDIR)/ypservers
Para:
NETGROUP = $(YPSRCDIR)/netgroup
PASSWD = $(YPSRCDIR)/passwd
MASTER = $(YPSRCDIR)/master.passwd
YPSERVERS = $(YPSRCDIR)/ypservers
5) Agora execute o comando domainname seu_dominio.com.br, no nosso exemplo
a sintaxe seria:
# domainname unixbrasil.com.br
6) Agora so falta gerar o banco de dados que sera usado pelo NIS, para isso
execute o seguinte comando, dentro do diretorio /var/yp:
# make
Apos o termino da execucao do comando, voce vai verificar que foi criado
o diretorio /var/yp/seu.dominio.com.br, no nosso exemplo
foi criado o diretorio /var/yp/unixbrasil.com.br
dentro do diretorio criado voce vai encontar os arquivos:
ethers.byname, ethers.byaddr, bootparams, hosts.byname, hosts.byaddr,
networks.byaddr, networks.byname, protocols.bynumber, protocols.byname,
rpc.byname, rpc.bynumber, services.byname, passwd.byname, passwd.byuid,
group.byname, group.bygid, netgroup, netid.byname, ypservers, publickey.byname,
mail.aliases, master.passwd.byname, master.passwd.byuid.
7) Uma vez gerado o banco de dados voce devera gerar o arquivo
/var/yp/securenets, eh atraves deste arquivo que voce configura quais hosts
terao acesso ao servidor NIS. Os hosts que nao estiverem listados nesse arquivo
nao terao acesso ao servidor. No nosso exemplo este arquivo ficaria da seguinte maneira:
# A linha abaixo eh obrigatoria
127.0.0.1 255.255.255.255
# IP dos Clientes e sua Netmask
192.10.1.2 255.255.255.255
192.10.1.3 255.255.255.255
192.10.1.4 255.255.255.255
# Caso voce prefira a entrada:
# 192.10.1.0 255.255.255.0
# Vai habilitar qualquer cliente da
# rede 192.10.1.0 a acessar seu servidor
Uma vez gerado este arquivo seu servidor esta pronto para ser colocado em funcionamento.
Para isso efetue um shutdown em seu servidor:
# shutdown -r +0
Apos o boot do servidor, teste se o seu servidor NIS esta funcionando
corretamente, para isso utilize o comando ypcat, como por exemplo:
# ypcat hosts
Se seu servidor estiver funcionando a saida do comando acima devera ser
algo do tipo:
127.0.0.1 localhost localhost.unixbrasil.com.br
192.10.1.1 pinga pinga.unixbrasil.com.br
192.10.1.2 vodka vodka.unixbrasil.com.br
192.10.1.3 whisk whisk.unixbrasil.com.br
192.10.1.4 tequila tequila.unixbrasil.com.br
Configuracao de um Cliente NIS
1) Inicialmente voce devera editar o arquivo /etc/rc.conf, da maquina
que vai atuar como cliente NIS e alterar as linhas:
nisdomainname="NO" # Set to NIS domain if using NIS (or NO).
nis_client_enable="NO" # We're an NIS client (or NO).
Para:
nisdomainname="unixbrasil.com.br" # Set to NIS domain if using NIS (or NO).
nis_client_enable="YES" # We're an NIS client (or NO).
Lembre-se de colocar o seu dominio na variavel "nisdomainname" ;-)
Salve o arquivo.
2) Para fazer com que sua maquina utilize o /etc/group compartilhado pelo
servidor NIS, voce devera editar o arquivo /etc/group dela,
e inserir a seguinte linha no inicio do arquivo:
+:::
De modo que seu arquivo /etc/group fique parecido com o exemplo mostrado abaixo:
+:::
wheel:*:0:root
daemon:*:1:daemon
kmem:*:2:root
...
...
...
nogroup:*:65533:
nobody:*:65534:
Apos inserir a linha, salve o arquivo.
3) Para fazer com que sua maquina utilize o /etc/passwd (e o master.passwd)
compartilhado pelo servidor NIS, voce devera
utilizar o programa vipw para alterar seu arquivo /etc/passwd.
Quando voce executar o vipw, o FreeBSD vai abrir o seu arquivo /etc/master.passwd
no editor que estiver setado como editor default para o root
( ate o FreeBSD 2.2.2 o editor default da conta do root era o vi e apartir do 2.2.5 eh o ee),
quando isso ocorrer, voce devera inserir a seguinte linha no inicio do
arquivo:
+:::::::::
De modo que seu master.passwd fique parecido com:
+:::::::::
root:Minha_senha_criptografada:0:0::0:0:Charlie &:/root:/bin/csh
toor:*:0:0::0:0:Bourne-again Superuser:/root:
...
...
...
nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/nonexistent
Apos inserir a linha, salve o arquivo e tanto o seu /etc/master.passwd quanto o seu /etc/passwd
estaro atualizados. Vale lembrar que voce nao deve editar diretamente os arquivos
/etc/master.passwd e /etc/passwd usando o vi ou o ee, pois nao ira funcionar.
Portanto use o vipw, para faze-lo!
4) Para usar o /etc/hosts compartilhado pelo servidor NIS, basta colocar um + na primeira linha
do arquivo /etc/hosts de sua maquina cliente. O mesmo se aplica aos demais arquivos possiveis de se compartilhar pelo NIS.
5) Apos modificar os arquivos, execute um shutdown para efetivar as mudancas:
# shutdown -r +0
Se voce nao quiser dar um boot, execute os comandos abaixo que voce vai obter os mesmos
resultados ;-)
# domainname unixbrasil.com.br
# ypbind
Caso voce precise de maiores informacoes, consulte: ypbind, ypserv, ypcat nas manpages do FreeBSD.
Boa Sorte !!!