O SAMBA, na versão 4, implementa um serviço de diretórios LDAP, com autenticação Kerberos, oferece suporte a DNS dinâmico e atende muitos serviços para os quais, antes, só se pensava no Active Directory.
Hoje ele fornece tudo que é necessário para trabalhar como um Active Directory Domain Controler, tendo compatibilidade total com o Sistema Operacional Microsoft Windows atual. Sendo que podemos implementá-lo em ambientes de produção como Controlador de Domínio primário ou secundário, em nível funcional de floresta compatível com Windows Server 2008 R2.
Neste tutorial utilizaremos o FreeBSD, um Sistema Operacional extremamente robusto e estável, sendo uma das mais populares versões de Unix, largamente usado no meio corporativo. Difere do Linux mais em questões de Licenças do que em qualquer outro aspecto. O FreeBSD possui uma licença mais maleável do que a GNU General Public License ou a Copyright proprietária, estando mais perto da ideia de ‘domínio público’. Com a licença Berkeley Software Distribution é possível desenvolver códigos e doar o projeto ou fechar e vender o código, de acordo com o objetivo do desenvolvedor. Leia mais sobre ele clicando aqui.
O FreeBSD tem arquivos de configuração simplificados e práticos, porém poderosos, de onde o Slackware Linux apoiou sua filosofia “Keep it simple stupid”.
Um dos principais arquivos de configuração do Sistema Operacional, é o rc.conf, servindo para diversas configurações importantes, como por exemplo, setar o hostname, adicionar serviços para subir no boot do sistema, editar ip fixo, entre outras possibilidades. Ele se encontra dentro do diretório /etc/.
Neste tutorial, usei o rc.conf justamente para chamar o SAMBA, habilitar o serviço de ssh, setar o layout de teclado, setar ip da placa de rede, entre outras funcionalidades, como você pode ver no exemplo usado pela eShark Tecnologia, note que o editor padrão do FreeBSD é o ‘ee’, você poderá pesquisar mais sobre o modo de operação dele na internet,é simples como o nano.
MÃO NA MASSA
CONFIGURANDO O RC.CONF:
ee /etc/rc.conf
hostname="ADFBSD" keymap="br275.iso.kbd" ifconfig_em0="inet 192.168.0.250 netmask 255.255.255.0" defaultrouter="192.168.0.254" sshd_enable="YES" ntpd_enable="YES" powerd_enable="YES" samba_server_enable="YES" cupsd_enable="YES" # Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable dumpdev="AUTO"
EDITANDO O HOSTS:
ee /etc/hosts
192.168.0.250 ADFBSD ADFBSD.eshark.net
EDITANDO O RESOLV.CONF:
ee /etc/resolv.conf nameserver 192.168.0.250
nameserver 192.168.0.254 search eshark.net
HABILITANDO COMPATIBILIDADE DE PERMISSÕES DO WINDOWS:
ee /etc/fstab
/dev/da0s1a / ufs rw,acls 1 1
mount -o acls /
INSTALANDO O SAMBA4:
pkg install samba42
pkg install samba-nsupdate
pkg install cups
PROVISIONANDO:
cp /usr/local/etc/samba/smb4.conf /usr/local/etc/samba/smb4.conf.old
samba-tool domain provision --use-rfc2307 --interactive
EDITANDO OS COMPARTILHAMENTOS:
ee /usr/local/etc/samba/smb4.conf
# Global parameters [global] workgroup = ESHARK realm = ESHARK.NET netbios name = ADFBSD server role = active directory domain controller dns forwarder = 192.168.0.254 idmap_ldb:use rfc2307 = yes [netlogon] path = /var/db/samba4/sysvol/eshark.net/scripts read only = No browseable = no [sysvol] path = /var/db/samba4/sysvol read only = No browseable = no [profiles] path = /var/db/samba4/profiles read only = no browseable = no # LIXEIRA vfs objects = recycle recycle:facility = LOCAL1 recycle:priority = NOTICE recycle:maxsize = 0 recycle:directory_mode = 0774 recycle:subdir_mode = 0774 recycle:keeptree = true recycle:touch = true recycle:versions = true recycle:repository = /root/LIXEIRA recycle:exclude = *.tmp, *.log, *.obj, ~*.*, *.bak, *.exe, *.bin [DADOS] path = /root/DADOS comment = Compartilhamentos da Rede read only = No [DIRETORIA] path = /root/DADOS/DIRETORIA comment = Pasta Diretoria read only = No [RH] path = /root/DADOS/RH comment = Pasta RH read only = No [FINANCEIRO] path = /root/DADOS/FINANCEIRO comment = Pasta Financeiro read only = No [TECNICO] path = /root/DADOS/TECNICO comment = Pasta Tecnico read only = No [COMERCIAL] path = /root/DADOS/COMERCIAL comment = Pasta Comercial read only = No [PUBLICA] path = /root/DADOS/PUBLICA comment = Pasta Publica read only = no
Crie os diretórios citados acima no arquivo, em seus respectivos lugares!
RELENDO AS CONFIGURAÇÕES:
smbcontrol all reload-config
CRIANDO LINK PARA KRB5.CONF /etc/krb5.conf:
ln -s /var/db/samba4/private/krb5.conf /etc/krb5.conf
EDITANDO /etc/rc.conf:
vim /etc/rc.conf
samba_server_enable="YES" cupsd_enable="YES"
“STARTANDO” OS SERVIÇOS:
/usr/local/etc/rc.d/cupsd start /usr/local/etc/rc.d/samba_server start
ou use uma opção mais linux-like:
sysrc samba_server_enable=YES service samba_server start
REMOVENDO A COMPLEXIDADE DE SENHAS (OPCIONAL):
samba-tool domain passwordsettings show samba-tool user setexpiry Administrator –noexpiry samba-tool user setexpiry --days=20 Administrator samba-tool domain passwordsettings set --complexity=off samba-tool domain passwordsettings set --history-length=0 samba-tool domain passwordsettings set --min-pwd-age=0
O restante das configurações poderão ser feitas agora no AD, através das Ferramentas de administração do Windows Server 2008 R2 (RSAT), instaladas em uma versão de Windows 7, 8 ou 10.
Você também pode construir um Controlador de Domínios usando outras plataformas *NIX, como Debian, seguindo o tutorial, clicando no botão abaixo:
Controlador de Domínio com Debian e Samba 4
Este é o meu modo de fazer a coisa neste momento, continuo estudando e aberto!
That’s all folks!