Configurando NFS + NIS (Ubuntu)

Este tutorial tem por objetivo ensinar a configurar o NFS + NIS no Ubuntu de forma rápida e simples, mas sem deixar de transmitir os conceitos necessários para a aquisição do conhecimento teórico. Antes de configurarmos o NFS e o NIS no GNU/Linux, devemos compreender o que eles são e para o que eles são utilizados.

[ Hits: 146.455 ]

Por: Racy Rassilan em 31/08/2009


Introdução



Este tutorial tem por objetivo ensinar a configurar o NFS + NIS no Ubuntu de forma rápida e simples, mas sem deixar de transmitir os conceitos necessários para a aquisição do conhecimento teórico. Antes de configurarmos o NFS e o NIS no GNU/Linux, devemos compreender o que eles são e para o que eles são utilizados.

Perante essas afirmações definiremos:
  • O significado do NFS
  • Qual é a função do NFS no sistema GNU/Linux
  • Os passos para configurar o NFS no servidor
  • Os passos para configurar o NFS no cliente
  • O significado do NIS
  • Qual é a função do NIS no sistema GNU/Linux
  • Os passos para configurar o NIS no servidor
  • Os passos para configurar o NIS no cliente

E então estaremos aptos a instalar e configurar um servidor de autenticação de usuários com arquivos centralizados.

Significado do NFS

No GNU/Linux, como em qualquer sistema operacional, existe a possibilidade de compartilhamento de arquivos, pastas e unidades de disco, uma vez que fazer compartilhamento é útil quando se deseja que várias máquinas tenham acesso a determinados arquivos ou dispositivos como impressoras, leitores de CD etc. Para que esse compartilhamento fosse possível no GNU/Linux, foi desenvolvido um pacote chamado NFS que significa Network File System (sistema de arquivos em rede).

Função do NFS

O pacote NFS tem a função de gerenciar a conexão entre um servidor de arquivos e seus clientes, que irão requisitar seus recursos. Para tal, o NFS configura qual será o diretório ou dispositivo a ser compartilhado pela rede e quais máquinas poderão ter o direito de acessá-los.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Configurando o servidor NFS
   3. Configurando o cliente NFS
   4. Configurando o servidor NIS
   5. Configurando o cliente NIS
Outros artigos deste autor

Configurar servidor PPPoE (Ubuntu)

Configurar servidor proxy Squid (Ubuntu)

Leitura recomendada

Instalação e Configuração de Servidor SSH no Debian

Fedora 18 - Customização pós-instalação

Linux Terminal Server - LTS

Monitoração de Hosts e Serviços com o NAGIOS

Instalação do sidux

  
Comentários
[1] Comentário enviado por carlaodopao em 17/09/2009 - 03:28h

Brilhante aula, cara!
Era tudo o q eu queria e precisava saber!
Valeu pelo seu post!!!! :-D=

[2] Comentário enviado por amarof2009 em 11/10/2009 - 15:23h

Boa tarde,
Já estou a um tempo tentando fazer o compartilhamento de arquivos utilizando o nfs, mas sempre aparece um erro.
Este artigo é excelente, fiz todos os procedimentos orientados mas aparece o seguinte erro:

root@wilton-desktop:~# mount 10.0.0.101:/home/wilton/Documentos/testando/ /home/wilton/sisope/
mount.nfs: mount to NFS server '10.0.0.101:/home/wilton/Documentos/testando/' failed: RPC Error: Program not registered
root@wilton-desktop:~#

Por favor, me ajudem a resolver este problema. Eu já pesquisei em um monte de sites mas não consegui resolver.
Muito obrigado.

[3] Comentário enviado por nox6000 em 11/10/2009 - 17:06h

Caro amarof2009,

Eu acredito que vc esteja montando de seu computador para seu computador isso não foi feito pra funcionar assim.


Isso foi feito para funcionar da seguinte maneira:

