Criando e Consumindo Rede de Compartilhamento NFS

Configurando um servidor NFS (Network File System) para compartilhar diretórios e arquivos entre máquinas conectadas em rede. Exemplos de diversas regras de permissões de acesso e instalação de clientes no GNU/Linux e Windows 7.

[ Hits: 11.905 ]

Por: Bruno Caramelo Souza em 23/03/2017 | Blog: http://brunocaramelo.com


Configurações iniciais



Iremos configurar um servidor NFS (Network File System), que tem como objetivo compartilhar diretórios e arquivos entre máquinas conectadas em rede, através deste protocolo.

Configurando Server

A Instalação será feita em um Fedora 25, começando com o seguinte comando:

sudo dnf install nfs-utils

Arquivos de configuração:

Diretório		Finalidade
/etc/exports		Arquivo principal de configuração
/etc/hosts.allow	hosts para habilitar acesso
/etc/hosts.deny		Hosts para negar acesso

Para utilizar o serviço nfsd, será necessário ativar os itens abaixo:

sudo systemctl enable rpcbind
$ sudo systemctl enable nfs-server
$ sudo service rpcbind start
$ sudo service nfs-server start


Para verificar o status do serviço:

service nfs status
Agora, iremos prover os diretórios de compartilhamento, criando diretórios, arquivos e aplicando permissões:

sudo mkdir -p /home/compartilhamento/leitura
sudo mkdir -p /home/compartilhamento/leituraescrita
sudo mkdir -p /home/compartilhamento/vip
sudo mkdir -p /home/compartilhamento/multirules

sudo chmod 777 /home/compartilhamento/leitura
sudo chmod 777 /home/compartilhamento/leituraescrita
sudo chmod 777 /home/compartilhamento/vip
sudo chmod 777 /home/compartilhamento/multirules

Criando arquivos de teste:

sudo echo 'sou escrita' /home/compartilhamento/leituraescrita/escrita.txt
sudo echo 'sou leitura' /home/compartilhamento/leitura/leitura.txt
sudo echo 'apenas o escolhido' /home/compartilhamento/vip/vip.txt
sudo echo 'aqui tem duas regra' /home/compartilhamento/multirules/multirules.txt

Observação: o parâmetro "-p" do "mkdir", significa "parents", que cria toda a hierarquia até o diretório desejado.

Diretório	 Finalidade
leitura		 Apenas leitura
leituraescrita	 Apenas leitura
vip		 Apenas uma das máquinas da rede poderá enxergar o diretório
multirules	 Onde a rede poderá usar leitura e uma máquina poderá editar

Configurando /etc/exports

A configuração precisará da faixa ou IP, onde o compartilhamento será disponibilizado.

Verifique com o comando:

ifconfig

Depois de recuperar a faixa de IP, iremos configurar:
  • /home/compartilhamento/leitura 192.168.2.0/255.255.255.0(ro,sync,no_subtree_check,no_root_squash)
  • /home/compartilhamento/leituraescrita 192.168.2.0/255.255.255.0(rw,sync,no_subtree_check,no_root_squash)
  • /home/compartilhamento/vip 192.168.2.108(ro,sync,no_subtree_check,no_root_squash)
  • /home/compartilhamento/multirules 192.168.2.0/255.255.255.0(ro,sync,no_subtree_check,no_root_squash) 192.168.2.108(rw,sync,no_subtree_check,no_root_squash)

Descrição da configuração acima: /diretorio/para/compartilhar → IP_OU_FAIXA_OU_HOST/MASCARA(OPCIONAL) (OPCOES)

No meu caso, minha faixa é 192.168.2.0. Também é possível disponibilizar apenas para um host.

Aplicando mudança, com o comando:

sudo exportfs -ra

Opções disponíveis:

Diretório	      Finalidade
(rw)		      Leitura e escrita
(ro)		      Leitura
(no_root_squash)      Impede que usuários root conectados remotamente tenham 
                      privilégios de root
(async)		      Opção de melhor desempenho onde o servidor grava dados 
                      sem intervalo regular, porém se houver falha durante a 
                      escrita solicitada pelo host, os dados podem ser 
                      perdidos, principalmente se forem feitos por hosts 
                      diferentes ao mesmo tempo
(wdelay)	      Faz com que o servidor retenha a gravação caso haja 
                      suspeita de outra solicitação de escrita. Somente pode 
                      ser usada com a opção sync
(no_wdelay)	      O oposto à opção wdelay
(all_squash)	      Identificar o IDs de usuário e grupo a que serão usados 
                      por usuários remotos
(no_subtree_check)    Não é checada a hierarquia de diretório que está sendo 
                      acessada. Para grande volume, tem um desempenho melhor
(sync)                Usado por padrão, aguarda a confirmação de escrita quando 
                      o arquivo terminar a escrita

Reiniciando serviço NFS Server:

sudo systemctl restart nfs-server

Caso tenha alterado os arquivos /etc/hosts.allow ou /etc/host.deny, será necessário reiniciar o serviço nfs:

sudo systemctl status nfs

Configurando /etc/hosts.allow

sudo vim /etc/hosts.allow

Aplique as seguintes configurações, Usando a mesma faixa ou host da SUA rede:

portmap:192.168.2.0/255.255.255.0
lockd:192.168.2.0/255.255.255.0
mountd:192.168.2.0/255.255.255.0
rquotad:192.168.2.0/255.255.255.0
statd:192.168.2.0/255.255.255.0

Configurando /etc/hosts.deny

sudo vim /etc/hosts.deny

Aplique as seguintes configurações:

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

Finalizado o servidor, iremos ao próximo passo.

    Próxima página

Páginas do artigo
   1. Configurações iniciais
   2. Configurando Client no Linux
   3. Configurando Client no Windows
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

