Samba com Raspberry Pi (Raspbian 10)

A versatilidade do Raspberry Pi é grande. Ainda tenho a versão 1, modelo B+, e estou muito satisfeito.
Algumas coisas só vão funcionar de forma maravilhosa com a versão 3, mas, enquanto o meu não chega, vamos de SAMBA!

O que é SAMBA?

O nome SAMBA na verdade deveria ser SMB, mas o termo já pertencia a outra coisa (SMB Server), aí, verificando no dicionário qual palavra tinha essas 3 letras, Andrew Tridgell encontrou SAMBA. Aí colou. A proposta do SAMBA é oferecer compartilhamento de recursos do disco e impressão de um servidor Linux com clientes Windows.
Esse artigo trata de instalar e configurar o SAMBA em um Raspberry Pi. A pasta compartilhada estará em um HD externo, então verifique se a fonte de energia do seu RPi fornece pelo menos 2 amperes. Caso queira compartilhar recursos do SD, então não precisa se preocupar com isso.

Primeiros passos

Configurando o servidor

Antes de tudo, certifique-se de que o seu RPi esteja atualizado, executando sudo apt update e, em seguida, sudo apt upgrade.

Configurando o HD externo

Se for utilizar um HD externo, como eu, e ele estiver formatado como NTFS (como o meu) ou FAT, considere instalar os módulos necessários para leitura do sistema de arquivos:
Para FAT: sudo apt install exfat-fuse exfat-utils
Para NTFS: sudo apt install ntfs-3g
Ou instale tudo para ter suporte a todos os sistemas de arquivo utilizados pelo Windows.
Reinicie o seu RPi. Sério. Reinicie senão vai dar ruim na hora de montar a unidade.

Montar e auto montar a unidade externa a cada boot

Vou criar uma pasta pra servir de ponto de montagem para minha unidade de disco. Você pode criar aonde achar melhor. Eu decidi criar em /mnt.

sudo mkdir /mnt/externo

Também decidi alterar a propriedade desse diretório. Se você usar um ls -lah /mnt, vai notar que o dono é root e o grupo também.


Vou mudar isso. O dono será pi e o grupo será pi também.


Beleza. Agora preciso saber qual é a partição que vou montar ali. Vou usar o comando lsblk pra descobrir


O disco é o sda e a partição é a sda1. Vou montar com sudo mount /dev/sda1 /mnt/externo pra ver se está tudo certo.


Tudo certo. Agora eu quero que essa unidade seja montada sempre que, por qualquer razão, o RPi iniciar. O problema é que o boot pode falhar se a unidade não estiver lá ou der algum problema, então tenho que resolver isso também.

A primeira coisa antes de configurar o automount é checar a identificação do disco. Vou usar o blkid /dev/sda1 pra fazer isso.


Anotei aqui o UUID do meu disco e abri a tabela de partições do disco usando sudo nano /etc/fstab. Na linha imediatamente anterior ao comentário (a linha que inicial com #), inclui a minha linha de montagem da unidade. Ficou assim:


Note o seguinte:
UUID: é a identificação da minha partição. Eu poderia usar, /dev/sda1 aqui.
/mnt/externo: é o diretório que servirá como ponto de montagem.
auto: para identificar automaticamente o sistema de arquivos. Eu poderia colocar ntfs também.
Dos outros comandos, umask=000, users e rw é para garantir a escrita no disco. O parâmetro nofail é para não falhar o boot caso a unidade não esteja presente ou tenha falhado.

É hora de salvar, sair (CTRL + X, S ou Y e Enter), e reiniciar o RPi pra ver se tudo está nos conformes. Logo que a tela de boot aparecer, liste o diretório e confirme se a unidade foi montada:


Tudo pronto. Vamos adiante!

Instalando o SAMBA

Agora vamos ao SAMBA. Ele está disponível no repositório padrão do Raspbian, então fica fácil. Use:

sudo apt install samba samba-common-bin

Ele vai perguntar se você quer obter informações WINS do servidor DHCP. Minha rede não tem servidores Windows e meu servidor DHCP é o roteador, então eu marquei não.

Depois de instalado, vamos precisar editar o arquivo de configuração e definir as opções de compartilhamento. Vou editar o arquivo usando sudo nano /etc/samba/smb.conf.


Fui até o final do arquivo e adicionei essas informações:

[Nome do compartilhamento]
Comment = Comentário para o hover do mouse
Browseable = yes para ser possível navegar pelos diretórios
Writeable = yes para conseguir gravar arquivos
Create mask = 0777 para que os arquivos criados sejam compartilhados com todos
Directory mask = 0777 mesma coisa, mas para diretórios
Public = yes para público

Depois de salvar e sair do arquivo, vou reiniciar o serviço para recarregar o arquivo de configuração usando sudo systemctl restart smbd.

Teste drive

No Windows, acesse a rede usando o Explorer, ou digite o IP do RPi na barra de endereços. Se tudo deu certo, você verá isso aqui:


E estará tudo certo com sua configuração do SAMBA.

Curtiu? Compartilha!

Comentários

Postagens mais visitadas deste blog

Tá na hora de piscar LEDs de maneira melhorada

LEDs on/off com PHP, Python e RPi

PagSeguro e PHP - Usando a tela do PagSeguro (checkout redirect)