Temos um servidor 10.0.0.1 que esta me sedendo a pasta "arquivos" encontrada em /home/usuario/arquivos

e temos a maquina cliente 10.0.0.2 que vai pegar o conteudo via rede e montar em seu diretorio onde este tem que ter permissão para tal.

a montagem de forma manual podera ser assim:
mount 10.0.0.1:/home/usuario/arquivos /home/cliente/Desktop/arq

Ou sejá, estou montando manualmente o conteúdo da pasta "arquivos" do servidor 10.0.0.1 no desktop do computador 10.0.0.2 no "Desktop" mais precisamente na pasta "arq" que esta no "Desktop".

Isso só é possivel após realizar todas as configurações sugeridas por este artigo e se a pasta "arq" do cliente 10.0.0.2 bem como a pasta "arquivos" do sevidor 10.0.0.1 tiver permissão de escrita e leitura.


Esperto ter lhe ajudado.

[4] Comentário enviado por amarof2009 em 11/10/2009 - 18:18h

Não é querendo abusar, nox6000, mas eu acho que digitei o ip correto.
Para comprovar, quando digito ifconfig na maquina que seria o servidor(como você explicou, onde está a pasta sedida) aparece o seguinte:

wilton@wilton-laptop:~$ ifconfig
eth0 Link encap:Ethernet Endereço de HW 00:03:0d:77:37:b1
UP BROADCAST MULTICAST MTU:1500 Métrica:1
pacotes RX:0 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:0 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
IRQ:16 Endereço de E/S:0x2000

lo Link encap:Loopback Local
inet end.: 127.0.0.1 Masc:255.0.0.0
endereço inet6: ::1/128 Escopo:Máquina
UP LOOPBACK RUNNING MTU:16436 Métrica:1
pacotes RX:78 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:78 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:0
RX bytes:5968 (5.9 KB) TX bytes:5968 (5.9 KB)

wlan0 Link encap:Ethernet Endereço de HW 00:19:db:0e:ce:d4
inet end.: 10.0.0.101 Bcast:10.0.0.255 Masc:255.255.255.0
endereço inet6: fe80::219:dbff:fe0e:ced4/64 Escopo:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1
pacotes RX:639 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:716 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:1000
RX bytes:491408 (491.4 KB) TX bytes:143783 (143.7 KB)

wmaster0 Link encap:Não Especificado Endereço de HW 00-19-DB-0E-CE-D4-65-64-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1
pacotes RX:0 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:0 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

wilton@wilton-laptop:~$


Qual é o número ip que devo usar?
Devo fazer alguma outra configuração?
Muito obrigado pela ajuda.

[5] Comentário enviado por amarof2009 em 11/10/2009 - 18:21h

Se também for acrescentar, quando faço ifconfig na máquina que seria cliente aparece o seguinte:

wilton@wilton-desktop:~$ ifconfig
eth0 Link encap:Ethernet Endereço de HW 00:24:21:89:b1:c1
UP BROADCAST MULTICAST MTU:1500 Métrica:1
pacotes RX:0 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:0 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
IRQ:252 Endereço de E/S:0x2000

lo Link encap:Loopback Local
inet end.: 127.0.0.1 Masc:255.0.0.0
endereço inet6: ::1/128 Escopo:Máquina
UP LOOPBACK RUNNING MTU:16436 Métrica:1
pacotes RX:120 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:120 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:0
RX bytes:9992 (9.9 KB) TX bytes:9992 (9.9 KB)

wlan0 Link encap:Ethernet Endereço de HW 00:21:91:80:12:1a
inet end.: 10.0.0.100 Bcast:10.0.0.255 Masc:255.255.255.0
endereço inet6: fe80::221:91ff:fe80:121a/64 Escopo:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1
pacotes RX:5222 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:5603 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:1000
RX bytes:4490440 (4.4 MB) TX bytes:1009967 (1.0 MB)

