Configurando um servidor NFS em 4 passos

Essa é a solução mais fácil para iniciantes que precisam compartilhar seus arquivos em uma rede homogênea. Em quatro passos você poderá ter acesso a partições ou diretórios remotos como se estivessem em seu disco local.

[ Hits: 377.310 ]

Por: Fábio José de Mattos em 18/05/2004


Introdução



Por Fábio José de Mattos
E-mail: mattos_fatec@yahoo.com.br / ICQ: 277450698

Conto com a colaboração de todos da comunidade GNU/Linux para a correção dos possíveis erros a serem encontrados nesse artigo.

Introdução


O objetivo deste artigo não é transformar ninguém em expert em serviços NFS, por isso pode parecer muito simples para quem já possui um bom conhecimento em GNU/Linux. Porém, para o iniciante que precisa compartilhar seus arquivos em uma rede pequena, pode ser muito mais fácil do que usar o Samba.

Por exemplo, tenho três computadores nos quais a única utilidade de minha rede é o compartilhamento de ofícios, requisições, etc. Não faz sentido eu estudar vários dias para aprender a administrar o Samba. É muito mais fácil configurar o serviço em uma máquina e compartilhar o diretório nas outras, apresentando-o na área de trabalho com montagem automática, como se fosse uma partição local.

Esse exemplo é para uma rede apenas de computadores GNU/Linux, o que transforma o Samba a melhor saída para uma rede híbrida.

Observação:
Se você possui apenas uma máquina, é plenamente possível configurar o seu micro e testá-lo com sucesso, pois o sistema faz um loopback para o seu próprio micro e te enxerga como uma máquina comum na rede.

O que é NFS?
O Network File System (NFS) foi desenvolvido para permitir que se possa montar partições ou diretórios remotos como se fossem um disco local. Garantindo especificar diferentes permissões de acesso a cada cliente de acesso ao compartilhamento.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Configurando o servidor NFS
   3. Montando o diretório remoto no cliente
   4. Conclusão
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Mais sobre terminais leves....

Debian + Xorg + Nvidia - Um conceito visual para desktops

Otimizando a bateria em sistemas Android 2.2/2.3

[Sun Microsystems] OpenSolaris - Developer Preview

Criando disquetes de inicialização

  
Comentários
[1] Comentário enviado por mattos_fatec em 18/05/2004 - 21:03h

Desculpe-me não ter conseguido corrigir os erros a tempo mas, temos dois erros nesse artigo.

1 - Na linha

# Path do diretório IP do cliente Permissões de acesso
/compartilhado/ 192.168.0.0/24 (rw,no_root_squash,sync)

deveria ficar

# Path do diretório IP do cliente Permissões de acesso
/compartilhado/ 192.168.0.2 (rw,no_root_squash,sync)

2- No segundo passo faltou uma linha para o /etc/hosts.deny

Está assim

portmap: ALL
lockd: ALL
mountd: ALL
rquotad: ALL

deveria estar

portmap: ALL
lockd: ALL
mountd: ALL
rquotad: ALL
statd: ALL

Desculpe-me novamente

Fábio José de Mattos
mattos_fatec@yahoo.com.br / ICQ 277450698

[2] Comentário enviado por agk em 20/05/2004 - 16:49h

Ótimo artigo, estava precisando compartilhar o cdrom de uma máquina de um laboratório, acho que com NFS vai funcionar legal. OBS: laboratório somente com máquinas linux.

[3] Comentário enviado por agk em 20/05/2004 - 17:24h

Uma dica para quem usa debian:
Os pacotes para usar NFS:
- Para o servidor:
#apt-get install nfs-common nfs-kernel-server
- Para os clientes:
#apt-get install nfs-common

Para inicializar automaticamente no boot use o rcconf (parecido com o ntsysv):
Se não tiver instale:
#apt-get install rcconf

Depois para habilitar/desabilitar programas que iniciam com o boot marque/desmarque:
#rcconf

