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.
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.
[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.
[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!!
[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
[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.
[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