Configuração de Servidor de Arquivos com Samba 4 em modo PDC

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, 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á: pdc01

 

Observações:

A)- O hardware utilizado não é necessário ser este e sim o hardware que possuir plataformas: (x86 ou amd64 – AMD ou Intel);

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.


Sistemas operacionais que pode ser utilizado no ambiente:
Ubuntu Server, Debian, CentOS e Rocky Linux

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 (SSD): 50GB


Procedimento de instalação do Samba

Ubuntu Server ou Debian
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 update && apt install gcc make nmap htop ssh vim net-tools sudo tree -y

CentOS ou Rocky Linux
yum install vim net-tools tree nmap -y

1.2- Instalando o Samba 4

Ubuntu Server ou Debian
apt update && apt install samba -y

CentOS ou Rocky Linux
yum update && yum upgrade -y && yum install samba -y

2- Verifica versão do Samba no Ubuntu Server, Debian, CentOS e Rocky Linux
smbstatus

Exemplo do retorno do comando no Ubuntu Server, Debian, CentOS e Rocky Linux
Samba version 4.14.5

3- Inicie o serviço do Samba 4 → Ubuntu Server, Debian, CentOS e Rocky Linux
systemctl start smb.service && systemctl start nmb.service

3.1- Execute os comandos no Ubuntu Server, Debian, CentOS e Rocky Linux
systemctl status smb.service && systemctl status nmb.service

Resultado dos comandos no Ubuntu Server, Debian, CentOS e Rocky Linux

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.2- Execute os comandos no Ubuntu Server, Debian, CentOS e Rocky Linux para o Samba e seus utilitários, inicializarem com o sistema operacional
systemctl enable smb.service && systemctl enable nmb.service

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]
client min protocol = NT1
client signing = required
dns proxy = No
log file = /var/log/samba/log.%m
max log size = 1000
name resolve order = lmhosts wins bcast host
os level = 100
preferred master = Yes
security = USER
server min protocol = NT1
server string = %h server
wins support = Yes
workgroup = MATRIX
recycle:keeptree = yes
recycle:versions = yes
recycle:repository = /opt/lixeira/
recycle:exclude = *.tmp, *.log, *.obj, ~*.*, *.bak, *.iso
recycle:exclude_dir = tmp, cache
idmap config * : backend = tdb
invalid users = root
vfs objects = recycle

[Servidor]
comment = Arquivos do Servidor
force create mode = 0750
force directory mode = 0775
force group = matrix
map acl inherit = Yes
path = /opt/server
read only = No
valid users = @neo

[Neo]
comment = Arquivos do Neo
force create mode = 0750
force directory mode = 0775
force group = matrix
map acl inherit = Yes
path = /opt/neo
read only = No
valid users = @neo

[Publico]
comment = Arquivos da pasta pública
force create mode = 0777
force directory mode = 0777
force group = matrix
guest ok = Yes
path = /opt/public
read only = No
valid users = @neo

[Lixeira]
comment = Arquivos da 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 grupos

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

14.1- Edite o arquivo /etc/hosts com o editor vim → vim /etc/hosts e insira a linha abaixo no mesmo:

192.168.1.250 pdc01

15- Desative o SElinux no CentOS e Rocky Linux, acessando o arquivo: /etc/sysconfig/selinux → conforme a ilustração a seguir, em seguida, reinicie o sistema com o comando → reboot

 

 

 

 

 

 

 

 

15.1 –  Execute os comandos abaixo, parando e desativando o Firewall no Ubuntu Server:
ufw stop && ufw disable

15.2 –  Execute os comandos abaixo, parando e desativando o Firewall no CentOS / Rocky Linux:
systemctl stop firewalld && systemctl disable firewalld

16- Acessamos o servidor Samba a partir de uma máquina cliente utilizando o Windows 7 ou 10, clicando em Iniciar → Executar e digitar:  \\pdc01  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, Ubuntu Server, em versões mais antigas 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 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 2016DC com o AD DS (Active Directoy Domain Server) com o Samba 4, obrigado pela visita. Data da última atualização: 21/04/2023

Autor:
Prof. Fernando Henrique Santorsula
E-mail: fernando@fhs.pro.br

Administração e Desenvolvimento: Profº Fernando Henrique Santorsula - Todos os direitos reservados - 2014 - 2024.