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, 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 será: 192.168.1.250/24

F)- 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:
Linux Debian 9 – 64Bits
Kernel: 4.15.0-45-generic

Versão do Samba utilizado no ambiente:
4.5.16

Hardware utilizado no ambiente:
Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz
Memória: 8GB
HD: 500GB

 

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

1.1 – Instalando dependências de software
apt-get install acl attr autoconf bison build-essential \
debhelper dnsutils docbook-xml docbook-xsl flex gdb krb5-user \
libacl1-dev libaio-dev libattr1-dev libblkid-dev libbsd-dev libjson-perl \
libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl \
libpopt-dev libreadline-dev perl perl-modules pkg-config \
python-all-dev python-dev python-dnspython python-crypto \
xsltproc zlib1g-dev

Ou se preferir, instale linha a linha:

apt-get install acl attr autoconf bison build-essential  libjson-perl
apt-get install debhelper dnsutils docbook-xml docbook-xsl flex gdb krb5-user
apt-get install libacl1-dev libaio-dev libattr1-dev libblkid-dev libbsd-dev
apt-get install libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl
apt-get install libpopt-dev libreadline-dev perl perl-modules pkg-config
apt-get install python-all-dev python-dev python-dnspython python-crypto
apt-get install xsltproc zlib1g-dev smbclient

1.2 – Instalando Samba 4
apt-get update && sudo apt-get dist-upgrade -y
apt-get install samba

2 – Verifica versão do Samba
samba -V

Exemplo do retorno do comando:
Version 4.5.16-Debian

3- Inicie o serviço do Samba 4
/etc/init.d/samba start

Retorno do comando:
[ ok ] Starting nmbd (via systemctl): nmbd.service.
[ ok ] Starting smbd (via systemctl): smbd.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]
workgroup = MATRIX
server string = %h server
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
name resolve order = wins hosts bcast
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 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

15- Pare e inicie os serviços do Samba com o comando abaixo:
/etc/init.d/samba 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), 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

 

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: 05/03/2019

 

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