Como configurar o servidor Samba no RHEL, Rocky Linux e AlmaLinux
O compartilhamento de arquivos é uma parte essencial da administração do servidor. Ele permite o compartilhamento de recursos na rede necessários aos usuários para realizar suas tarefas. Um dos softwares de compartilhamento de arquivos amplamente utilizados é o Samba.
O Samba, uma reimplementação do popular protocolo SMB (server message block), é um aplicativo estável e gratuito que permite o compartilhamento de arquivos e serviços de impressão em uma rede. O software é instalado em um servidor Linux central a partir do qual os arquivos compartilhados podem ser acessados em sistemas Linux e Windows.
Neste guia, orientaremos você na instalação do Samba Server em distribuições baseadas em RHEL, como CentOS Stream, Rocky Linux e AlmaLinux.
Passo 1: Instale o Samba no Linux
Para começar a usar o Samba, instale os pacotes principais do Samba, incluindo o pacote do cliente:
sudo dnf install samba samba-common samba-client
O comando instala os pacotes especificados junto com as dependências exibidas na saída. Após a conclusão da instalação, você receberá um resumo de todos os pacotes que foram instalados.
Etapa 2: criar e configurar compartilhamentos Samba
Uma vez instalados todos os pacotes samba, o próximo passo é configurar os compartilhamentos samba. Um compartilhamento samba é simplesmente um diretório que será compartilhado entre sistemas clientes na rede.
Aqui, vamos criar um compartilhamento samba chamado /data no caminho do diretório /srv/tecmint/.
sudo mkdir -p /srv/tecmint/data
A seguir, atribuiremos permissões e propriedade da seguinte maneira.
sudo chmod -R 755 /srv/tecmint/data
sudo chown -R nobody:nobody /srv/tecmint/data
sudo chcon -t samba_share_t /srv/tecmint/data
A seguir faremos algumas configurações no arquivo de configuração smb.conf que é o arquivo de configuração principal do Samba. Mas antes de fazermos isso, faremos backup do arquivo renomeando-o com uma extensão de arquivo diferente.
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
A seguir, vamos criar um novo arquivo de configuração.
sudo vim /etc/samba/smb.conf
Definiremos políticas sobre quem pode acessar o compartilhamento do samba adicionando as linhas mostradas no arquivo de configuração.
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = rocky-8
security = user
map to guest = bad user
dns proxy = no
ntlm auth = true
[Public]
path = /srv/tecmint/data
browsable =yes
writable = yes
guest ok = yes
read only = no
Salve e saia do arquivo de configuração.
Para verificar as configurações feitas, execute o comando:
sudo testparm
Em seguida, inicie e ative os daemons do Samba conforme mostrado.
sudo systemctl start smb
sudo systemctl enable smb
sudo systemctl start nmb
sudo systemctl enable nmb
Certifique-se de confirmar se os daemons smb e nmb estão em execução.
sudo systemctl status smb
sudo systemctl status nmb
Para permitir o acesso ao compartilhamento samba de sistemas Windows remotos, você precisa abrir o protocolo samba no firewall.
sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --reload
sudo firewall-cmd --list-services
Etapa 3: Acessando o Samba Share do Windows
Até agora, instalamos o samba e configuramos nosso compartilhamento de samba. Agora estamos prontos para acessá-lo remotamente. Para fazer isso em um cliente Windows, pressione a tecla +R
do logotipo do Windows para iniciar a caixa de diálogo Executar.
No campo de texto fornecido, insira o endereço IP do servidor samba conforme mostrado:
\\server-ip
A seguinte janela chamada ‘Público’ aparecerá. Lembre-se, este é o diretório que aponta para nosso compartilhamento samba no diretório /srv/tecmint/data.
Atualmente, nosso diretório está vazio porque não criamos nenhum arquivo. Então, voltaremos ao nosso terminal e criaremos alguns arquivos no diretório de compartilhamento do samba.
cd /srv/tecmint/data
sudo touch file{1..3}.txt
Agora navegaremos até a pasta ‘Público’ onde serão exibidos os arquivos que criamos anteriormente.
Perfeito. Conseguimos acessar com sucesso nosso compartilhamento de samba. No entanto, nosso diretório é acessível a qualquer pessoa e todos podem editar e excluir arquivos à vontade, o que não é recomendado, especialmente se você planeja hospedar arquivos confidenciais.
Na próxima etapa, demonstraremos como você pode criar e configurar um diretório de compartilhamento seguro do samba.
Etapa 4: Diretório de compartilhamento seguro do Samba
Primeiro, criaremos um novo usuário samba.
sudo useradd smbuser
A seguir, configuraremos uma senha para o usuário samba. Esta é a senha que será utilizada durante a autenticação.
sudo smbpasswd -a smbuser
A seguir, criaremos um novo grupo para nosso compartilhamento seguro de samba e adicionaremos o novo usuário samba.
sudo groupadd smb_group
sudo usermod -g smb_group smbuser
Depois disso, crie outro compartilhamento de samba que será acessado com segurança. No nosso caso, criamos outro diretório no mesmo caminho do
sudo mkdir -p /srv/tecmint/private
Em seguida, configure as permissões de arquivo para o compartilhamento do samba
sudo chmod -R 770 /srv/tecmint/private
sudo chcon -t samba_share_t /srv/tecmint/private
sudo chown -R root:smb_group /srv/tecmint/private
Mais uma vez, acesse o arquivo de configuração do Samba.
sudo vim /etc/samba/smb.conf
Adicione estas linhas para definir o compartilhamento seguro do samba.
[Private]
path = /srv/tecmint/private
valid users = @smb_group
guest ok = no
writable = no
browsable = yes
Salve as alterações e saia.
Finalmente, reinicie todos os daemons do samba conforme mostrado.
sudo systemctl restart smb
sudo systemctl restart nmb
Desta vez, ao acessar seu servidor, você notará uma pasta adicional ‘Privado’. Para acessar a pasta, você deverá se autenticar com as credenciais do usuário Samba. Forneça o nome de usuário e a senha do usuário que você criou na etapa anterior e clique em ‘OK’.
Etapa 5: Acessando o Samba Share do cliente Linux
Para acessar o compartilhamento de um cliente Linux, primeiro certifique-se de que o pacote do cliente Samba esteja instalado.
sudo dnf install samba-client
Em seguida, use o comando smbclient da seguinte forma
smbclient ‘\2.168.43.121\private’ -U smbuser
E isso conclui este guia sobre como configurar o Samba no RHEL, CentOS Stream, Rocky Linux e AlmaLinux. Seus comentários sobre este guia serão muito apreciados.