[4] Comentário enviado por eduac em 30/08/2004 - 14:19h

Pessoal,
Eu até consegui fazer rolar pelo tutorial o compartilhamento pelo nfs, mas ele demora muito pra montar no client (uns 4/5min). Alguem sabe o que pode ser?
O comando que eu uso é esse:

mount -t nfs <ip_servidor>:/compartilhado temp/

obs: E eu uso o slack 10. E no servidor (debian) esta tudo instalado e ele monta rapidamente de dentro do servidor usando o 127.0.0.1.

[5] Comentário enviado por jgfreitas em 08/04/2005 - 10:35h

Pessoal, eu uso Slack 10, fiz todos os passos e dá o seguinte erro
"mount: RPC: Remote system error - Connection refused", alguém sabe o que pode ser?

[6] Comentário enviado por thadeu em 10/05/2006 - 23:26h

ALERTA! MUITA ATENÇÃO

Certifique-se que não existem links simbólicos dentro da pasta compartilhada!!!

Caso seja uma pasta que esteja linkada, será possível recorrer-se à pasta original e, daí, navegar por todo o computador que compartilha a conexão!!!!

Fiz esse teste utilizando o Rox-Filer, clicando sobre o ícone da pasta linkada dentro da pasta compartilhada com o botão direito: selecionei o menu "Ligação Simbólica" » "Mostrar Alvo" e então cheguei a esta conclusão.

[7] Comentário enviado por AndreFranca em 17/12/2007 - 16:09h

Prezado mattos,
muito boa sua iniciativa de escrever um artigo sobre NFS, com certeza tirou dúvidas de muita gente. Mas gostaria de fazer uma correção sobre seu artigo, ok?

Quando um cliente, logado como root em sua máquina, acessa o compartilhamento no servidor, por padrão, o servidor seta o UID para o acesso como se fosse o usuário nobody do server. Quando usamos a opção no_root_squash, estamos dizendo que o usuário root da máquina terá o mesmo privilégio do root no servidor também. Isso pode ser um sério risco de segurança. Só utilize essa opção quando você realmente quiser garantir que o root do cliente aja tenha privilégios de root no servidor.

No mais, seu artigo está muito bom, meus parabéns e continue contribuindo com a comunidade, todos só temos a ganhar!!

[]'s
França

[8] Comentário enviado por removido em 23/03/2008 - 04:26h

Amigo,

Excelente artigo!


Atenciosamente,

Slackmaster (jlgomessouza@gmail.com)

http://dangercode.blogspot.com


[9] Comentário enviado por turcedor em 16/05/2008 - 03:25h

nao consigo fazer funcionar no suse 10.2, como ficaria este comando aqui?

# chmod a+x rc.portmap
# chmod a+x rc.nfsd


[10] Comentário enviado por LesleyRibeiro em 04/08/2008 - 10:46h

Olá amigo,
uso ubuntu 8.4, em um laboratorio de info.
nao consegui fazer o comando:
# chmod a+x rc.portmap
# chmod a+x rc.nfsd
obrigado.

[11] Comentário enviado por rogeriojlle em 22/12/2008 - 14:59h

tenho um servidor com Opensuse 10.3 rodando Samba e estações clientes com WinXp, só que agora essas estações estarão com Dual-boot com Opensuse 11, As estações cliente em Linux fazem logon via NIS; acontece que o compartilhamento "/home" é sempre montado como somente leitura, o máximo que consegui fazer alterando as permissões é de nem leitura ter, pra ningúem.
Algúem pode me dar uma dica a respeito?

Fstab dos clientes:
10.0.0.35:/home /home nfs rw 0 0

fstab do servidor:
/dev/sdb1 /home ext3 acl,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 1 2

/etc/export do servidor nis/samba
/home *(rw,sync,no_root_squash)

[12] Comentário enviado por fabioholliday em 25/12/2008 - 22:05h

