O Samba é um conjunto de ferramentas que permite que máquinas Linux e Windows se comuniquem entre si, sua finalidade é compartilhar arquivos, diretório, impressão, através do protocolo SMB (Server Message Block) e CIFS (Common Internet File System). O Samba é uma das soluções em ambiente UNIX capaz de interligar redes heterogêneas e permitir o compartilhamento de sistemas baseados no UNIX através de sistemas operacionais Linux, Windows, MacOSx e afins.
Objetivo:
A)- Configurar o Samba 4 em MODO PDC, ou seja, não será um Domain Controller e não será integrado ao AD DS (Active Directory Domain Server), este procedimento somente será feito na Parte 2 deste procedimento.
B)- Todo o procedimento de instalação, configuração e afins, será utilizado o usuário “root”
C)- Acessar um compartilhamento através de um dispositivo móvel (OS Android)
D)- Configurar o recurso de lixeira através do módulo VFS (Virtual File System)
E)- O endereço IP/Máscara do servidor Samba será: 192.168.1.250/24
F)- O tutorial foi desenvolvido em ambiente virtual (VirutalBox 6)
G-) O hostname do servidor Linux será: srvdc01
Observações:
A)- O hardware utilizado não é necessário ser este e sim o hardware que possuir plataformas: (x86 / x64 – INTEL) ou (AMD64 – AMD)
B)- Não serão abordadas instalação do sistema operacional, comandos, configuração de rede e afins.
C)- Siga atentamente os comandos utilizados neste artigo.
Sistema Operacional utilizado no ambiente:
Ubuntu 18.04.5 LTS (Bionic Beaver)
Versão do Samba utilizado no ambiente:
4.11.6
Hardware utilizado no ambiente:
Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz
Memória: 8GB
HD: 50GB
Procedimento de instalação do Samba
1– Atualiza a base de dados de pacotes do sistema operacional e instale a biblioteca GCC e o utilitário de compilação “Make”
apt-get update && apt-get install gcc make nmap htop ssh vim net-tools sudo tree -y
1.1– Instalando dependências de software
apt-get install acl attr autoconf bison build-essential libjson-perl -y
apt-get install debhelper dnsutils docbook-xml docbook-xsl flex gdb krb5-user -y
apt-get install libacl1-dev libaio-dev libattr1-dev libblkid-dev libbsd-dev -y
apt-get install libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl -y
apt-get install libpopt-dev libreadline-dev perl perl-modules pkg-config -y
apt-get install python-all-dev python-dev python-dnspython python-crypto -y
apt-get install xsltproc zlib1g-dev smbclient -y
1.2- Instalando Samba 4
apt-get update && sudo apt-get dist-upgrade -y
apt-get install samba -y
2- Verifica versão do Samba
samba -V
Exemplo do retorno do comando:
Version 4.11.6-Ubuntu
3- Inicie o serviço do Samba 4
/etc/init.d/smbd start && /etc/init.d/nmbd start
Retorno do comandos:
[ ok ] Starting nmbd (via systemctl): nmbd.service.
[ ok ] Starting smbd (via systemctl): smbd.service.
3.1- Execute os comandos:David Ralph
systemctl status smbd && systemctl status nmbd
Resultado dos comandos:
4- Acessando o diretório padrão do Samba, renomeando o arquivo original para .bkp
cd /etc/samba/ && mv smb.conf smb.conf.bkp
5- Acessando o diretório de configuração do Samba e criando um novo arquivo smb.conf
cd /etc/samba && touch smb.conf
6- Insira as configurações no arquivo smb.conf e seus compartilhamentos:
Comando: vim smb.conf ou vim /etc/samba/smb.conf
# Global parameters
[global]
workgroup = MATRIX
server string = %h server
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
client signing = required
dns proxy = No
wins support = Yes
# Lixeira
vfs objects = recycle
recycle:exclude_dir = tmp, cache
recycle:exclude = *.tmp, *.log, *.obj, ~*.*, *.bak, *.iso
recycle:repository = /opt/lixeira/
recycle:versions = yes
recycle:keeptree = yes
idmap config * : backend = tdb
invalid users = root
[Servidor]
path = /opt/server
valid users = @neo
force group = matrix
group = matrix
read only = No
force create mode = 0750
force directory mode = 0775
map acl inherit = Yes
[Neo]
path = /opt/neo
valid users = @neo
force group = matrix
group = matrix
read only = No
force create mode = 0750
force directory mode = 0775
map acl inherit = Yes
[Publico]
path = /opt/public
valid users = @neo
force group = matrix
group = matrix
read only = No
force create mode = 0777
force directory mode = 0777
guest ok = Yes
[Lixeira]
path = /opt/lixeira
7- Pressione ESC em seguida digite :wq + ENTER
8- Criação dos diretórios que o Samba irá utilizar
mkdir -p /opt/server && mkdir -p /opt/lixeira && mkdir -p /opt/public && mkdir -p /opt/neo
9- Criando usuário e grupo do Samba
useradd -M -s /bin/false neo
groupadd matrix
10- Adicionar usuário “neo” ao grupo “matrix”, conforme o comando abaixo:
usermod -G matrix neo
11- Adicionar usuário ao Samba e ajustar senha (Configuração de senha com o mesmo comando)
smbpasswd -a neo
New SMB password:
Retype new SMB password:
Added user neo.
12- Listando usuário do Samba:
pdbedit -L
Exemplo do retorno do comando anterior:
neo:1001:
13- Configurando permissões de usuários e gruposDavid Ralph
chown -R neo:matrix /opt/server
chown -R neo:matrix /opt/lixeira
chown -R neo:matrix /opt/public
chown -R neo:matrix /opt/neo
14- Configurando permissões de diretórios
chmod 770 /opt/server
chmod 770 /opt/lixeira
chmod 770 /opt/public
chmod 770 /opt/neo
15- Reinicie os serviços do Samba com os comandos abaixo:
/etc/init.d/smbd restart && /etc/init.d/nmbd restart
16- Acessamos o servidor Samba a partir de uma máquina cliente utilizando o Windows 7, clicando em Iniciar > Executar e digitar: \\srvdc01 ou \\192.168.1.250
Vejamos o resultado:
A-) Insira o grupo de trabalho\usuário e senha, que foi criado nas etapas: 9 e 11 deste procedimento:
B-) Acesso aos diretórios compartilhados efetuado com sucesso:
17- Mapeamos em nossa máquina Windows os compartilhamentos do servidor Samba, vejamos como ficou nas próximas ilustrações a seguir:
Obs. Repare que todo o processo não se obteve erros de permissões e acessos negados com o usuário que criamos nas etapas 9 e 11 deste procedimento.
18- Iremos acessar nosso compartilhamento via Samba através de um dispositivo móvel utilizando o OS Android (Versão 6 ou superior), utilizando o aplicativo gerenciador de arquivos ES File Explorer
Download do aplicativo:
https://play.google.com/store/apps/details?id=com.estrongs.android.pop&hl=pt_BR
19- Ao abrir o aplicativo ES File Explorer em nosso dispositivo móvel, iremos acessar o menu lateral, em seguida escolheremos a opção LAN, conforme as ilustrações a seguir:
20- Em seguida o software irá procurar algum compartilhamento em algum servidor na rede 192.168.1.0/24, conforme a ilustração a seguir:
21- Após encontrar o servidor Samba (SRVDC01), iremos acessar o mesmo e repare que o mesmo irá solicitar um usuário e senha, insira o usuário e senha criado no Samba no tópico: 9 e 11, insira estes dados, conforme a ilustração a seguir:
22- Depois de inserir os dados acima, conseguimos acessar nosso servidor Samba através de um dispositivo móvel, agora iremos acessar o servidor clicando em SRVDC01, conforme a ilustração a seguir:
23- Depois que acessamos nosso servidor Samba, iremos acessar o diretório Neo onde iremos criar um diretório chamado Trinity, conforme podemos ver nas próximas ilustrações a seguir:
24- Vamos conferir se a pasta realmente foi criada no sistema cliente (Windows) e no servidor (Linux), conforme as próximas ilustrações:
Cliente (Windows 7)
Servidor Linux (Debian 9)
Dicas úteis !!!
A)- Utilize o software rcconf no Debian ou sistema derivado do mesmo, ex: Ubuntu Server, podemos colocar os serviços do Samba (nmbd e smbd) para iniciar durante o boot, caso o software não esteja instalado, instale o mesmo utilizando o comando:
apt update && apt-get install rcconf -y
Obs. Para habilitar o software para iniciar pelo boot do sistema, basta seguir com as setas de direção do teclado até o software e pressione a tecla de ESPAÇO, em seguida pressionar a tecla TAB para habilitar o botão OK e finalizar pressionando a tecla ENTER.
Ilustração do software rcconf
B)- Altere o grupo de workgroup do seu sistema operacional Windows para o workgrup do Samba, em nosso ambiente o workgroup é: MATRIX, conforme a ilustração abaixo:
C)- Utilize o comando abaixo para visualizar o acesso de vários clientes Windows e Linux, utilizando IP’s da rede: 192.168.1.0/24 ao nosso servidor Samba, veja o retorno do comando:
smbstatus | grep 192.168.1.*
Finalizando:
Espero que este procedimento seja útil para determinados fins de uso e em breve será lançada a Parte 2 deste artigo, onde será abordado a integração do Windows Server 2012R2 com o AD DS (Active Directoy Domain Server) com o Samba 4, obrigado pela visita. Data da última atualização: 21/12/2020
Autor:
Prof. Fernando Henrique Santorsula
E-mail: fernando@fhs.pro.br