Este tutorial é uma orientação de instalação do Samba4 em um ambiente com FreeBSD 9.0.
O Samba4 esta em pleno desenvolvimento e estamos perto de ver o lançamento da versão estável, no momento em que estou escrevendo esse howto, o Samba4 esta na versão RC5 (Release Candidate). Apesar de ainda ser uma versão de desenvolvimento, tenho usado ele em ambientes de produção com muito sucesso, agregando muitas ferramentas administrativas de ambientes Windows.
Para este tutorial, vou levar em conta que você já possui um ambiente com máquinas Windows e um servidor Firewall (preferencialmente um FreeBSD
), para isso, vou exemplificar nosso ambiente através do diagrama abaixo:

Para este projeto, iremos precisar de uma instalação do FreeBSD 9.0 e de alguns pacotes do ports:
Com o sistema instalado, vamos instalar nossas dependências (use as opções padrões no make config):
|
1 2 3 4 |
cd /usr/ports/lang/perl5.14 make install clean cd /usr/ports/lang/python make install clean |
Ainda precisaremos do bind98 do ports, por conta de o cliente nsupdate do named padrão do sistema não suportar conexão via GSSAPI, portanto, vamos instalar desta forma:
|
1 2 |
cd /usr/ports/dns/bind98 make install clean |
Feita a satisfação de nossas dependências, vamos a configuração e instalação do nosso Samba4, iremos preparar um diretório para isso, siga os passos:
|
1 2 3 4 5 |
cd /usr/local/ mkdir devel cd devel fetch http://ftp.samba.org/pub/samba/rc/samba-4.0.0rc5.tar.gz tar zxf samba-4.0.0rc5.tar.gz |
Agora iniciaremos o processo de compilação e instalação:
|
1 2 |
cd samba-4.0.0rc5 ./configure && make && make install |
Veja que é muito simples, no samba4 é tudo “build-in”, o diretório padrão de instalação é /usr/local/samba
Vamos começar agora a configurar o nosso ambiente Active Directory no sistema. Para isso, precisamos preparar alguns requisitos para o ambiente:
- Ter um servidor NTP configurado para servir a rede
- Configurar o nome da máquina corretamente no arquivo /etc/hosts
- Configurar parâmetro de “acls” no ponto de montagem do Samba4
Configure o seu servidor NTP, conforme as instruções do manual do FreeBSD, em resumo, basta executar os comandos abaixo:
|
1 |
echo 'ntpd_enable="YES"' >> /etc/rc.conf |
|
1 2 |
# /etc/rc.d/ntpd start Starting ntpd. |
No meu exemplo, eu ativei as acls no arquivo /etc/fstab conforme abaixo:
|
1 2 3 |
# cat /etc/fstab /dev/gpt/swap none swap sw 0 0 /dev/gpt/raiz / ufs rw,acls 1 1 |
Observe que somente foi necessário adicionar o parâmetro “acls” na linha correspondente a montagem (no caso somente a raiz) aonde o servidor Samba4 vai ser usado.
Para ativar esta configuração, execute o comando como exemplificado abaixo:
|
1 |
mount -rw / |
E observe a saida do comando mount já com o parâmetro “acls”:
|
1 2 3 |
# mount /dev/gpt/raiz on / (ufs, local, acls) devfs on /dev (devfs, local, multilabel) |
Feito isso, vamos fazer o provisionamento do ambiente, seguindo o comando abaixo:
|
1 2 |
cd /usr/local/samba # bin/samba-tool domain provision --domain=DOMINIO --realm=dominio.com.br --adminpass=123Mudar |
Dúvidas na instalação ? consulte-nos sobre consultoria remota
A saida do comando deve ser assim:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
Looking up IPv4 addresses Looking up IPv6 addresses More than one IPv6 address found. Using fe80:1::a00:27ff:fe7a:3167 Setting up secrets.ldb Setting up the registry Setting up the privileges database Setting up idmap db Setting up SAM db Setting up sam.ldb partitions and settings Setting up sam.ldb rootDSE Pre-loading the Samba 4 and AD schema Adding DomainDN: DC=dominio,DC=com,DC=br Adding configuration container Setting up sam.ldb schema Setting up sam.ldb configuration data Setting up display specifiers Adding users container Modifying users container Adding computers container Modifying computers container Setting up sam.ldb data Setting up well known security principals Setting up sam.ldb users and groups Setting up self join Adding DNS accounts Creating CN=MicrosoftDNS,CN=System,DC=dominio,DC=com,DC=br Creating DomainDnsZones and ForestDnsZones partitions Populating DomainDnsZones and ForestDnsZones partitions Setting up sam.ldb rootDSE marking as synchronized Fixing provision GUIDs A Kerberos configuration suitable for Samba 4 has been generated at /usr/local/samba/private/krb5.conf Once the above files are installed, your Samba4 server will be ready to use Server Role: active directory domain controller Hostname: samba4 NetBIOS Domain: DOMINIO DNS Domain: dominio.com.br DOMAIN SID: S-1-5-21-3539102483-3612174692-2578751605 A phpLDAPadmin configuration file suitable for administering the Samba 4 LDAP server has been created in /usr/local/samba/private/phpldapadmin-config.php. |
Observe que ele vai criar uma estrutura de configuração no diretório “private“:
|
1 2 3 4 |
[root@samba4] /usr/local/samba# ls private/ dns_update_list krb5.conf sam.ldb secrets.ldb spn_update_list hklm.ldb phpldapadmin-config.php sam.ldb.d secrets.tdb tls idmap.ldb privilege.ldb secrets.keytab share.ldb |
Agora, crie um link simbólico da configuração do cliente do kerberos do FreeBSD a partir do criado pelo o samba4:
|
1 |
ln -s /usr/local/samba/private/krb5.conf /etc/krb5.conf |
Adicione as seguintes linhas no arquivo /usr/local/samba/etc/smb.conf:
|
1 2 |
dns forwarder = 8.8.8.8 nsupdate command = /usr/local/bin/nsupdate |
ficando o arquivo assim:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# Global parameters [global] workgroup = DOMINIO realm = dominio.com.br netbios name = SAMBA4 server role = active directory domain controller dns forwarder = 8.8.8.8 nsupdate command = /usr/local/bin/nsupdate [netlogon] path = /usr/local/samba/var/locks/sysvol/dominio.com.br/scripts read only = No [sysvol] path = /usr/local/samba/var/locks/sysvol read only = No |
Aponte seu arquivo /etc/resolv.conf para o dns do samba4 agora:
|
1 |
echo 'nameserver 172.16.0.1' > /etc/resolv.conf |
Com isso, já podemos iniciar nosso servidor AD – Samba4, vamos fazer um inicio manual:
|
1 2 |
cd /usr/local/samba4 sbin/samba -d3 -i |
Observe a saida de debug do sistema e confirme se as portas estão abertas com o comando sockstat, você deve ver uma saída semelhante a esta:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# sockstat -4l USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS root ntpd 55058 20 udp4 *:123 *:* root ntpd 55058 23 udp4 192.168.15.65:123 *:* root ntpd 55058 26 udp4 127.0.0.1:123 *:* root smbd 54976 39 tcp4 *:445 *:* root smbd 54976 40 tcp4 *:139 *:* root samba 54975 19 tcp4 *:53 *:* root samba 54975 20 udp4 *:53 *:* root samba 54969 18 tcp4 *:88 *:* root samba 54969 19 udp4 *:88 *:* root samba 54969 20 tcp4 *:464 *:* root samba 54969 21 udp4 *:464 *:* root samba 54969 30 udp4 192.168.15.65:88 *:* root samba 54969 31 udp4 192.168.15.65:464 *:* root samba 54968 18 udp4 *:389 *:* root samba 54968 22 udp4 192.168.15.65:389 *:* root samba 54967 18 tcp4 *:389 *:* root samba 54967 19 tcp4 *:3268 *:* root samba 54965 18 udp4 *:137 *:* root samba 54965 19 udp4 *:138 *:* root samba 54965 20 udp4 192.168.15.255:137 *:* root samba 54965 21 udp4 192.168.15.65:137 *:* root samba 54965 22 udp4 192.168.15.255:138 *:* root samba 54965 23 udp4 192.168.15.65:138 *:* root samba 54964 30 tcp4 *:1024 *:* root samba 54964 34 tcp4 *:135 *:* root sendmail 947 3 tcp4 127.0.0.1:25 *:* root sshd 940 4 tcp4 *:22 *:* root syslogd 701 7 udp4 *:514 *:* |
Conheça nosso trabalho de consultoria em Active Directory com Software Livre

Com isso, já podemos adicionar uma máquina no dominio, para isso, vamos ao ambiente “hostil” ![]()
No exemplo abaixo, estou usando um Windows XP, o procedimento detalhado esta descrito no Howto do Samba4.
Primeira coisa a fazer, como Administrador local do Windows, é configurar o DNS apontando para o servidor Samba4 e configurar o relógio para sincronizar com o mesmo. Esta parte é importante, pois se o relógio estiver com uma diferença de 5 minutos em relação ao servidor Samba4, a autenticação não funcionará corretamente.

Muito cuidado ao adicionar mais de um DNS nesta configuração, o Windows faz balanceamento das requisições, já tive várias dores de cabeça por conta disso.
Agora, ingresse a máquina no dominio AD do Samba4:
![]() |
![]() |

Pronto, agora temos nossa primeira máquina no AD, daqui pra frente é só ruiWindows !!! acione o seu certificado M$dlkfldf
ou contate alguém com experiência no gerenciamento de Active Directory para gerenciar sua arvore LDAP.
Maiores informações, você encontra no howto do Samba4 (em inglês)



[...] mais em [luizgustavo.pro.br/…]” [referência: [...]
[...] mais em [luizgustavo.pro.br/…]” [referência: [...]