Pular para o conteúdo

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.
Bruno Caramelo Souza brunocaramelo
Hits: 26.134 Categoria: Linux Subcategoria: Redes
  • Indicar
  • Impressora
  • Denunciar

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.

   1. Configurações iniciais
   2. Configurando Client no Linux
   3. Configurando Client no Windows
Nenhum artigo encontrado.

Configurando o Rclone no CentOS 7

Roubando bits (parte 2): como resolver questões rapidamente sem calculadora

Servidor DNS: Debian 9 Stretch

Montagem de um cluster com o MOSIX

Criando RADIUS no Windows Server 2012 para autenticar no Mikrotik

#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

Entre na sua conta para comentar.