|
|
por Frédéric Raynal <pappy(at)users.sourceforge.net> Sobre o autor: Frederic Raynal prepara uma tese em informática no INRIA. Ele gosta também ler (tanto Tolkien como Balzac) e ouvir musica (de Mozart a Philip Glass e de Led Zeppelin a Massive Attack passando por Björk e Boris Vian, mas evitando cautelosamente o rap, a techno e outros ruídos ;-) Traduzido para Português por: Patrick Carpalhoso <carpalhoso(at)mail.telepac.pt> Conteúdo: |
Abstrato:
O artigo anterior era uma introdução aos conceitos girando a volta das yellow pages (YPs). Neste artigos iramos ver como configurar o cliente, um exemplo pratico de funcionamento do cliente e uma apresentação das diferentes ferramentas que vem juntas. Por fim, veremos um pouco o NIS+
O lado cliente dos serviços ligados as yellow pages é baseado essencialmente sobre o demónio ypbind : ele emite os pedidos para o servidor das YPs. Em primeiro veremos ao pormenor o seu funcionamento e explicaremos como configura-lo. Depois veremos também como funciona o protocolo NIS. E na ultima parte deste artigo mostrara as diferentes ferramentas presentes no lado do cliente das YPs (as yp-tools).
ypbind estabelece uma ligação entre o cliente e o servidor NIS (to bind significa, entre outra coisa, ligar ou atar em inglês). Essa ligação é visível na directoria /var/yp/binding1 pelo o ficheiro convencional chamado domainname.version. A única versão actualmente suportada é a versão 2. Então se o nome do meu domínio NIS é "messie", o ficheiro sera messie.2
O programa ypbind pertence ao super-utilizador (i.e. root), ele deve de estar então no /sbin, ou no /usr/sbin.
Quando é executado, ypbind vai buscar as suas instruções no ficheiro /etc/yp.conf. As entradas nesse ficheiro são :
Se esse ficheiro de configuração esta incorrecto ou não existe, ypbind broadcast2 sobre toda a rede local a pesquisa de um servidor NIS para o domínio local.
Algumas operações básicas permitam de verificar que ypbind esta correctamente configurado.
program | vers | proto | port | |
100000 | 2 | tcp | 111 | portmapper |
100000 | 2 | udp | 111 | portmapper |
100007 | 2 | tcp | 637 | ypbind |
100007 | 2 | udp | 639 | ypbind |
program | vers | proto | port | |
100000 | 2 | tcp | 111 | portmapper |
100000 | 2 | udp | 111 | portmapper |
100007 | 2 | udp | 758 | ypbind |
100007 | 1 | udp | 758 | ypbind |
100007 | 2 | tcp | 761 | ypbind |
100007 | 1 | tcp | 761 | ypbind |
program 100007 version 2 ready and waiting |
program 100007 version 1 ready and waiting |
program 100007 version 2 ready and waiting |
nisplus | pesquisar via NIS+ (i.e. NIS versão 3, uma versão segura de NIS) |
nis | pesquisa via NIS (NIS version 2, alias as YPs |
dns | pesquisa via um DNS (Domain Name Server) |
files | pesquisar nos ficheiros locais |
db | pesquisar na base /var/db |
Agora que o nosso cliente NIS esta completamente operacional, vamos ver como ele faz para recuperar as informações que ele necessita.
Quando um cliente necessita uma informação numa map das YPs, ele começa por pesquisar no servidor YP. Para o encontrar, ele abre uma conexão TCP para o ypbind local. O cliente informe-o do domínio (falamos aqui do domínio NIS) onde ele pertence ypbind broadcast via a função RPC YPPROC_DOMAIN_NOACK. Os servidores NIS que servem esse domínio respondem com um ACK, os outros fazem de orelhas surdas.
ypbind reenvia ao cliente o resultado da pesquisa (falhanço ou sucesso) e, se ele a tiver, o endereço do primeiro servidor YP que lhe respondeu. O cliente pode agora fazer o pedido a esse servidor, composto do domínio, da map e da chave.
Esse protocolo é relativamente lente porque ele utiliza as conexões RCP. Ainda mais, ele
utiliza também muitas sockets. Para evitar essa situação, ypbind não espera que o cliente o contacta
para encontrar os servidores. Na realidade ele guarda no ficheiro
/var/yp/binding/
Esta secção apresenta muito rapidamente algumas ferramentas do package yp-tools. Para saber mais, cada uma das instruções dispõem de uma página man muita detalhada ;-P
Ao longo deste artigo, em nenhum momento abordamos uma variante de NIS, a saber NIS+. Numa rede, NIS causa enormes problemas em termo de segurança. Por exemplo, se o servidor NIS esta mal protegido e que uma pessoa mal intencionada descobre :
NIS+ ofereça uma camada suplementar de segurança integrando um protocolo de autentificação baseado sobre uma troca de chaves e suportando a numeração dos dados.
Os dados são armazenados em tabelas, que são por elas colocadas em directorias diferentes. Cada coluna de uma tabela dispõem de um qualificativo definindo, por exemplo, se os dados são "case sensitive", em formato binário, etc ...
A estrutura descrita permita simplesmente gerir os direitos de acceso sobre as directorias e as tabelas, mas também sobre as colunas das tabelas. Isso implica que podemos proibir o acesso a tabelas das palavras-chaves a todos os utilizadores que não são autenticados no servidor NIS+, mas autorizar a todos os utilizadores certificados a aceder a toda a tabela das palavras-chaves, excepto os campos "passwd". Só o proprietário do campo "passwd" podera vê-lo.
Existem 4 niveis de direitos :
Nessa configuração, root é um utilizador como os outros ... enfim, quase ;-) Se ele não tiver as permissões adequadas, ele não pode mais ver as palavras-chaves dos outros utilizadores. Ele não poderá mais se autentificar como um outro utilizador ... mas, ele poderá sempre fazer descansadamente um su :)
Os dados que transitam pela a rede não serão cryptados, a exepção das palavras-chaves : nenhuma palavra-chave transita em claro sobre a rede.
NIS+ é uma ferramenta potente ... mas complicado a implementar. Como
Thorsten Kuduk (ele trabalha sobre NIS, NIS+, NIS-HOWTO ... enfim, uma pessoa
que sabe do que se trata ;-) escreve :
"A escolhe emtre NIS e NIS+ é
fácil de fazer : utiliza NIS quando não tem necessidade de segurança importante.
NIS+ é bem mas problemático a administrar (particularmente do lado do servidor)"
Agora sabemos como inserir uma nova maquina numa rede existente e tendo um servidor NIS. Veremos, no próximo episódio, como configurar o servidor e o seu funcionamento.
|
Páginas Web mantidas pelo time de Editores LinuxFocus
© Frédéric Raynal, FDL LinuxFocus.org Clique aqui para reportar uma falha ou para enviar um comentário para LinuxFocus |
Informação sobre tradução:
|
2001-10-20, generated by lfparser version 2.18