16. Configuração de serviços de compartilhamento de arquivos no Ubuntu Server: guia completo

Configurar serviços de compartilhamento de arquivos no Ubuntu Server é uma tarefa essencial nos ambientes de TI modernos, permitindo colaboração contínua e troca de dados eficiente entre dispositivos, sistemas operacionais e usuários. Quer você trabalhe em um ambiente misto com sistemas Linux, Windows e macOS ou apoie uma equipe que precisa de acesso centralizado a recursos compartilhados, o Ubuntu Server oferece ferramentas poderosas para atender às suas necessidades de compartilhamento de arquivos.

Neste guia, orientaremos você no processo de configuração de três serviços populares de compartilhamento de arquivos — FTP, Samba e NFS — no Ubuntu Server. Esses serviços foram projetados para facilitar o compartilhamento de arquivos seguro e confiável, garantindo compatibilidade entre diversas plataformas e ambientes.


Artigos anteriores:

01. Introdução ao Ubuntu Server – SysOSX: AI & Cloud

02. Como configurar seu primeiro servidor Ubuntu: guia para iniciantes – SysOSX: AI & Cloud

03. Dominando a linha de comando do Linux para Ubuntu Server – SysOSX: AI & Cloud

04. Gerenciamento de usuários e permissões no Ubuntu Server: guia completo – SysOSX: AI & Cloud

05. Noções básicas de rede para Ubuntu Server: guia completo – SysOSX: AI & Cloud

06. Instalação e gerenciamento de software no Ubuntu Server: guia completo – SysOSX: AI & Cloud

07.Aplicação de patches e atualização do Ubuntu Server: guia completo – SysOSX: AI & Cloud

08. Protegendo seu servidor Ubuntu: etapas práticas de reforço e proteção – SysOSX: AI & Cloud

09. Auditoria e registro de logs no servidor Ubuntu

10. Ferramentas de monitoramento de sistema para Ubuntu Server: guia completo – SysOSX: AI & Cloud

11. Registro centralizado para o servidor Ubuntu: um guia de leitura obrigatória – SysOSX: AI & Cloud

12. Auditoria e conformidade para Ubuntu Server: melhores práticas – SysOSX: AI & Cloud

13. Configuração do seu servidor Ubuntu para hospedagem e aplicações web: guia definitivo – SysOSX: AI & Cloud

14. Hospedar vários sites em um único servidor Ubuntu: dicas úteis – SysOSX: AI & Cloud

15. Gerenciamento de armazenamento e discos no Ubuntu Server: guia simples – SysOSX: AI & Cloud



Introdução aos serviços de compartilhamento de arquivos

Os serviços de compartilhamento de arquivos permitem que dispositivos troquem dados por uma rede. O Ubuntu Server oferece suporte a vários protocolos para compartilhamento de arquivos, incluindo:

  • FTP (protocolo de transferência de arquivos): Ideal para transferir arquivos entre dispositivos por uma rede.
  • Samba: Permite o compartilhamento de arquivos entre sistemas Linux e Windows usando o protocolo SMB/CIFS.
  • NFS (sistema de arquivos de rede): Projetado para compartilhar arquivos entre sistemas baseados em Unix, incluindo Linux e macOS.

Cada protocolo tem seus pontos fortes, e a escolha depende do seu caso de uso específico. Abaixo, orientaremos você no processo de configuração de cada serviço.


Cenários de uso de FTP, Samba e NFS

Compreender os casos de uso de cada protocolo de compartilhamento de arquivos ajuda você a escolher o certo para seu ambiente:

Caso de uso de FTP

O FTP é mais adequado para ambientes em que arquivos precisam ser transferidos entre dispositivos por uma rede, como:

  • Hospedar sites em que clientes enviam arquivos para um servidor web.
  • Compartilhar arquivos com usuários externos que não precisam de acesso persistente a um diretório compartilhado.
  • Automatizar uploads/downloads de arquivos usando scripts ou tarefas cron.

Caso de uso do Samba

O Samba é ideal para ambientes mistos com sistemas Linux e Windows. Cenários comuns incluem:

  • Compartilhar arquivos entre servidores Linux e desktops Windows em redes corporativas.
  • Fornecer uma pasta compartilhada para colaboração entre usuários de diferentes sistemas operacionais.
  • Permitir que usuários do Windows acessem servidores de arquivos baseados em Linux sem problemas.

Caso de uso do NFS

O NFS foi criado para sistemas baseados em Unix, como Linux e macOS. Ele funciona bem em cenários como:

  • Compartilhar arquivos entre servidores Linux em um data center ou ambiente de nuvem.
  • Montar diretórios em sistemas macOS para fins de desenvolvimento.
  • Fornecer armazenamento compartilhado persistente e de alto desempenho para aplicações executadas no Linux.

Configuração do FTP

O FTP é um protocolo amplamente usado para transferir arquivos entre dispositivos. Para configurar um servidor FTP no Ubuntu:

Etapa 1: Instalar o vsftpd

Execute o seguinte comando para instalar o pacote vsftpd:

sudo apt update
sudo apt install vsftpd

Etapa 2: Configurar o vsftpd

Edite o arquivo de configuração:

sudo nano /etc/vsftpd.conf