SQUID com autenticação e permissões por grupos do Active Directory e relatórios com SARG

Instalando o oVirt 4.3 Single Host

Implementando Servidor NTP no Debian

Problemas encontrados na adoção do IPv6

Emulador de Redes Mininet

  
Comentários
[1] Comentário enviado por millinux em 27/03/2017 - 10:06h

Legal, só uma correção, a opção (no_root_squash) Impede que usuários root conectados remotamente tenham
privilégios de root, é o inverso, é utilizado para não rebaixar os privilégios do usuário root conectado. Para rebaixar o root, é a opção root_squash (default quando não especificado).

Muito bom o post.

--
Alex Clemente
Analista Linux e Unix
Instrutor Linux e Open Source
-----------------------------
AWS Technical Professional
Azure Datacenter in Cloud Platform for Technical
CompTIA Linux+ Powered by LPI
SUSE 11 Certified Linux Administrator
SUSE 11 Technical Specialist
LPIC-1 Certified Linux Administrator
LPIC-2 Certified Linux Engineer

[2] Comentário enviado por brunocaramelo em 27/03/2017 - 13:54h

obrigado
já foi corrigido na fonte(blog)

[3] Comentário enviado por brunocaramelo em 27/03/2017 - 14:02h


[1] Comentário enviado por millinux em 27/03/2017 - 10:06h

Legal, só uma correção, a opção (no_root_squash) Impede que usuários root conectados remotamente tenham
privilégios de root, é o inverso, é utilizado para não rebaixar os privilégios do usuário root conectado. Para rebaixar o root, é a opção root_squash (default quando não especificado).

Muito bom o post.

--
Alex Clemente
Analista Linux e Unix
Instrutor Linux e Open Source
-----------------------------
AWS Technical Professional
Azure Datacenter in Cloud Platform for Technical
CompTIA Linux+ Powered by LPI
SUSE 11 Certified Linux Administrator
SUSE 11 Technical Specialist
LPIC-1 Certified Linux Administrator
LPIC-2 Certified Linux Engineer


Obrigado
já foi corrigido na fonte(blog)

[4] Comentário enviado por ede_linux em 01/04/2017 - 20:15h

Excelente artigo. Parabéns.

Existe forma de adicionar a drive do pc servidor nativamente no windows 7? Sem ter que instalar o NFSClient?
Já agora, para o windows 10 as configurações do NFSClient são iguais?

[5] Comentário enviado por brunocaramelo em 01/04/2017 - 21:05h


[4] Comentário enviado por ede_linux em 01/04/2017 - 20:15h

Excelente artigo. Parabéns.

Existe forma de adicionar a drive do pc servidor nativamente no windows 7? Sem ter que instalar o NFSClient?
Já agora, para o windows 10 as configurações do NFSClient são iguais?

Sim , é possivel no Windows 7 é possivel nas versões Entreprise e Ultimate , tenho isso explicado ao final deste post
http://brunocaramelo.com/2017/03/22/criando-e-configurando-openldap-e-nfs-com-clientes-linux-e-windo...
Feito em um Windows 7 Ultimate , recurso liberado nas versões mais completas do Windows, espero ter ajudado

[6] Comentário enviado por ede_linux em 02/04/2017 - 12:45h


[5] Comentário enviado por brunocaramelo em 01/04/2017 - 21:05h


[4] Comentário enviado por ede_linux em 01/04/2017 - 20:15h

Excelente artigo. Parabéns.

Existe forma de adicionar a drive do pc servidor nativamente no windows 7? Sem ter que instalar o NFSClient?
Já agora, para o windows 10 as configurações do NFSClient são iguais?

Sim , é possivel no Windows 7 é possivel nas versões Entreprise e Ultimate , tenho isso explicado ao final deste post
http://brunocaramelo.com/2017/03/22/criando-e-configurando-openldap-e-nfs-com-clientes-linux-e-windo....
Feito em um Windows 7 Ultimate , recurso liberado nas versões mais completas do Windows, espero ter ajudado


Obrigado pelo comentário.
Para servidor de arquivos e web, tudo num qual a distro que sugere?
Por norma utilizo ubuntu server pois uso lubuntu nos meus pc. Também utilizo ubuntu por ser a distro mais falada e com maior comunidade. Mas no que toca a servidores não sei se é bem assim. Qual a sua opinião?

[7] Comentário enviado por brunocaramelo em 02/04/2017 - 12:54h


[6] Comentário enviado por ede_linux em 02/04/2017 - 12:45h


[5] Comentário enviado por brunocaramelo em 01/04/2017 - 21:05h


[4] Comentário enviado por ede_linux em 01/04/2017 - 20:15h

Excelente artigo. Parabéns.

Existe forma de adicionar a drive do pc servidor nativamente no windows 7? Sem ter que instalar o NFSClient?
Já agora, para o windows 10 as configurações do NFSClient são iguais?

Sim , é possivel no Windows 7 é possivel nas versões Entreprise e Ultimate , tenho isso explicado ao final deste post
http://brunocaramelo.com/2017/03/22/criando-e-configurando-openldap-e-nfs-com-clientes-linux-e-windo....
Feito em um Windows 7 Ultimate , recurso liberado nas versões mais completas do Windows, espero ter ajudado


Obrigado pelo comentário.
Para servidor de arquivos e web, tudo num qual a distro que sugere?
Por norma utilizo ubuntu server pois uso lubuntu nos meus pc. Também utilizo ubuntu por ser a distro mais falada e com maior comunidade. Mas no que toca a servidores não sei se é bem assim. Qual a sua opinião?



Bacana.
No meu caso servidor com Cent OS e estações de trabalho com Fedora.
Mas não muda quase nada de distribuição baseadas em Debian.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts