Instalando samba 4 no Raspberry Pi 3 Model B Rev 1.2

October 6, 2020    raspberry samba4

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

# explicitely use eth0 and set static IPs, as well as domain specifics
interface eth0
static routers=192.168.1.1
static domain_name_servers=127.0.0.1
static domain_name_servers=192.168.1.1
static ip_address=192.168.1.2
static domain_search=my.domain.local

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

[libdefaults]
        default_realm = MY.DOMAIN.LOCAL
        dns_lookup_realm = false
        dns_lookup_kdc = true
[realms]
MY.DOMAIN.LOCAL = {
        kdc = 192.168.1.1:88
        default_domain = MY.DOMAIN.LOCAL
        admin_server = 192.168.1.1
}

[domain_realm]
        RASPBERRY = MY.DOMAIN.LOCAL

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’

tcp        0      0 0.0.0.0:636             0.0.0.0:*               OUÇA       3092/samba
tcp        0      0 0.0.0.0:445             0.0.0.0:*               OUÇA       3104/smbd
tcp        0      0 0.0.0.0:1024            0.0.0.0:*               OUÇA       3089/samba
tcp        0      0 0.0.0.0:3268            0.0.0.0:*               OUÇA       3092/samba
tcp        0      0 0.0.0.0:3269            0.0.0.0:*               OUÇA       3092/samba
tcp        0      0 0.0.0.0:389             0.0.0.0:*               OUÇA       3092/samba
tcp        0      0 0.0.0.0:135             0.0.0.0:*               OUÇA       3089/samba
tcp        0      0 0.0.0.0:139             0.0.0.0:*               OUÇA       3104/smbd
tcp        0      0 0.0.0.0:464             0.0.0.0:*               OUÇA       3094/samba
tcp        0      0 0.0.0.0:53              0.0.0.0:*               OUÇA       3101/samba
tcp        0      0 0.0.0.0:88              0.0.0.0:*               OUÇA       3094/samba

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

comments powered by Disqus