Pesquisa de site

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.