Faça as seguintes alterações:

  • Habilite o acesso anônimo (opcional): anonymous_enable=NO
  • Permita usuários locais: local_enable=YES write_enable=YES
  • Restrinja os usuários aos seus diretórios pessoais: chroot_local_user=YES
  • Tornar o diretório pessoal não gravável
sudo chmod a-w /home/yourusername

Salve e feche o arquivo e reinicie o serviço FTP:

sudo systemctl restart vsftpd

Etapa 3: Testar o servidor FTP

Use um cliente FTP (por exemplo, FileZilla) ou a linha de comando para se conectar ao seu servidor:

ftp <server-ip>

saída:

PS C:\> ftp 10.0.0.13
Connected to 10.0.0.13.
220 (vsFTPd 3.0.5)
200 Always in UTF8 mode.
User (10.0.0.13:(none)): uadmin
331 Please specify the password.
Password:

230 Login successful.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
uploads
226 Directory send OK.
ftp: 12 bytes received in 0.00Seconds 12000.00Kbytes/sec.
ftp> put test.txt
200 PORT command successful. Consider using PASV.
553 Could not create file.
ftp> cd uploads
250 Directory successfully changed.
ftp> pwd
257 "/uploads" is the current directory
ftp> put test.txt
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
test.txt
226 Directory send OK.
ftp: 13 bytes received in 0.00Seconds 13000.00Kbytes/sec.
ftp>

Configuração do Samba para Windows e Linux

O Samba é ideal para compartilhar arquivos entre sistemas Linux e Windows. Siga estas etapas para configurar o Samba:

Etapa 1: Instalar o Samba

Execute o seguinte comando:

sudo apt update
sudo apt install samba

Etapa 2: Configurar o Samba

Edite o arquivo de configuração do Samba:

sudo nano /etc/samba/smb.conf

Adicione a seguinte seção para compartilhar um diretório:

[SharedFolder]
path = /path/to/shared/folder
read only = no
browsable = yes
guest ok = yes
force user = nobody


Etapa 3: Definir permissões

Certifique-se de que a pasta compartilhada tenha as permissões adequadas:

sudo chmod -R 0777 /path/to/shared/folder
sudo chown -R nobody:nogroup /path/to/shared/folder

Reinicie o serviço Samba:

sudo systemctl restart smbd

Etapa 4: Acessar compartilhamentos do Samba

  • Windows: Abra o Explorador de Arquivos e insira o endereço IP do servidor (por exemplo, \\<server-ip>).
  • Linux: Use o comando smbclient ou monte o compartilhamento com cifs.
Configuração da pasta compartilhada em SMB.config

Configure o nome de usuário e a senha do SMB usando:

sudo smbpasswd -a username

Depois de configurar o servidor Samba, adicionar o nome de usuário e a senha do SMB e compartilhar /www/var, tente acessar a partir da máquina Windows.


Configuração do NFS para Linux e macOS

O NFS é um protocolo poderoso para compartilhar arquivos entre sistemas baseados em Unix. Veja como configurar o NFS:

Etapa 1: Instalar o servidor NFS

Execute o seguinte comando:

sudo apt update
sudo apt install nfs-kernel-server

Etapa 2: Configurar exportações NFS

Edite o arquivo de exportações NFS:

sudo nano /etc/exports

Adicione o diretório que você deseja compartilhar, especificando os IPs ou redes dos clientes:

/path/to/shared/folder <client-ip>(rw,sync,no_subtree_check)

Em seguida, verifique as exportações usando:

exportfs -v

Etapa 3: Aplicar alterações

Reinicie o serviço NFS:

sudo systemctl restart nfs-kernel-server

Etapa 4: Montar o compartilhamento NFS

Na máquina cliente, use o seguinte comando para montar o compartilhamento NFS:

sudo mount <server-ip>:/path/to/shared/folder /mount/point

Do lado do cliente, instale o cliente NFS usando a linha de comando:

sudo apt install nfs-common

#Check if the NFS server is listening on the required ports:
sudo showmount -e nfs-server-ip


Solução de problemas comuns

Os serviços de compartilhamento de arquivos podem apresentar problemas devido a configurações incorretas ou de rede. Aqui estão alguns problemas comuns e soluções:

Configuração do firewall

Certifique-se de que as portas necessárias estejam abertas:

  • FTP: Porta 21
  • Samba: Portas 137-139 e 445
  • NFS: Portas 2049 e outras (consulte /etc/services para mais detalhes)

Use ufw para permitir essas portas:

sudo ufw allow <port-number>

Erros de permissão

Verifique as permissões e a propriedade dos diretórios das pastas compartilhadas.

Problemas de conectividade

Verifique as configurações de rede e certifique-se de que o servidor e o cliente estejam na mesma sub-rede.


Recursos adicionais

Para leitura adicional, consulte a documentação oficial de cada serviço:

Próximo capítulo: tópicos avançados

No próximo capítulo, mergulharemos em tópicos avançados para aprimorar ainda mais suas habilidades de gerenciamento de servidores. O primeiro tópico se concentrará em Configurar um servidor de banco de dados seguro no Ubuntu, onde você aprenderá a instalar e configurar bancos de dados como MySQL ou MariaDB em um servidor Ubuntu. Fique ligado!

3 thoughts on “16. Setting Up File Sharing Services on Ubuntu Server: a complete guide”

Deixe um comentário