samba4 logo

Vamos começar essa jornada com uma instalação limpa do Raspbian e logo em seguida liberando algum espaço adicional no disco:

sudo apt-get purge wolfram-engine libreoffice scratch -y*

sudo apt-get clean

apt-get autoremove -y

Depois de liberar algum espaço vamos iniciar a instalação de pacotes que vamos precisar:

sudo apt-get install samba smbclient winbind krb5-user krb5-config krb5-locales winbind libpam-winbind libnss-winbind

Agora, vamos configurar um IP fixo para o raspberry pi:

sudo vim /etc/dhcpcd.conf

#isssssntttttetaaaaaxetttttpriiiiilfccccciaccrddidieooopotumm_meetaaaalteiidiyhrnndn0s__r_u=nness1aasee9mmsa2ee=re.__1ct1ss9hh6ee2=08rr.m.vv1ya1ee6.n.rr8dd1ss.o==1ms11.ae292it72n...s01lt.6oa08ct..ai11lc.1IPs,aswellasdomainspecifics

Não esqueça de configurar endereços que sejam no range da sua rede!

Desativar entradas Legadas/Antigas pra evitar erros

sudo systemctl stop samba-ad-dc.service smbd.service nmbd.service winbind.service sudo systemctl disable samba-ad-dc.service smbd.service nmbd.service winbind.service

Provisionar o Domínio no samba:

Obs: antes de fazer alterações verifique qual o caminho do arquivo de configuração do samba e fazer uma cópia do mesmo: sudo smbd -b | grep “CONFIGFILE” CONFIGFILE: /etc/samba/smb.conf

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.backup

Agora estamos prontos pra provisionar o Dominio:

sudo samba-tool domain provision –use-rfc2307 –interactive

Realm [MY.DOMAIN.LOCAL] : Se o “/etc/hosts” e o “/etc/resolv.conf” estiverem definidos basta pressionar ENTER, caso não estejam configurados digite o nome do domínio desejado.

Domain : [MY.DOMAIN] : “pressione enter”;

Server Role (dc, manber, standalone,) [dc] : Como utilizaremos nosso SAMBA como DC basta pressionar ENTER;

DNS backend (SAMBA_INTERNAL, BIND9, BIND9_DLZ) [SAMBA_INTERNAL] : O DNS que iremos escolher o SAMBA_INTERNAL que é o padrão da instalação, bastando pressionar “ENTER”;

DNS forwarder IP address (write ‘none’ to disable forwarding) [8.8.8.8] : Aqui onde definimos o servidor que vai fazer a resolução de nomes externos, pois os nomes de máquina internos vão ser resolvidos pelo SAMBA_INTERNAL

Administrator password : Definição da senha de administrador deve conter “letras, números e caracteres especiais” para que não aja erro no processo de provisionamento;

Retype password: Repita a senha digitada anteriormente.

Depois de provisionar o domínio você vai precisar ajustar o Kinit:

sudo ln -sf /var/lib/samba/private/krb5.conf /etc/krb5.conf sudo vim /etc/krb5.conf

[[M}[lrYdie.obaDmdlOaemMifsAna]I_udddNkdarRlenn.dedeAtfssLcfmaSsa__OailP]ullC=unmBlooAl_]EtooL1tsR_kk9_eRruu=2drYepp.ova__{1me=lrk6armed8iMac.n=Y=l1.m=.=1DM19OY=t:M2M.r8Y.ADfu8.1IOaeD6NMlO8.AsM.LIeA1ONI.C.N1AL.LOLCOACLAL

Também é preciso fazer um ajuste no /etc/samba/smb.conf, você precisa colocar a linha abaixo na sessão [global] do arquivo:

server services = rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbind, ntp_signd, kcc, dnsupdate, dns, s3fs

Tudo certo até aqui podemos reativar o serviço do samba no sistema:

sudo systemctl unmask samba-ad-dc.service

sudo systemctl start samba-ad-dc.service

sudo systemctl status samba-ad-dc.service

sudo systemctl enable samba-ad-dc.service

Para verificar se tudo iniciou corretamente:

sudo netstat -tulpn | egrep ‘smbd|samba’

tttttttttttcccccccccccppppppppppp000000000000000000000000000000000...........00000000000...........00000000000...........00000000000:::::::::::641333114583402283363865266959448900000000000...........00000000000...........00000000000...........00000000000:::::::::::***********OOOOOOOOOOOUUUUUUUUUUUÇÇÇÇÇÇÇÇÇÇÇAAAAAAAAAAA33333333333010000010109089998090924922294414///////////sssssssssssamaaaaamaaambmmmmmbmmmbdbbbbbdbbbaaaaaaaaa

Checando a resolução dos nomes:

ping -c3 my.domain.local

ping -c3 raspberry.my.domain.local

ping -c3 raspberry

host -t A my.domain.local

host -t A raspberry.my.domain.local

host -t SRV _kerberos._udp.my.domain.local

host -t SRV _ldap._tcp.my.domain.local

Checando o Kerberos:

Obs.: o comando é case sensitive (o que está em maiúsculas deve ser completado em maiúsculas) kinit [email protected]

Ele vai solicitar a senha e vai mostrar as informações do ticket solicitado, para verificar mais tickets válidos use o comando klist

Para criar um usuário de teste no samba:

sudo samba-tool user create some.user