Antes de abordar as configurações necessárias para se implementar um servidor NIS em conjunto com o NFS, precisamos saber o básico
destes dois serviços, que juntos, podem fazer até milagres em uma rede Cliente/Servidor com
Linux.
Pois bem, vamos começar pelos NIS, e logo após, seguiremos com o NFS.
NIS
- Network Information Service
Segundo o livro: Administração de Redes Linux, de João Paulo de Lima, o NIS tem como finalidade, a centralização da Administração dos
Serviços em um Servidor cujo nome seria servidor NIS.
Pois bem, esta é a explicação base do NIS como um todo, ou seja, o que ele faz de uma maneira bem resumida; pois o NIS baseando-se
nesta função, pode desempenhar varias outras funções.
No nosso caso, por exemplo, o NIS atuará autenticando os usuários da Rede, sua função mais relevante. Já que falei sobre a função que
o nosso NIS vai fazer, vou falar mais sobre ela, afinal, como já disse, o NIS é mais utilizado fazendo a autenticação remota de usuários.
Primeiramente, o NIS foi adotado para se fazer essa função devido à necessidade dos administradores de redes Linux, ter um Servidor
para gerenciar e guardar as contas dos usuários junto com as configurações feitas por eles.
Isto oferecia um maior controle sobre elas e também facilitaria bastante a vida dos usuários, que com o NIS precisaria de apenas uma
conta e sua senha para se logar em todas as máquinas da rede, assim, otimizando mais o tempo em uma empresa, por exemplo.
Para tirar todas as dúvidas relacionadas à função do NIS em relação à conta dos usuários, vai ai um exemplo:
- Pense agora em seu e-mail, agora pense mais um pouco, quando você loga neste e-mail, repare que se você saber seu Login e senha,
você pode abrir seu e-mail em qualquer canto do mundo, usando a rede mundial de computadores, que é a Internet.
Bem simples né, pois então, o NIS irá funcionar assim, só que em vez de ser na Internet, será no Domínio que você implantar o NIS, e
também, não vai ser o usuário que vai criar as contas, vai ser você.
Agora, para fins 'imaginativos', imagine o mundo sem um Servidor como o NIS, seria um caos total. Você teria que ter um Login e senha
diferente para cada computador que for logar. Seria complicado, né?
Agora, imagine o mundo sem o NIS e DNS......... Pelo menos eu, não iria querer ver um computador com cara de 'meme' na minha
frente (rsrsrs). Pois bem, acho que este exemplo dá para notar a importância e a função do NIS em uma rede.
Tem gente que fica se perguntando: Como o NIS faz isso? Ele baseia-se em quê, para executar tais tarefas com tanta precisão?
Eis a resposta:
Para conseguir e guardar todas as contas de usuários, o NIS tem como base, a criação de mapas que são feitos a partir do arquivo
“/etc/passwd”, o “/etc/group” e entre outros arquivos que, como estes, são arquivos de administração e configuração local.
Estes mapas criados serão a base do banco de dados do NIS, obviamente, eles serão baseados e armazenados no Servidor Central onde
o NIS será implementado.
Logicamente, não é só assim e pronto, é muito mais complexo. O que eu disse é uma explicação simples ou por cima, se eu for dizer o
que ele faz passo a passo, este artigo vai virar um artigo científico pior do que bula de remédio. :-)
E eu não iria fazer um artigo científico, devido ao fator preguiça (hehehe), mas isso é o bastante para se entender como ele funciona,
sem tomar raiva dele. :-)
Como já disse, o NIS se baseia nos mapas, agora, pra responder a última perguntinha mencionada mais acima, ele consegue fazer isso
com tanta precisão e rapidez, porque seus arquivos do banco de dados ou os ”maps”, são no formato DBM.
Não vou entrar em detalhes sobre o DBM, mas vou dizer ele dá uma acerelada legal no processo de pesquisa, por isso o NIS responde tão
rápido sem perder a precisão. O DBM é bem utilizado em técnicas de programação, vale a pena pesquisar sobre ele. Fica a dicafica. ;-)
Para finalizar a linha de raciocínio sobre o NIS, me resta apenas dizer como os dados são transmitidos corretamente para a máquina que
solicitou o serviço.
Respondendo, o NIS assim como NFS, para disseminar suas informações na rede e permitir o acesso dos clientes no seus bancos de
dados, utiliza-se do RPC, ou, Chamada de Procedimento Remoto, em português.
O que é o RPC? Segundo Rafael Coutinho, do Cultura MIX:
“RPC, ou Remote Procedure Call, é o tipo de protocolo para chamada de procedimentos remotos em diferentes sistemas, ou chamada de
determinada função para o método de transferência de controle de parte de um processo para outra, o que permite a divisão de
programa em várias partes do sistema distribuído ou da rede, podendo inclusive,compartilhar os mesmos diretórios arquivos. Só permite
que, ao programador, invocar métodos remotos sem que tenha que se preocupar com os detalhes da implementação da parte remota do
sistema, como se fossem procedimentos locais.”
Pronto. Isso é o RPC, em minhas palavras, o RPC é um protocolo que permite o tráfego dos dados sem depender de Hardware ou de
qualquer outro sistema, utilizando-se de um processo onde o cliente liga solicitando o serviço 'Call', e o servidor responde com o
Procedimento necessário, isso tudo Remotamente, daí RPC.
NFS
- Network File System
NFS, ou simplesmente, Serviço de Arquivo em Rede, é um tipo de Servidor, como o próprio nome diz.
Oferece o serviço de compartilhar arquivos de uma determinada máquina em uma rede, ou seja, os clientes do NFS terão acesso aos
arquivos designados no servidor, como se eles estivessem em sua máquina, como em um passe de mágica, ou como em um passe de
tecnologias e protocolos.
Como disse, a grosso modo, parece mágica o que o NFS faz, porque ele consegue montar uma pasta do Servidor na máquina Cliente
como se esta máquina fosse do Cliente.
Com certeza, isso é bem normal para a maioria das pessoas. Elas diriam, por exemplo, isto simplesmente é um compartilhamento bobo
de pastas, não tem nada de mágica.
Eu diria que esta pessoa é um Noob, que não consegue enxergar a capacidade deste compartilhamento. Até nos sistemas de Bill Gates,
isto é bastante legal e parece sim, mágica. Quando você olha a grosso modo, mas, quando você olha com atenção, o funcionamento do
compartilhamento remoto, descobre o quão legal é.
E é isso que vou mostrar pra vocês, só não sei se vocês vão achar legal.
Inicialmente, o NFS foi projetado para ser independente de qualquer Hardware, Sistema Operacional ou Sistema de Arquivos.
E para conseguir fazer isso, o NFS usa o famoso RPC, que como já disse, significa chamada de procedimento remoto em conjunto com o
XDR Xternal Data Representation, que é o Padrão de formato de dados independente da plataforma utilizada pelo RPC.
Para representar seus dados na prática, significa que seus arquivos serão compatíveis com qualquer sistema de arquivos, basta você ter
o NFS no Host de origem e no de destino, e pronto. Seus arquivos serão compatíveis uns com os outros, isto porque o NFS é um sistema
de arquivos para redes, assim como o NTFS, EXT, FAT e etc. Só que a diferença, como ja disse, é que ele é exclusivo para redes.
Para compreender a funcionalidade do NFS, em uma rede, aí vai mais um exemplo:
- Imagine seu NIS configurado certinho e tal, se faz o Logon remoto e felicidade para todos, mas aí você descobre que se seu Login é
remoto, então você não vai ter acesso a seus arquivos locais, simplesmente você vai abrir sua conta, e não vai ver seus dados nela.
Isto é um grande problema, mas ai vem o NFS com toda a sua pompa, e monta seu diretório “/home” em qualquer lugar que você
solicitar. Pode rir, que seus problemas acabaram.....
Agora, você vai poder logar e acessar seus arquivos remotos, em qualquer máquina de seu Domínio, como se você tivesse frente ao
Servidor (lembrando que quando se usa NIS+NFS, seus dados serão concentrados todos no Servidor ). Legal né ?!?!
No exemplo que eu dei, já dá para notar a importância do NIS e do NFS em conjunto em uma rede.
No caso descrito, o NFS precisará do NIS para saber qual diretório Home ele irá montar, ou seja, João loga o “/home” de João, é
montado. Eu logo meu diretório “/home”, é montado. Ninguém irá acessar a pasta de ninguém.
Isso acontece devido ao sistema de permissões, no qual o NIS e o NFS vão se basear, por exemplo, eu loguei e a única pasta que vou
poder entrar e gravar nela, vai ser a minha pasta, e será negado a mim o acesso as outras pastas. O NIS e o NFS vão saber isso, porque
eles acessam o FSTAB e o GROUP no Servidor, e verifica quais as minhas permissões.
O NFS é bastante complexo, mas na prática. Então, didaticamente, o que eu escrevi é suficiente para o entendimento básico.
Se quer saber mais sobre o NFS, acesse este site:
http://www.nfsv4.org, lá você terá muitos
detalhes.
Chega de parte didática, vamos à pratica.
Pois bem, a nossa prática consistirá em configurar o NIS e NFS, e depois, fazê-los 'trocar ideias' para autenticar usuários, e montar sua
pasta remota.