Samba é uma implementação do protocolo SMB/CIFS que permite o compartilhamento de arquivos e impressoras entre sistemas Linux e Windows. Nesta aula, vamos explorar a configuração de um servidor Samba no Linux, abordando a instalação, configuração básica, segurança e práticas recomendadas.
O que é Samba?
Samba permite que sistemas Linux funcionem como servidores de arquivos e impressoras em redes mistas de Linux e Windows. Ele facilita a interoperabilidade entre diferentes sistemas operacionais, permitindo que os usuários acessem e compartilhem recursos sem complicações.
Vantagens do Samba
- Interoperabilidade: Permite o compartilhamento de arquivos e impressoras entre Linux e Windows.
- Flexibilidade: Suporta diversos tipos de configurações e ambientes de rede.
- Segurança: Oferece várias opções de segurança e autenticação.
Instalação do Samba
No Servidor
Para instalar o Samba em distribuições baseadas em Debian (como Ubuntu):
$ sudo apt update
$ sudo apt install samba
Para distribuições baseadas em Red Hat (como CentOS):
$ sudo yum install samba
Verificando a Instalação
Após a instalação, verifique a versão do Samba para confirmar que foi instalado corretamente:
$ smbd --version
Configuração do Samba
Diretórios de Compartilhamento
Escolha o diretório que você deseja compartilhar (por exemplo, /srv/samba/share
):
$ sudo mkdir -p /srv/samba/share
$ sudo chown nobody:nogroup /srv/samba/share
$ sudo chmod 2775 /srv/samba/share
Editando o Arquivo smb.conf
O arquivo de configuração principal do Samba está localizado em /etc/samba/smb.conf
. Edite este arquivo para configurar o compartilhamento.
$ sudo nano /etc/samba/smb.conf
Adicione a seguinte configuração básica ao final do arquivo:
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = ubuntu
security = user
map to guest = bad user
dns proxy = no
[Share]
path = /srv/samba/share
browsable =yes
writable = yes
guest ok = yes
read only = no
create mask = 0775
directory mask = 0775
workgroup
: Define o grupo de trabalho SMB.server string
: Descrição do servidor.netbios name
: Nome NetBIOS do servidor.security
: Define o modo de segurança (neste caso, usuário).map to guest
: Mapeia usuários inválidos para convidado.dns proxy
: Desativa o proxy DNS.
Reiniciando o Samba
Para aplicar as alterações, reinicie o serviço Samba:
$ sudo systemctl restart smbd
$ sudo systemctl enable smbd
Adicionando Usuários Samba
Criando um Novo Usuário
Para adicionar um usuário ao Samba, primeiro crie o usuário no sistema (se ainda não existir):
$ sudo adduser sambausuario
Depois, adicione o usuário ao Samba:
$ sudo smbpasswd -a sambausuario
Permissões e Propriedades
Para garantir que o usuário tenha as permissões corretas no diretório compartilhado:
$ sudo chown -R sambausuario:sambausuario /srv/samba/share
Configuração de Segurança
Autenticação e Permissões
A configuração de segurança pode ser ajustada no arquivo smb.conf
. Para exigir autenticação de usuário:
security = user
passdb backend = tdbsam
Firewalls
Certifique-se de que seu firewall permite tráfego SMB. Adicione regras para permitir portas 137-139 e 445:
Para ufw
(firewall do Ubuntu):
$ sudo ufw allow samba
Para firewalld
(firewall do CentOS):
$ sudo firewall-cmd --permanent --add-service=samba
$ sudo firewall-cmd --reload
Monitoramento e Logs
Verifique os logs do Samba para monitorar atividades e solucionar problemas. Os logs estão geralmente em /var/log/samba/log.smbd
.
Para monitorar os logs em tempo real:
$ sudo tail -f /var/log/samba/log.smbd
Exemplos Práticos
Exemplo 1: Configurando um Servidor Samba Básico
- Instale o Samba:
$ sudo apt install samba # Debian
$ sudo yum install samba # Red Hat
- Crie e configure o diretório a ser compartilhado:
$ sudo mkdir -p /srv/samba/share
$ sudo chown nobody:nogroup /srv/samba/share
$ sudo chmod 2775 /srv/samba/share
- Edite o arquivo
/etc/samba/smb.conf
:
$ sudo nano /etc/samba/smb.conf
# Adicione a seguinte configuração:
$ sudo nano /etc/samba/smb.conf
# Adicione a seguinte configuração:
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = ubuntu
security = user
map to guest = bad user
dns proxy = no
[Share]
path = /srv/samba/share
browsable = yes
writable = yes
guest ok = yes
read only = no
create mask = 0775
directory mask = 0775
- Reinicie o Samba:
$ sudo systemctl restart smbd
$ sudo systemctl enable smbd
- Adicione um usuário Samba:
$ sudo adduser sambausuario
$ sudo smbpasswd -a sambausuario
$ sudo chown -R sambausuario:sambausuario /srv/samba/share
- Configure o firewall para permitir tráfego SMB:
Para ufw
:
$ sudo ufw allow samba
Para firewalld
:
$ sudo firewall-cmd --permanent --add-service=samba
$ sudo firewall-cmd --reload
Configurar e gerenciar servidores Samba no Linux é uma habilidade essencial para administradores de sistemas, especialmente em ambientes de rede mista. Nesta aula, exploramos como configurar um servidor Samba, adicionar usuários, e aplicar práticas de segurança. Pratique essas técnicas para ganhar confiança na administração de servidores Samba no Linux.
Se tiver dúvidas ou sugestões, deixe um comentário no blog NerdExpert.com.br. Na próxima aula, exploraremos a configuração de servidores DHCP no Linux.
Sou um profissional na área de Tecnologia da informação, especializado em monitoramento de ambientes, Sysadmin e na cultura DevOps. Possuo certificações de Segurança, AWS e Zabbix.