Galera sei que este tópico é meio antigo, mas galera estou Hà 3 meses tentando fazer com duas máquinas linux se enxerguem, mas nada do qeu eu tento dar certo já tentei com fedora, já tentei com ubuntu, mas nada adianta, já se tem máquina linux e máquina windows, aí eu consigo acessar o pc windows, mas não virce-versa, alguem pode me ajudar como se configura o nfs ou o smb? eu já tentei em todos o tutorias inclusive este aqui, faço todos os passo corretamente, mas não funciona.. dar sempre está mensagem quando tento montar o compartilhamento "sudo mount 192.168.254.3:/média/rede2 /media/rede1/
mount.nfs: access denied by server while mounting 192.168.254.3:/média/rede2"'

[13] Comentário enviado por dtux em 08/01/2009 - 01:13h

Eu tambem estou tento esse tipo de erro, acho que eh pq vc está tentando exporta uma pasta que já está dentro de outra pasta, pq se você tentar fazer o mesmo criando essa pastar rede2 no seu diretorio root / ele da certo. Mas se alguem conseguiu exportar um subpasta por favor poste a receita do bolo!1

[14] Comentário enviado por rogeriojlle em 09/01/2009 - 23:11h

Exportar diretorio "/home" [RESOLVIDO]

No meu caso funcionou assim:

Na máquina servidora (NIS e NFS) mapas: passwd, group e shadow - NIS
e cadastrei as estações clientes como slaves
Para o serviço NFS exportei /home com os parametros rw,no_root_squash,sync,no_subtree_check

chmod -R 755 /home

nos clientes ativei o serviço AUTOFS:

em /etc/auto.master acrescentei o seguinte: (no Opensuse já tem uma linha ativa que não sei o que ela faz entao deixei assa linha por último e o que agora vier abaixo ficou na PENULTIMA linha)

/home /etc/auto.home

e criei o tal /etc/auto.home com o seguinte conteúdo:

* -fstype=nfs,rw ip_do_nfsserver:/home/&

Com o Yast (todas as minhas estações Linux rodam Opensuse) ativei a autenticacao via nis.

reiniciei a estacao cliente

Saiu melhor que encomenda, pois só monta a home do fulano que está logado

Fontes de pesquisa:
http://www.redhat.com/docs/manuals/enterprise/RHEL-3-Manual/sysadmin-guide/s1-nfs-mount.html

http://homepages.dcc.ufmg.br/~barroca/cef/nfs.pdf

[15] Comentário enviado por dinorox em 21/09/2011 - 11:57h

fabinhotdb e diego-p-g

Parece que o problema é com o cliente. Uso o fedora 15 como server e quando tento montar com o cliente do parted magic 5.5, ocorre tudo beleza. Agora, quando tento montar com o cliente de outro fedora 15, dá esse erro (mount.nfs: access denied by server while mounting).

[16] Comentário enviado por igor_rocha em 25/03/2012 - 02:47h

Ola @agk, muito obrigado, pois eu estava montando um diretório nfs e não conseguia acessar com um cliente Ubuntu, só consegui após a instalação do pacote que você mencionou, o nfs-comon, valeu pela dica.

e mattos muito obrigado pelo artigo... abraço

[17] Comentário enviado por alexandremc em 08/10/2013 - 10:01h

Oi amigo, to com o seguinte erro:

root@teste3:~# mount -v 192.168.0.1:/mnt/publico /mnt/publico/
mount: nenhum tipo foi fornecido - supondo nfs por causa dos dois-pontos
mount.nfs: timeout set for Tue Oct 8 10:02:54 2013
mount.nfs: trying text-based options 'vers=4,addr=192.168.0.1,clientaddr=192.168.0.106'
mount.nfs: mount(2): No such file or directory
mount.nfs: trying text-based options 'addr=192.168.0.1'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.0.1 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 192.168.0.1 prog 100005 vers 3 prot UDP port 54847
mount.nfs: mount(2): Permission denied
mount.nfs: access denied by server while mounting 192.168.0.1:/mnt/publico

Sabe o que pode ser?



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts