Como hospedar compartilhamentos NFS no Linux

Se você é um usuário Linux moderadamente habilidoso, ou um iniciante com um servidor, a principal maneira de acessar os arquivos é com o Samba. Muitos fazem isso por causa da dificuldade do NFS. Há tantos passos e pequenas coisas que você precisa acertar em comparação com algo como Samba ou mesmo FTP. O fato de muitos usuários do Linux passarem pelo NFS é uma pena, pois possui muitos recursos e usos excelentes. É por isso que decidimos eliminar a dificuldade de configurar um servidor NFS. Vamos detalhar como você pode hospedar compartilhamentos NFS no Linux e explicar em detalhes como você pode colocar um servidor em funcionamento

Instalação

Geralmente, cada distribuição Linux tem as mesmas ferramentas NFS com algumas diferenças aqui e ali. Para que tudo funcione, abra um terminal e instale os seguintes pacotes em seu sistema. Esses pacotes instalarão a tecnologia padrão necessária para executar o servidor, gerar os arquivos de configuração padrão e, às vezes, até configurar outras coisas também.

Ubuntu

sudo apt install nfs-kernel-server

Fedora

sudo dnf install nfs-utils system-config-nfs

Arch Linux

sudo pacman -S nfs-utils

Debian

sudo apt-get install nfs-kernel-server

OpenSUSE

sudo zypper install nfs-kernel-server

Outros Linux

O sistema de arquivos NFS, cliente e servidor não é uma tecnologia nova. Como resultado, você poderá facilmente fazer isso funcionar em praticamente qualquer distribuição Linux por aí. Se o seu sistema operacional não foi coberto, considere pesquisar por “nfs utils” no gerenciador de pacotes ou consultando o Wiki do seu sistema operacional.

  Como usar o comando time no Linux

Serviços do Systemd

A configuração de um servidor NFS pode ser diferente, dependendo de qual distribuição Linux você está usando. Por exemplo, se você instalar o pacote Ubuntu ou Debian NFS, os serviços systemd serão configurados e configurados automaticamente para você. No entanto, em algo como Arch Linux, SUSE ou Fedora e etc, você precisará fazer isso manualmente. Veja como habilitar esses serviços.

Se você estiver executando o Arch Linux, Open SUSE ou Fedora (ou qualquer distribuição Linux que não configure automaticamente os serviços systemd para NFS), abra um terminal e digite esses comandos.

sudo systemctl enable rpcbind
sudo systemctl enable nfs-server 

sudo service rpcbind start 

sudo service nfs-server start

Configuração

Ao instalar os pacotes NFS, o servidor fica “configurado”, mas isso não significa que os usuários possam acessá-lo ainda. Para isso, os usuários precisam configurar exportações, localizações de arquivos, etc. Para começar, ganhe um shell de root no terminal. Faça isso com: sudo -s

  Como enviar comandos do Linux para um arquivo

O arquivo de exportação pode lidar com qualquer tipo de diretório. Na verdade, os usuários podem escrever facilmente um local direto para uma pasta que desejam compartilhar diretamente no sistema de arquivos. O problema com isso é que é um enorme risco de segurança. É muito mais seguro pegar o conteúdo de um diretório e vinculá-lo a outro. Isso garante que as permissões para pastas e diretórios na pasta /srv/ não precisem ser modificadas, tornando tudo seguro.

Por exemplo, para configurar um compartilhamento NFS da pasta Imagens de um usuário, faça o seguinte:

mkdir -p /srv/nfs/pictures /home/username/Pictures/

mount --bind /home/username/Pictures/ /srv/nfs/pictures/

Use o exemplo acima para fazer quantas montagens de ligação desejar. Lembre-se de que não é necessário montar diretórios a partir de pastas pessoais. Em vez disso, use esse exemplo e seja criativo.

Com tudo isso resolvido, execute estes comandos para fazer as montagens ficarem:

echo '#NFS Pictures Bind Mount' >> /etc/fstab
echo '/home/username/Pictures/ /srv/nfs/pictures/ none bind 0 0' >> /etc/fstab

Nota: você precisará alterar os comandos de eco para se adequarem às suas próprias montagens.

Com as montagens configuradas, é hora de configurar o arquivo de configuração de exportação. O arquivo de exportação é muito importante, pois é onde você precisará especificar cada compartilhamento de arquivo para o NFS utilizar.

nano /etc/exports

Dentro do arquivo de exportação, vá até o final e escreva o seguinte:

/srv/nfs/pictures/ 192.168.0.0/255.255.255.0(rw,sync,no_subtree_check)

Sinta-se à vontade para escrever quantas linhas quiser. Tenha em mente que cada compartilhamento precisa de sua própria montagem, entrada fstab e entrada /etc/exports.

  Os 6 melhores plugins de bate-papo Pidgin para usuários do Linux

Nota: salve o arquivo de exportação com CTRL + O

Atualizando alterações

O servidor NFS está funcionando, os arquivos estão no lugar certo e tudo está pronto para uso. A única coisa que resta é atualizar as alterações feitas no arquivo de exportação. Esta é uma etapa importante, pois o servidor NFS não atualizará as alterações feitas durante a execução. Faça alterações com: exportfs -rav

Se necessário, reinicie o processo do servidor dentro do próprio systemd usando o comando systemctl restart.

sudo systemctl restart nfs-server.

Conclusão

O Network File System é uma ferramenta útil. Com ele, os usuários podem facilmente pegar arquivos e diretórios remotos e trabalhar com eles localmente como um disco rígido físico. Isso é ótimo, pois as ferramentas de sistema de arquivos de rede concorrentes não oferecem aos usuários a mesma onipresença e liberdade.

Apesar de sua utilidade, a maioria das pessoas prefere usar o Samba. Isso é compreensível, porque comparado ao Samba, o NFS pode ser um pouco chato e tedioso de configurar. No entanto, se você lidar com o difícil processo de configuração, vale muito mais a pena.