wmaster0 Link encap:Não Especificado Endereço de HW 00-21-91-80-12-1A-32-31-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1
pacotes RX:0 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:0 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

wilton@wilton-desktop:~$

[6] Comentário enviado por nox6000 em 11/10/2009 - 19:58h

Caro amarof2009,

Este ip que esta me informando é o ip da sua placa de rede sem fio e não da sua placa de rede com fio.

Este artigo foi feito para computadores que utilizam placa de rede com fio. "Rede com Fio".
as placas de rede com fio são as placas denominadas eth0, eth1, eht3 ... ethN.

as placas de rede sem fio são Wlan0 e etc.

Bem o que quiz explicar da ultima vez e vou tentar tornar explicar é que vc tem dois compudadores Computador 1 - É o servidor que tem o endereço da placa com o IP X e este tem a pasta que foi compartilhada atraves da configuração do "NFS" este computador tem uma placa "ethN" ou seja uma placa de rede com fio.

Computador 2 -É o cliente este é o compudador com o endereço IP Y onde este tem a placa de rede "ethN" e que vai acessar via "NFS" o servidor "Computador 1" e conseguir montar um diretorio que contenha os arquivos do computador 1 no computador 2 que é o cliente.


Se vc estiver usando rede sem fio nos dois ai vc tera que estudar melhor e ver se realmente os dois computadores estão se comunicando para depois realizar a configuração do NFS tanto no computador 1 quanto no 2.


[7] Comentário enviado por andrefpacheco em 02/11/2009 - 12:23h

Nota 1000!!!!! Parabéns!!!!

[8] Comentário enviado por Sergio3s em 26/01/2010 - 09:48h

Show!! parabens !!
Só tenho duas perguntas, o perfil pode ser móvel ? como defino o tamanho máximo e a localização dele ?
Valeu !

[9] Comentário enviado por texwiller em 29/08/2010 - 10:12h

PARABENS! Nota 1000!

[10] Comentário enviado por leandro.bernardo em 15/04/2011 - 14:33h

na hora de configurar o /etc/exports

ele ficaria dessa forma?

/home/ *(rw,sync,Projetos)

ou

/home/ *(rw,sync,/home/diretorio/Projetos) ?



[11] Comentário enviado por nox6000 em 15/04/2011 - 14:47h

Olá Leznx!

Quanto a sua pergunta, não fica nem de uma maneira nem de outra.

Fica assim:

/home/diretorio/Projetos/ *(rw,sync,no_root_squash)

Ou seja, você quer compartilhar a pasta Projetos, que está no diretório: /home/diretorio/Projetos

Espero ter ajudado.

[12] Comentário enviado por aislan_santos em 03/12/2012 - 16:24h

ola
sou novo com o linux estou configurando NFS quando startei o serviço, apareceu a seguinte mensagem:
* Exporting directories for NFS kernel daemon ...
exportfs: no options for /home/server/teste*(rw,sync,root_no_squash) : sugest (sync) to avoid warning
exportfs: \etc\exports [1]: Neithet "subtree_check" or "no_subtree_check" specified for export "/home/server/teste*(rw,sync,root_no_squash"
assuming default behaviour ('no_subtree_check').
NOTE: this default has changed since nfs-utils version 1.0.x

exportfs: failed to stat /home/server/teste*(rw,sync,root_no_squash) : no such file or directory
[ok]
* Starting NFS kernel daemon [ok]



[13] Comentário enviado por wilhelm1991 em 11/09/2013 - 20:14h

Olá,

gostaria de saber como faço para conectar um Windows no Ubuntu com o NFS e NIS?

[14] Comentário enviado por wildner1 em 13/12/2013 - 22:11h

Saiu tudo perfeito até a instrução abaixo.

root@dicenter5:/etc/init.d# ./nis stop
bash: ./nis: Arquivo ou diretório não encontrado

