Samba é o conjunto de programas de interoperabilidade padrão do Windows para Linux e Unix. Samba é um Software Livre licenciado sob a GNU General Public License.
O Samba é um componente importante para integrar perfeitamente servidores e desktops Linux/Unix em ambientes do Active Directory. Ele pode funcionar como um controlador de domínio ou como um membro regular do domínio.
Configuração do Nosso FreeBSD
- Hostname(Nome da Máquina): freebsd
- Endereço IP: 192.168.50.100
- Domínio DNS: usarei o lab.interno
O endereço ip deverá ser fixo, estático e não recebido por DHCPD! Veja: FreeBSD: Configurar Rede com IP Fixo(Estático)
Escolha um nome de domínio que fique bom. O nome de domínio não poderá ser alterado após implantação do samba!
Instalando o Samba no FreeBSD
#1 Atualize os repositórios
root@freebsd:~ # pkg search samba
#2 liste os pacotes disponíveis para instalação do samba
root@freebsd:~ # pkg search samba p5-Samba-LDAP-0.05_2 Manage a Samba PDC with an LDAP Backend p5-Samba-SIDhelper-0.0.0_3 Create SIDs based on G/UIDs samba-nsupdate-9.16.5 nsupdate utility with the GSS-TSIG support samba413-4.13.17_4 Free SMB/CIFS and AD/DC server and client for Unix samba416-4.16.8 Free SMB/CIFS and AD/DC server and client for Unix
#3 instalaremos a versão mais nova acima: samba416-4.16.8
root@freebsd:~ # pkg install -y samba416-4.16.8
Informações Importantes
Após a instalação acima, perceba que aparecerá mensagens importantíssimas sobre localização de arquivos e links o site oficial do samba.
O texto abaixo fala:
- /usr/local/etc/smb4.conf é o arquivo de configuração do samba
- /var/db/samba4 é onde está a base de dados do samba
- /var/log/samba4 é onde ficam os logs do samba
- /usr/local/bin/samba-tool podemos usar esse comando para provisionar o samba, ou seja, passar informações para fazer dele um AD DC
https://bugs.freebsd.org/bugzilla More information about port maintainership is available at: https://docs.freebsd.org/en/articles/contributing/#ports-contributing ===== Message from samba416-4.16.8: -- How to start: http://wiki.samba.org/index.php/Samba4/HOWTO * Your configuration is: /usr/local/etc/smb4.conf * All the relevant databases are under: /var/db/samba4 * All the logs are under: /var/log/samba4 * Provisioning script is: /usr/local/bin/samba-tool For the working DNS updates you will need to either build dns/bind9* with the enabled GSSAPI(GSSAPI_MIT5 is recommended) or install dns/samba-nsupdate package, which is preconfigured with such a support. You will need to specify location of the 'nsupdate' command in the smb4.conf file: nsupdate command = /usr/local/bin/samba-nsupdate -g For additional documentation check: https://wiki.samba.org/index.php/User_Documentation Port related bug reports can go to the https://gitlab.com/samba-freebsd/ports/-/issues or to the FreeBSD Bugzilla https://bugs.freebsd.org/
Preparando para Provisionar o Samba no FreeBSD
Vamos provisionar o nosso samba, mas precisamos preparar o FreeBSD antes.
#1 Adicione a linha abaixo dentro de /etc/hosts. Edite esse arquivo com seu editor preferido.
<pre>192.168.50.100 freebsd.lab.interno freebsd</pre>
acima, é o ip do seu servidor mais o hostname e mais o domínio dns.
Para testar, basta dar um ping freebsd.lab.interno
#2 Agora deixe seu /etc/resolv.conf assim
root@freebsd:~ # cat /etc/resolv.conf serach lab.interno domain lab.interno nameserver 192.168.50.100 nameserver 8.8.8.8
#3 veja se a data e horário estão ajustados. Execute o comando date para isso.
root@freebsd:~ # date Mon Dec 12 17:15:48 -03 2022
Se estiver desajustado use o comando date novamente para ajustar. Por exemplo, para ajustar para 15:55, 09/02/2023 faça:
date 2302091555
onde 23 é o ano, 02 mês, 09 o dia do mês, 1555 hora e minutos.
Obs.: o recomendado é instalar um servidor de tempo ntp.
Provisionando o Samba Instalado no FreeBSD
#1 use /usr/local/bin/samba-tool para provisionar o samba.
root@freebsd:~ # /usr/local/bin/samba-tool domain provision
Fique atento parao dns forwarder e a senha do usuário administrator. Para o dns forwarder eu coloquei 8.8.8.8
root@freebsd:~ # /usr/local/bin/samba-tool domain provision Realm [LAB.INTERNO]: Domain [LAB]: Server Role (dc, member, standalone) [dc]: DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: DNS forwarder IP address (write 'none' to disable forwarding) [192.168.50.100]: 8.8.8.8 Administrator password: Retype password:
Irá aparecer um monte de texto verde 🙂
#2 Agora vamos iniciar o samba no FreeBSD. Execute /usr/local/sbin/samba
root@freebsd:~ # /usr/local/sbin/samba
#3 verifique que realmente o samba foi inciado executando ps -aux | grep samba, se aparecer um monte de linhas é porque de certo 🙂
root@freebsd:~ # ps -aux | grep samba
#4 agora, inicie um Windows da vida, abra qualquer pasta, coloque na barra de endereço o ip do seu freebsd e verá que o compartilhamento de pastas está funcionando.
Se pedir usuário e senha coloque administrator e a senha que criou durante o provisionamento.