Tentei o comando abaixo, pois acho que o nis está em outro lugar e voltou como permissão negada, O que devo fazer?

root@dicenter5:/etc# ./default/nis stop
bash: ./default/nis: Permissão negada

[15] Comentário enviado por usiel em 29/12/2013 - 14:27h

Com o Debian 7.3 funciona perfeitamente.
Eu uso ubuntu 13.04 como cliente e nele não aparece opção pra eu digitar o nome de um usuário do servidor, aparecem apenas opções pra eu escolher os usuários da máquina local (cliente); quando eu faço no terminal o login com usuário do servidor, funciona perveitamente.

Vale lembra que usi este tutorial abaixo:
NIS Servidor

1. instalando: apt-get install nis

2. Adicione a seguinte linha ao hosts.allow:
portmap ypserv ypbind : list of IP addresses

Onde a "lista de endereços IP" string é, você precisa fazer uma lista de endereços IP que consiste no servidor e todos os clientes. Estes têm de ser endereços IP por causa de uma limitação no portmap (ele não gosta de nomes de host).


3. Edit /etc/default/nis e definir a linha NISSERVER para NISSERVER=master

4. Edit /etc/yp.conf and add a server line of the form:
domain <domainname> server <servername>
onde: <domainname> é o nome do domínio (flap.local), e <servername> é o nome do servidor.

5. Edit /etc/ypserv.securenets e adicionar linhas para restringir o acesso a membros do domínio. Eu uso linhas para máquinas específicas, como:
host 192.168.1.1
host 192.168.1.2
etc.

6. Construir o DB, pela primeira vez, execute:
sudo /usr/lib/yp/ypinit -m

7. reiniciar serviços: /etc/init.d/ypbind restart

8. sempre que fizer alguma alteração (adicionar usuários), execute este comando:
sudo make -C /var/yp



NIS Cliente

1. Adicionar servidor em /etc/hosts. Isso significa que você ainda pode encontrar o servidor se houver uma falha de DNS.

2.instalar o nis
sudo apt-get install nis

3. defina o nome do seu dominio NIS editando o arquivo /etc/defaultdomain, acrescente uma linha com o nome do doínio (flap.local)
nano /etc/defaultdomain

4. adicione uma linha portmap em /etc/hosts.allow por razões de segurança:
portmap : <endereço IP do servidor NIS> (ou nome de máquina do servidor)

5. acrescente esta linha no arquivo /etc/passwd
+::::::

6. acrescente esta linha no arquivo /etc/group
+:::

7. acrescente esta linha no arquivo /etc/shadow
+::::::::

8. Edite /etc/yp.conf e adicione a linha:
ypserver <endereço IP do servidor NIS> (ou nome de máquina do servidor)

9. No arquivo /etc/pam.d/common-session. Será necessário incluir a linha abaixo. Esta alteração irá criar a pasta home do usuário automaticamente no primeiro logon:
session required pam_mkhomedir.so skel=/etc/skel/ umask=077

10. editar: nano /etc/nsswitch.conf e adicionar alterar linhas para:

passwd: compat nis
group: compat nis

shadow: compat nis
hosts: files dns nis


-> reiniciar serviços:
/etc/init.d/ypbind restart

[16] Comentário enviado por victormag em 19/03/2014 - 21:55h

Perfeito cara!

Obrigado por compartilhar seu conhcimento!

[17] Comentário enviado por eutugite em 27/04/2015 - 20:06h


desculpem a minha ignorância. isto deve ser o mais basico que há, mas não sei.
a configuração do servidor nis e nis cliente é feito na mesma máquina ou o nis server é feito na máquina servidor e o nis cliente na máquina cliente.
outra questão, o ubuntu desktop é apenas para a máquina cliente.
sei que as minhas perguntas são do mais basico que existe, mas estou a começar o linux. ando um pouco perdida.
obrigado


Contribuir com comentário