Samba 4 (Active Directory) no Debian/Ubuntu Server

Tutorial para instalação do Samba 4 que, com sua última versão, possibilitou a criação de um domínio Active Directory, tornando a vida dos administradores de redes mais simples e mostrando que o GNU/Linux também tem a robustez do seu eterno rival.

[ Hits: 187.225 ]

Por: Davi Rodrigues em 06/05/2013 | Blog: http://br.linkedin.com/pub/davi-rodrigues/23/319/68b


Introdução / Preparação / Dependências



Primeiramente, gostaria de agradecer aos leitores desse tão renomado site de software livre e agradecer também à equipe de desenvolvimento do Samba que, com sua última versão, possibilitou a criação de um domínio Active Directory, tornando a vida dos administradores de redes mais simples e mostrando que o GNU/Linux também tem a robustez do seu eterno rival.

Todos sabemos e conhecemos o sacrifício que é configurar o Samba com o OpenLDAP, que depois de configurado, fica uma beleza, mas ainda assim, não é tão bom quanto o Active Directory da MS. Porém, com esse novo modo de pensar do time Samba.org, temos em primeira mão o Samba 4, ou melhor dizendo, o nosso Active Directory open source.

Nesse artigo, vou mostrar como instalar e configurar o Samba 4, mostrando um pouco do meu conhecimento sobre a ferramenta e direi também algumas melhores práticas, porém, ressalto que o foco é a instalação do Samba 4. Assim, este artigo deverá servir como um guia de instalação.

Preparação do servidor

Bom, como falei antes, o servidor deverá ter as particularidades de cada empresa, no meu caso, eu utilizo o sistema de arquivos com RAID + LVM para facilitar a minha manutenção. Vou colocar aqui a configuração que utilizei para fazer os testes:
  • / → 30 GB (ext4) - Onde será instalado o Samba 4.
  • /home → 47 GB (ext4) - Onde será feito o controle de quota de disco.
  • SWAP → 4 GB.

Instalando dependências

Tendo particionado o seu sistema de arquivos, vamos para a instalação das dependências, lembrando que eu testei e configurei em sistemas Debian e Ubuntu server, então, para outras distribuições, a instalação é diferente, porém, a instalação e configuração do Samba 4 não difere.

# apt-get install build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls-dev libreadline-dev python-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr krb5-user docbook-xsl

Caso esteja utilizando outra distribuição, favor verificar a instalação das dependências no site oficial do Samba.org e procurar sobre a sua distribuição:
Após feito a instalação das dependências, vamos fazer a configuração do sistema de arquivos para receber o Samba 4.

Nas dependências, instalamos o "attr", que dará suporte a recursos avançadas do Samba 4. Também devemos ter um sistema de arquivos que suporte ACL, pois ela nos dará mais possibilidades de configuração de permissões especiais do Active Directory. E a opção de "barrier=1", que nos dá a segurança para que as transações do "tdb" e "ldb" sejam realizadas de forma segura, prevenindo assim, um erro por falha de energia que pode corromper do banco de dados do AD.

Vamos então ao fstab (Obs.: muito cuidado ao mexer no fstab, pois você poderá deixar o sistema não inicializável).

* Outra dica: o ideal é que o sistema de arquivos seja ext3, ext4 ou superior, no meu caso, estou utilizando o ext4.

sudo vim /etc/fstab

Localize a linha que monta o seu sistema de arquivos /home e modifique-a para a seguinte forma:

/dev/sdb1    /home     ext4   user_xattr,acl,barrier=1   1  1


Nesse caso eu adicionei apenas "user_xattr,acl,barrier=1", como expliquei anteriormente, agora vamos remontar e testar se as modificações estão OK?

# mount -o remount,rw /home

Testes no sistema de arquivos:

# touch test.txt
# setfattr -n user.test -v test test.txt
# setfattr -n security.test -v test2 test.txt
# getfattr -d test.txt
# getfattr -n security.test -d test.txt


Se estiver tudo correto, os comandos acima retornarão essas respostas, respectivamente:
# file: test.txt
user.test="test"

# file: test.txt
security.test="test2"

Se até aqui estiver tudo certinho, vamos para o próximo passo.

    Próxima página

Páginas do artigo
   1. Introdução / Preparação / Dependências
   2. Compilação / Kerberos
   3. Controle de quota de disco
Outros artigos deste autor

OpenVPN Matriz > Filial com PPTP

Linux autenticando no AD e rodando LTSP com DHCP (Windows 2003)

Leitura recomendada

Backup de arquivos das estações de sua rede com Samba PDC

Samba: Integração com ClamAV e outras coisas úteis

Samba - Dançando conforme a música

Domínio com perfil móvel no Fedora 10

PDC - Samba + LDAP - Fedora 7

  
Comentários
[1] Comentário enviado por serafim.fabio em 08/05/2013 - 21:28h

Legal seu tutorial, parabens, gostaria de saber se pode disponibilzar alguma coisa sobre atualizar do samba 3.6 para o 4

[2] Comentário enviado por nicolas.cb em 10/05/2013 - 13:11h

Legal, parabéns.

Um blog sobre linux
logdopinguim.blogspot.com.br

[3] Comentário enviado por kauealves em 10/05/2013 - 17:22h

cossa linda..

muito bom o seu tutorial!!

[4] Comentário enviado por mikeitaly em 18/05/2013 - 15:01h

Tenho o samba 4.0.4 compilado no CentOS 6.4 e rodando direitinho na empresa onde trabalho, consigo add maquinas windows xp, 7, 8 e Clientes Linux no dominio do samba4.. agora depois de semanas tentando aqui na empresa a diretoria me obriga a deixar assim: assim que um usuário abre o Windows Explorer ou o Meu Computador é para aparecer um mapeamendo da unidade U: para o home do usuário e Z: para o Servidor de Arquivos (onde fica as pastas Diretoria , Financeiro, Recursos Humanos, etc..) Por favor alguem me ajude! ;~/

[5] Comentário enviado por aristidesbneto em 18/05/2013 - 16:54h


[4] Comentário enviado por mikeitaly em 18/05/2013 - 15:01h:

Tenho o samba 4.0.4 compilado no CentOS 6.4 e rodando direitinho na empresa onde trabalho, consigo add maquinas windows xp, 7, 8 e Clientes Linux no dominio do samba4.. agora depois de semanas tentando aqui na empresa a diretoria me obriga a deixar assim: assim que um usuário abre o Windows Explorer ou o Meu Computador é para aparecer um mapeamendo da unidade U: para o home do usuário e Z: para o Servidor de Arquivos (onde fica as pastas Diretoria , Financeiro, Recursos Humanos, etc..) Por favor alguem me ajude! ;~/


Cara não manjo na configuração do samba... mas em relação sua duvida, não seria só mapear nos clientes windows para cada logon já mapear a unidade desejada??

[6] Comentário enviado por davirodrigues em 20/05/2013 - 08:05h


[4] Comentário enviado por mikeitaly em 18/05/2013 - 15:01h:

Tenho o samba 4.0.4 compilado no CentOS 6.4 e rodando direitinho na empresa onde trabalho, consigo add maquinas windows xp, 7, 8 e Clientes Linux no dominio do samba4.. agora depois de semanas tentando aqui na empresa a diretoria me obriga a deixar assim: assim que um usuário abre o Windows Explorer ou o Meu Computador é para aparecer um mapeamendo da unidade U: para o home do usuário e Z: para o Servidor de Arquivos (onde fica as pastas Diretoria , Financeiro, Recursos Humanos, etc..) Por favor alguem me ajude! ;~/


O procedimento é simples e feito pelo Active Directory, segue uma dica...

http://social.technet.microsoft.com/Forums/en-US/winsrv2003pt/thread/cee3ec2a-3a0a-42ed-bb8c-3fcee9d...


[7] Comentário enviado por davirodrigues em 20/05/2013 - 08:07h


[5] Comentário enviado por abneto em 18/05/2013 - 16:54h:


[4] Comentário enviado por mikeitaly em 18/05/2013 - 15:01h:

Tenho o samba 4.0.4 compilado no CentOS 6.4 e rodando direitinho na empresa onde trabalho, consigo add maquinas windows xp, 7, 8 e Clientes Linux no dominio do samba4.. agora depois de semanas tentando aqui na empresa a diretoria me obriga a deixar assim: assim que um usuário abre o Windows Explorer ou o Meu Computador é para aparecer um mapeamendo da unidade U: para o home do usuário e Z: para o Servidor de Arquivos (onde fica as pastas Diretoria , Financeiro, Recursos Humanos, etc..) Por favor alguem me ajude! ;~/

Cara não manjo na configuração do samba... mas em relação sua duvida, não seria só mapear nos clientes windows para cada logon já mapear a unidade desejada??


É isso mesmo para cada usuário ou para uma OU inteira atravez de GPO, basta configurar o Mapeamento de Rede que esta precisando na parte de logon do usuário.

[8] Comentário enviado por mikeitaly em 20/05/2013 - 08:33h

Bom dia pessoal, obrigado pela atenção, já tentei posts de sites por aí, tentei por via script (mapeia.bat) vou tentar esse que vc me mandou davirodrigues.. vou testar agora e jaja dou o meu retorno! vlw pela atenção!

[9] Comentário enviado por paulloal em 21/05/2013 - 06:50h

Olá, to com um problema aqui ta aparecendo o seguinte error quando eu dou o samba-tool (...)


Your filesystem or build does not support posix ACLs, which s3fs requires. Try the mounting the filesystem with the 'acl' option.
File "/usr/local/samba/lib/python2.6/site-packages/samba/netcmd/domain.py", line 398, in run
use_rfc2307=use_rfc2307, skip_sysvolacl=False)
File "/usr/local/samba/lib/python2.6/site-packages/samba/provision/__init__.py", line 2042, in provision
raise ProvisioningError("Your filesystem or build does not support posix ACLs, which s3fs requires. Try the mounting the filesystem with the 'acl' option."

help hehe.. ja configurei o fstab com o "acl" e o "user_attr" remontei a partição e nada

[10] Comentário enviado por mikeitaly em 22/05/2013 - 10:00h

amigo paulloal,
creio que pela administração do AD, vc naum precise instalar o pacote ACL e configurar no seu fstab.. o próprio samba4 já trata disso se não me engano.. eu usava ACL's no meu dominio samba + openldap. abraço.

[11] Comentário enviado por davirodrigues em 22/05/2013 - 11:44h


[10] Comentário enviado por mikeitaly em 22/05/2013 - 10:00h:

amigo paulloal,
creio que pela administração do AD, vc naum precise instalar o pacote ACL e configurar no seu fstab.. o próprio samba4 já trata disso se não me engano.. eu usava ACL's no meu dominio samba + openldap. abraço.


Não cara seguinte, ao adicionar a ACL no FSTAB faz com que o AD do Samba4 Reconheça as Permissões Avançadas igual o AD da MS, entendeu? Se não habilitar não terá a flexibilidade de permissões.

[12] Comentário enviado por davirodrigues em 22/05/2013 - 11:48h


[9] Comentário enviado por paulloal em 21/05/2013 - 06:50h:

Olá, to com um problema aqui ta aparecendo o seguinte error quando eu dou o samba-tool (...)


Your filesystem or build does not support posix ACLs, which s3fs requires. Try the mounting the filesystem with the 'acl' option.
File "/usr/local/samba/lib/python2.6/site-packages/samba/netcmd/domain.py", line 398, in run
use_rfc2307=use_rfc2307, skip_sysvolacl=False)
File "/usr/local/samba/lib/python2.6/site-packages/samba/provision/__init__.py", line 2042, in provision
raise ProvisioningError("Your filesystem or build does not support posix ACLs, which s3fs requires. Try the mounting the filesystem with the 'acl' option."

help hehe.. ja configurei o fstab com o "acl" e o "user_attr" remontei a partição e nada


Qual seu sistema de Arquivos?

Verifique se a 'acl' esta instalado no seu sistema:

# dpkg -l | grep acl

Se não tiver instale:

#apt-get install acl

Depois habilite no Sistema de Arquivos, conforme indicado no tutorial e reporta ai. vlw...

[13] Comentário enviado por paulloal em 22/05/2013 - 14:21h

Ok já descobri...
Oque tinha faltado era o apt-get install acl e como eu particionei unidade "/home" e o "/" no arquivo de configuração fstab tem que colocar
acl e user_xattr nas duas partição após isso tudo certo =D- GPOs funcionando maravilha hehehe

[14] Comentário enviado por davirodrigues em 22/05/2013 - 14:22h


[13] Comentário enviado por paulloal em 22/05/2013 - 14:21h:

Ok já descobri...
Oque tinha faltado era o apt-get install acl e como eu particionei unidade "/home" e o "/" no arquivo de configuração tem que colocar
acl e user_xattr nas duas partição após isso tudo certo =D- GPOs funcionando maravilha hehehe


Então num te disse...show de bola...qualquer dúvida posta aew flw...

[15] Comentário enviado por mario_inf em 23/05/2013 - 00:35h

Bom dia pessoal, Estou tentanto subir o meu AD OpenSource em uma VM Vmware, Consiguei instalar as dependências, baixei, instalei tudo, quando chego na parte de testar o DNS com o comando: root@DCserver:/# host -t SRV _ldap._tcp.teste.local o resultado foi: ;; connection timed out; no servers could be reache e no comando: root@DCserver:/# host -t A arquivos.teste.local onde o resultado foi: Host arquivos.teste.local not found: 3(NXDOMAIN), alguém tem alguma ideia???...refiz o tutorial 2x...e problema continua...obrigado a todos.

[16] Comentário enviado por davirodrigues em 23/05/2013 - 10:24h

Bom dia mario_inf,

Seguinte tudo irá depender do BackEnd que você escolheu certo, vamos pensar no processo, primeiramente o seu servidor esta recebendo endereço de IP automático? Se tive recebendo IP automático então com certeza o dhcp esta atualizando sempre o /etc/resolv.conf, que deverá sempre apontar para o seu servidor do AD (Mais uma vez, irá depender do backend que você escolher), se você escolher um backend SAMBA_INTERNAL, é o samba quem irá assumir a condição de servidor de DNS, se escolher BIND9_FLATFILE ou BIND9_DLZ então quem assumirá esta condição será o Bind9, então tem que conferir se todas as zonas necessárias foram criadas, se o Servidor de DNS esta subindo, se esta tudo nos conformes.

Faça essa verificações e posta uma dúvida com mais detalhes para o seu problema ser analizado corretamente, ok?


[17] Comentário enviado por mario_inf em 23/05/2013 - 13:11h

Escolhi o BackEnd do Tuto o tal, SAMBA_INTERNAL pra ele assumir a condição de DNS, sim ele está recebendo IP AUTO...Então a principio é só tirar o IP AUTO da minha maquina e definir um pra ele para funfar é isso? Obrigado pela ajuda!!!

[18] Comentário enviado por davirodrigues em 23/05/2013 - 13:24h


[17] Comentário enviado por mario_inf em 23/05/2013 - 13:11h:

Escolhi o BackEnd do Tuto o tal, SAMBA_INTERNAL pra ele assumir a condição de DNS, sim ele está recebendo IP AUTO...Então a principio é só tirar o IP AUTO da minha maquina e definir um pra ele para funfar é isso? Obrigado pela ajuda!!!


Isso, com o IP sendo pegue automaticamente então o dhclient irá mudar automaticamente o /etc/resolv.conf, isso acontecendo quebra o teu squema de DNS interno entende?

Você tem que deixar o resolv.conf conforme esta no artigo, faça o provisionamento novamente para ele configurar corretamente o DNS Intermo do Samba 4.

[19] Comentário enviado por mario_inf em 24/05/2013 - 01:10h

Bom amigos o que eu fiz foi isso:
Configurei o /etc/network/interfaces
Da seguinte forma:
# The Primary network interface
auto eth0
iface eth0 inet static
address 192.168.179.100
netmask 255.255.255.0
gateway 192.168.179.1
nameserver 8.8.8.8
E o arquivo /etc/resolvconf/resolv.conf.d/head
Assim:
domain RODRIGUES.LOCAL
nameserver 127.0.0.1
Assim meu arquivo /etc/resolv.conf ficou igual do TUTORIAL, ESTATICO.
Como no tutorial mas mesmo assim dá o mesmo erro.
root@DCserver:/# host -t A arquivos.teste.local onde o resultado foi: Host arquivos.teste.local not found: 3(NXDOMAIN)
Lembrando que eu uso o VMPlayer...Obrigado mais uma vez...

[20] Comentário enviado por mario_inf em 24/05/2013 - 01:23h

Mudei o meu GW para 192.168.179.2 e a msg ficou assim:
root@DCserver:/# host -t A arquivos.teste.local onde o resultado foi: arquivos.teste.local has no A record??? Pq será??? No aguardo...Tenho certeza q está faltando algum detalhe que eu não estou conseguindo enxergar...mas sinto q estou perto da solução...

[21] Comentário enviado por davirodrigues em 24/05/2013 - 08:13h


[19] Comentário enviado por mario_inf em 24/05/2013 - 01:10h:

Bom amigos o que eu fiz foi isso:
Configurei o /etc/network/interfaces
Da seguinte forma:
# The Primary network interface
auto eth0
iface eth0 inet static
address 192.168.179.100
netmask 255.255.255.0
gateway 192.168.179.1
nameserver 8.8.8.8


Olha só na configuração da tua interface qual name server você colocou, ta vendo?

Então com certeza não tem como a google saber que o RODRIGUES.LOCAL esta no seu servidor....

tem que apontar para o ip de loopback. e tem que provisionar novamente o samba para ele entender que o servidor é ele e fazer as devidas configurações de ZONA.

[22] Comentário enviado por mario_inf em 27/05/2013 - 20:05h

Desculpem a demora. Fiz a alteração consigo pingar qualquer endereço da internet mas o comando host -t SRV _ldap._tcp.teste.local resulta hein: has no SRV record.
Tudo bem continuei com até q cheguei no comando de teste dos link simbolicos # ldconfig -v | grep winbind
/sbin/ldconfig.real: Não foi possivel stat /lib/i686-linux-gnu: Arquivo ou diretorio não encontrado
/sbin/ldconfig.real:Não foi possivel stat /usr/lib/i686-linux-gnu:Arquivo ou diretorio não encontrado
/sbin/ldconfig.real: Caminho '/lib/i386-linux-gnu' informado mais de uma vez
/sbin/ldconfig.real: Caminho '/usr/lib/i386-linux-gnu' informado mais de uma vez
libnss_winbind.so -> libnss_winbind.so.2
Obrigado mais uma vez...pela atenção!!!

[23] Comentário enviado por davirodrigues em 28/05/2013 - 15:15h

Meu garoto, mais uma vez é DNS.

Tem que deixar o servidor com IP estático provisionar novamente o Samba4 para ele configurar as zonas corretamente, depois de tudo coloque o samba no "AR" e teste o DNS, vai dar tudo certo.


"Que a força esteja com você"

[24] Comentário enviado por viniciusraupp em 31/05/2013 - 00:34h

Alguém sabe como fazer pegar somente usuários e grupos de um samba 4 e colocar em outro samba 4 ? digo isto pq cadastrei vários usuários em um samba 4 de testes e agora formatei e configurei um novo servidor então não gostaria ter que cadastrar os usuários na mão.

[25] Comentário enviado por jcvn em 02/06/2013 - 00:27h

Amigo,

Excelente tutorial, só não tive sucesso no comando abaixo:

#host -t A arquivos.casa.local.
Host arquivos.casa.local. not found: 3(NXDOMAIN)

Saberia me dizer o porque deste erro ?

Grato


[26] Comentário enviado por removido em 23/06/2013 - 21:27h

Qual é a configuração utilizada no samba4 em um ambiente de rede em que o serviço dns não está na mesma máquina que roda o samba4 ?

Grato desde já !

[27] Comentário enviado por davirodrigues em 26/06/2013 - 08:44h

Bom dia eabreu não é aconselhável colocar o DNS separado da mesma máquina do AD, porém é possível sim, utilizando o Backend BIND9_FLATFILE, mais você terá que configurar as zonas requeridas pelo Active Directory estou lhe mandando um link da WIKI do samba que lhe explica fazer esta configuração.

https://wiki.samba.org/index.php/Samba4#Samba_AD_DNS_backend


[28] Comentário enviado por LucasMD_ em 01/07/2013 - 10:54h

Em um ambiente virtualizado com o VBOX, cujo servidor está com a rede em modo bridge com a minha placa wireless (Rede padrão 192.168.0.0), porém com IP fixo e Internet funcional, eu támbem recebo o mesmo erro "not found: 3(NXDOMAIN)" para todos os testes. Vale ressaltar que estou utilizando o Debian 7 Wheezy, ele está estável pra receber o Samba 4?

#/etc/resolv.conf :
domain KONEN.LOCAL
nameserver 127.0.0.1

#/etc/network/interfaces :
auto eth0
iface eth0 inet static
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1

-

Não pode ser um erro de configuração do Samba, e pelo o que eu li, provável erro de rede. Entretanto eu segui o que foi passado para o usuário mario_inf, e minha placa não recebe configurações dhcp, e o arquivo resolv está sempre estático, de qualquer forma eu obtenho o erro, onde poderia estar o erro?

[29] Comentário enviado por xnelox em 01/08/2013 - 13:50h

Bom tutorial, tenho uma duvida, este samba 4 não tem um init, como posso carregar o samba4 sempre que o servidor reinicia?

Obrigado

[30] Comentário enviado por viniciusraupp em 01/08/2013 - 13:52h


[29] Comentário enviado por xnelox em 01/08/2013 - 13:50h:

Bom tutorial, tenho uma duvida, este samba 4 não tem um init, como posso carregar o samba4 sempre que o servidor reinicia?

Obrigado


Da uma olha no link, vê se te atende.
https://wiki.samba.org/index.php/Samba4/InitScript

[31] Comentário enviado por rengaf1 em 07/08/2013 - 10:30h


[30] Comentário enviado por viniciusraupp em 01/08/2013 - 13:52h:


[29] Comentário enviado por xnelox em 01/08/2013 - 13:50h:

Bom tutorial, tenho uma duvida, este samba 4 não tem um init, como posso carregar o samba4 sempre que o servidor reinicia?

Obrigado

Da uma olha no link, vê se te atende.
https://wiki.samba.org/index.php/Samba4/InitScript


cara tem esse aqui

Configurar script de para inicializar e parar o Samba:
# vi /etc/init.d/samba
Adicionar o script abaixo:

#! /bin/bash
#
# samba4 Bring up/down samba4 service
#
# chkconfig: - 90 10
# description: Activates/Deactivates all samba4 interfaces configured to \
# start at boot time.
#
### BEGIN INIT INFO
# Provides:
# Should-Start:
# Short-Description: Bring up/down samba4
# Description: Bring up/down samba4
### END INIT INFO
# Source function library.
. /etc/init.d/functions

if [ -f /etc/sysconfig/samba4 ]; then
. /etc/sysconfig/samba4
fi

CWD=$(pwd)
prog="samba4"

start() {
# Attach irda device
echo -n $"Starting $prog: "
/usr/local/samba/sbin/samba
sleep 2
if ps ax | grep -v "grep" | grep -q /samba/sbin/samba ; then success $"samba4 startup"; else failure $"samba4 startup"; fi
echo
}
stop() {
# Stop service.
echo -n $"Shutting down $prog: "
killall samba
sleep 2
if ps ax | grep -v "grep" | grep -q /samba/sbin/samba ; then failure $"samba4 shutdown"; else success $"samba4 shutdown"; fi
echo
}
status() {
/usr/local/samba/sbin/samba --show-build
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status irattach
;;
restart|reload)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 1
esac

exit 0





Permissão de execução ao script.
# chmod +x /etc/init.d/samba
Adicionar e configurar a script para iniciar com o sistema.
# chkconfig --add samba
# chkconfig samba on

Reinicie o Servidor
#reboot

[32] Comentário enviado por piamarta montese em 17/08/2013 - 11:07h


[31] Comentário enviado por rengaf1 em 07/08/2013 - 10:30h:


[30] Comentário enviado por viniciusraupp em 01/08/2013 - 13:52h:


[29] Comentário enviado por xnelox em 01/08/2013 - 13:50h:

Bom tutorial, tenho uma duvida, este samba 4 não tem um init, como posso carregar o samba4 sempre que o servidor reinicia?

Obrigado

Da uma olha no link, vê se te atende.
https://wiki.samba.org/index.php/Samba4/InitScript

cara tem esse aqui

Configurar script de para inicializar e parar o Samba:
# vi /etc/init.d/samba
Adicionar o script abaixo:

#! /bin/bash
#
# samba4 Bring up/down samba4 service
#
# chkconfig: - 90 10
# description: Activates/Deactivates all samba4 interfaces configured to \
# start at boot time.
#
### BEGIN INIT INFO
# Provides:
# Should-Start:
# Short-Description: Bring up/down samba4
# Description: Bring up/down samba4
### END INIT INFO
# Source function library.
. /etc/init.d/functions

if [ -f /etc/sysconfig/samba4 ]; then
. /etc/sysconfig/samba4
fi

CWD=$(pwd)
prog="samba4"

start() {
# Attach irda device
echo -n $"Starting $prog: "
/usr/local/samba/sbin/samba
sleep 2
if ps ax | grep -v "grep" | grep -q /samba/sbin/samba ; then success $"samba4 startup"; else failure $"samba4 startup"; fi
echo
}
stop() {
# Stop service.
echo -n $"Shutting down $prog: "
killall samba
sleep 2
if ps ax | grep -v "grep" | grep -q /samba/sbin/samba ; then failure $"samba4 shutdown"; else success $"samba4 shutdown"; fi
echo
}
status() {
/usr/local/samba/sbin/samba --show-build
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status irattach
;;
restart|reload)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 1
esac

exit 0





Permissão de execução ao script.
# chmod +x /etc/init.d/samba
Adicionar e configurar a script para iniciar com o sistema.
# chkconfig --add samba
# chkconfig samba on

Reinicie o Servidor
#reboot


Caro rengaf1!
Tentei esse script aí que você postou, mas não deu certo. Segui esse tutorial, mas o samba não sobe na inicialização do servidor.
Você ou alguém, pode me dar uma dica de como subi-lo automaticamente?
Obrigado.

[33] Comentário enviado por viniciusraupp em 17/08/2013 - 16:35h


Caro rengaf1!
Tentei esse script aí que você postou, mas não deu certo. Segui esse tutorial, mas o samba não sobe na inicialização do servidor.
Você ou alguém, pode me dar uma dica de como subi-lo automaticamente?
Obrigado.

Qual é seu SO ?
No debian ao dar permissão de execução e copiar o script para /etc/init.d/
# chmod +x samba4
# cp samba4 /etc/init.d/

eu executo o comando para iniciar o serviço na inicialização do sistema:
# update-rc samba4 defaults


[34] Comentário enviado por piamarta montese em 17/08/2013 - 20:29h


[33] Comentário enviado por viniciusraupp em 17/08/2013 - 16:35h:


Caro rengaf1!
Tentei esse script aí que você postou, mas não deu certo. Segui esse tutorial, mas o samba não sobe na inicialização do servidor.
Você ou alguém, pode me dar uma dica de como subi-lo automaticamente?
Obrigado.
Qual é seu SO ?
No debian ao dar permissão de execução e copiar o script para /etc/init.d/
# chmod +x samba4
# cp samba4 /etc/init.d/

eu executo o comando para iniciar o serviço na inicialização do sistema:
# update-rc samba4 defaults



Viniciusraupp, minha distro é a Debian Wheezy 64 bits.
Segue o tutorial igualzinho.
Copiei o script para o init.d; dei permissão para executar e dei o comando para a inicialização, mas mesmo assim, nada do samba iniciar.

[35] Comentário enviado por Dark-Zyon em 19/08/2013 - 17:31h

Boa tarde!
Muito bom o artigo, fiz a instalação e funcionou perfeitamente.
Uma dúvida: estou fazendo a troca de um servidor com o samba muito antigo versão 3.0.26a onde os usuários eram cadastrados no arquivo /etc/samba/smbpasswd, existe uma maneira de migrar esses usuários para o samba4?
Na verdade recadastrar os usuários não seria tão complicado, o problema é recolocar as máquinas no domínio, existe a possibilidade de não precisar recoloca-las no domínio?
Um abraço!

[36] Comentário enviado por MorbiD em 22/08/2013 - 17:28h

Encontrei a solução para o pessoal que não está conseguindo conexão com samba4. Eu tb estava com este grande problema.
Esses passos devem seguidos caso vc tenha compilado o samba4 e copiado o krb5.conf:
1 ) Um dos passos a seguir é parar o samba atual, que no caso deve ser a versão 3.x.x. No meu caso simplesmente removi o samba3 completamente: #apt-get purge samba. Lembrando que sempre realize a cópia do smb.conf, ainda mais quem tem várias configurações de compartilhamento.
2) Remover o smbclient da versão 3: #apt-get purge smbclient
3) Para o serviço bind9;
4) adicionar no final do arquivo /etc/profile a seguinte linha: export PATH=/usr/local/samba/bin:/usr/local/samba/sbin:$PATH. Use o comando: #. /etc/profile para atualizar o profile(sim, tem o espaço entre . /)
5 ) executar o provision novamente: /usr/local/samba/bin/samba-tool domain provision
6 ) executar /usr/local/samba/sbin/samba

Consegui realizar a conexao com o Samba4 realizando estas alterações.

LEMBRANDO: sempre realizar a cópia do smb.conf para quem possui configuraçoes de compartilhamento.

[37] Comentário enviado por tadeusensacao em 05/09/2013 - 13:16h


[34] Comentário enviado por piamarta montese em 17/08/2013 - 20:29h:


[33] Comentário enviado por viniciusraupp em 17/08/2013 - 16:35h:


Caro rengaf1!
Tentei esse script aí que você postou, mas não deu certo. Segui esse tutorial, mas o samba não sobe na inicialização do servidor.
Você ou alguém, pode me dar uma dica de como subi-lo automaticamente?
Obrigado.
Qual é seu SO ?
No debian ao dar permissão de execução e copiar o script para /etc/init.d/
# chmod +x samba4
# cp samba4 /etc/init.d/

eu executo o comando para iniciar o serviço na inicialização do sistema:
# update-rc samba4 defaults



Viniciusraupp, minha distro é a Debian Wheezy 64 bits.
Segue o tutorial igualzinho.
Copiei o script para o init.d; dei permissão para executar e dei o comando para a inicialização, mas mesmo assim, nada do samba iniciar.



Caro piamarta montese uso o Debian Wheezy 64 bits também e meu script de inicialização é o seguinte.


#! /bin/sh

### BEGIN INIT INFO
# Provides: samba4
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start Samba daemons
### END INIT INFO

#
# Start/stops the Samba daemon (samba).
# Adapted from the Samba 3 packages.
#

PIDDIR=/usr/local/samba/var/run
SAMBAPID=$PIDDIR/samba.pid

# clear conflicting settings from the environment
unset TMPDIR

# See if the daemon and the config file are there
test -x /usr/local/samba/sbin/samba -a -r /usr/local/samba/etc/smb.conf || exit 0

. /lib/lsb/init-functions

case "$1" in
start)
log_daemon_msg "Starting Samba 4 daemon" "samba"
# Make sure we have our PIDDIR, even if it's on a tmpfs
install -o root -g root -m 755 -d $PIDDIR

if ! start-stop-daemon --start --quiet --oknodo --exec /usr/local/samba/sbin/samba -- -D; then
log_end_msg 1
exit 1

fi

log_end_msg 0
;;
stop)
log_daemon_msg "Stopping Samba 4 daemon" "samba"

start-stop-daemon --stop --quiet --name samba $SAMBAPID
# Wait a little and remove stale PID file
sleep 1
if [ -f $SAMBAPID ] && ! ps h `cat $SAMBAPID` > /dev/null
then
# Stale PID file (samba was succesfully stopped),
# remove it (should be removed by samba itself IMHO.)
rm -f $SAMBAPID
fi

log_end_msg 0

;;
restart|force-reload)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: /etc/init.d/samba4 {start|stop|restart|force-reload}"
exit 1
;;
esac

exit 0


[38] Comentário enviado por jaelcio em 17/09/2013 - 22:16h

Eu instalei no Debian Wheezy com o SAMBA_INTERNAL e na rede em que a faixa de IP do servidor SAMBA esta funciona normalmente, agora como faço pra adicionar um computador com faixa de IP diferente do servidor.

Servidor Samba: 192.168.3.252
Rede com faixa diferente: 192.168.1.0/24; 192.168.2.0/24.

[39] Comentário enviado por bfernando em 24/09/2013 - 16:26h

Obrigado pelo tutorial, consegui completá-lo com sucesso, mas no momento de usar a ferramenta de gerenciamento Active directory domains and trusts em um cliente XP, me retorna o seguinte erro: "The configuration information describing this enterprise is not availale. O domínio especificado não existe ou não pode ser contatado". Alguém pode me ajudar com isso?

[40] Comentário enviado por filipemotta em 18/11/2013 - 20:27h

Estou com um erro parecido com o do amigo, porém a solução dele não funcionou comigo... Alguém poderia me dar uma ajuda?

ldb: module schema_load initialization failed : No such object
ldb: module rootdse initialization failed : No such object
ldb: module samba_dsdb initialization failed : No such object
ldb: Unable to load modules for /usr/local/samba/private/sam.ldb: (null)
samdb_connect failed
VFS connect failed!
ERROR(<class 'samba.provision.ProvisioningError'>): Provision failed - ProvisioningError: Your filesystem or build does not support posix ACLs, which s3fs requires. Try the mounting the filesystem with the 'acl' option.
File "/usr/local/samba/lib/python2.7/site-packages/samba/netcmd/domain.py", line 398, in run
use_rfc2307=use_rfc2307, skip_sysvolacl=False)
File "/usr/local/samba/lib/python2.7/site-packages/samba/provision/__init__.py", line 2052, in provision
raise ProvisioningError("Your filesystem or build does not support posix ACLs, which s3fs requires. Try the mounting the filesystem with the 'acl' option.")




Meu fstab está assim:


UUID=438d6289-8baf-4509-9aa1-c5c811605556 / ext4 user_xattr,acl,barrier=1,errors=remount-ro 0 1
# /home was on /dev/sda2 during installation
#UUID=370acf4a-fb84-47a5-a26c-e7a8a2f4e5a6 /home ext4 defaults 0 2
UUID=370acf4a-fb84-47a5-a26c-e7a8a2f4e5a6 /home ext4 user_xattr,acl,barrier=1 1 1
# swap was on /dev/sda5 during installation
UUID=10a8b2da-2d1d-40c1-a6a3-5d0b4c9dcb1c none swap sw 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0


Poderia me dar uma ajuda?

Obrigado

[41] Comentário enviado por leo_dlo em 17/01/2014 - 15:56h

Cara, estou tentando utilizar o Samba 4.1.4 aqui na empresa pra fazer ele gerenciar as contas de usuários. Eu segui todos os comandos que passou, mas travei na linha:

"/usr/local/samba/bin/smbclient -L localhost -U%"

Me aparece a mensagem: "Connection to localhost failed (Error NT_STATUS_CONNECTION_REFUSED)"

Pode me ajudar a resolver esse problema? Já olhei em vários fóruns mas nenhum resultado

[42] Comentário enviado por marcianovc em 24/01/2014 - 22:11h


[41] Comentário enviado por leo_dlo em 17/01/2014 - 15:56h:

Cara, estou tentando utilizar o Samba 4.1.4 aqui na empresa pra fazer ele gerenciar as contas de usuários. Eu segui todos os comandos que passou, mas travei na linha:

"/usr/local/samba/bin/smbclient -L localhost -U%"

Me aparece a mensagem: "Connection to localhost failed (Error NT_STATUS_CONNECTION_REFUSED)"

Pode me ajudar a resolver esse problema? Já olhei em vários fóruns mas nenhum resultado


Conseguiu resolver ae amigo ?

Fiquei hoje o dia tentando faze funciona aqui tbm com o Debian 7.3, porem sem sucesso, bem no final da tarde resolvi fazer o teste com o Debian 6.0.8 e adivinha, ja ta rodando liso de boa...

Meu ambiente:
Debian 6.0.8
Samba 4.1.4
BIND 9.9.3-P2

qualquer coisa chama ae...

[43] Comentário enviado por anderson.agr em 08/02/2014 - 21:53h


[42] Comentário enviado por marcianovc em 24/01/2014 - 22:11h:


[41] Comentário enviado por leo_dlo em 17/01/2014 - 15:56h:

Cara, estou tentando utilizar o Samba 4.1.4 aqui na empresa pra fazer ele gerenciar as contas de usuários. Eu segui todos os comandos que passou, mas travei na linha:

"/usr/local/samba/bin/smbclient -L localhost -U%"

Me aparece a mensagem: "Connection to localhost failed (Error NT_STATUS_CONNECTION_REFUSED)"

Pode me ajudar a resolver esse problema? Já olhei em vários fóruns mas nenhum resultado

Conseguiu resolver ae amigo ?

Fiquei hoje o dia tentando faze funciona aqui tbm com o Debian 7.3, porem sem sucesso, bem no final da tarde resolvi fazer o teste com o Debian 6.0.8 e adivinha, ja ta rodando liso de boa...

Meu ambiente:
Debian 6.0.8
Samba 4.1.4
BIND 9.9.3-P2

qualquer coisa chama ae...


O meu teste deu o mesmo problema, mas deixando /etc/resolv.conf da seguinte maneira:

domain TESTE.LOCAL
nameserver 127.0.0.1

Funcionou redondinho.

[44] Comentário enviado por denistux em 18/02/2014 - 17:18h

Em primeiro lugar gostaria de agradecer o amigo davirodrigues por contribuir com este excelente material. Parabéns!!!
Apesar de segui-lo a risca, tive um problema ao testar a conexão. É exibida a seguinte msg: Connection to localhost failed (Error NT_STATUS_CONNECTION_REFUSED)
Já dei uma olhada no /etc/resolv.conf e está tudo Ok... a placa ja está configurada com IP fixo... provisionei o samba mais uma vez e aparece o mesmo resultado.
Alguém teve o mesmo problema? Por favor, o que pode ser?
Abraços e obrigado, desde então!
Obs: não estou usando o bind apenas as mesmas configurações internas de dns do próprio samba.

[45] Comentário enviado por Dirant em 25/03/2014 - 22:07h

Boa noite a todos!

To engatinhando no linux.

Instalei e configurei o Debian 7 com o Samba4 ,consegui autenticar em uma maquina com o windows 7 porem colocando o dns preferencia o número de ip
do servidor até ai tudo bem.
Só que com esta configuração a internet não navega nas náquinas com Windows7,se trocar o dns para qualquer numero dentro da minha faixa de ips funciona a net mas cai o domínio.

Sera que alguém ai pode me ajudar?
Desde já agradeço a todos.

Obs: copilei e instalei o Samba 4.1.5

[46] Comentário enviado por lafiera em 20/06/2014 - 09:46h

Ola. Primeiramente parabéns pelo ótimo tutorial.

Estou utilizando o Samba4 +- em produção(apenas em um setor da empresa),
e ate o momento estou com apenas um problema: +- de 5 em 5 dias o serviço de DNS Interno não resolve os nomes do servidor DNS que esta em foward.
Ai preciso reiniciar o serviço do Samba4 pra voltar a funcionar. No caso tem +- 180 maquinas utilizando o serviço de DNS do Samba4
e apenas umas 6 utilizando propriamente o serviço de domínio e de compartilhamento de arquivo desse servidor Samba4. Alguém ja passou por isso?

Deste ja, Obrigado.

[47] Comentário enviado por lafiera em 20/06/2014 - 09:49h


[45] Comentário enviado por Dirant em 25/03/2014 - 22:07h:

Boa noite a todos!

To engatinhando no linux.

Instalei e configurei o Debian 7 com o Samba4 ,consegui autenticar em uma maquina com o windows 7 porem colocando o dns preferencia o número de ip
do servidor até ai tudo bem.
Só que com esta configuração a internet não navega nas náquinas com Windows7,se trocar o dns para qualquer numero dentro da minha faixa de ips funciona a net mas cai o domínio.

Sera que alguém ai pode me ajudar?
Desde já agradeço a todos.

Obs: copilei e instalei o Samba 4.1.5



Dirant, no caso o seu Samba4 esta fazendo foward para outro DNS interno?
No meu caso ja tenho um servidor DNS, ai na rede uso o DNS do meu samba4 que faz foward para esse outro DNS.


[48] Comentário enviado por Tante em 14/07/2014 - 08:24h

Ola, bom dia!

Estou tentando montar um servidor Linux Centos com Samba4. Ja instalei o Centos e o Samba4 - estou tentando montar um servidor de dominio. Agora me deparei com um problema que nao consigo resolver. Por favor, alguem poderia me ajudar...

Segui o tutorial ate o ponto de validar e me deparei com o seguinte erro:

Comando: /usr/local/samba/bin/smbclient -L localhost -U%
Erro: session setup failed: NT_STATUS_INVALID_SERVER_STATE

Ao verificar o arquivo log.samba vi: ../lib/util/util_runcmd.c:334(samba_runcmd_io_handler)
/usr/local/samba/sbin/samba_dnsupdate: RuntimeError: kinit for RCESAMBA$@RCEDOMAIN.LOCAL failed (Cannot contact any KDC for requested realm).

Isso seria a causa do erro acima? O que voces indicam?

Muito obrigado,
Cavalcante.

[49] Comentário enviado por davirodrigues em 14/07/2014 - 14:37h

Boa tarde Cavalcante,

Desculpe-me a demora mais vamos lá, pelo erro apresentado, definitivamente é DNS, qual DNS Backend você escolheu?

o Kerberos não esta conseguindo encontrar o domínio, então tem que ver se o seu DNS esta funcionando, se optou por SAMBA_INTERNAL, então algo pode estar errado no seu arquivo resolv.conf.



[50] Comentário enviado por Tante em 15/07/2014 - 08:55h


[49] Comentário enviado por davirodrigues em 14/07/2014 - 14:37h:

Boa tarde Cavalcante,

Desculpe-me a demora mais vamos lá, pelo erro apresentado, definitivamente é DNS, qual DNS Backend você escolheu?

o Kerberos não esta conseguindo encontrar o domínio, então tem que ver se o seu DNS esta funcionando, se optou por SAMBA_INTERNAL, então algo pode estar errado no seu arquivo resolv.conf.




Bom dia e muito obrigado pela atencao!

Bom... o meu arquivo /etc/resolv.conf possui:
# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 8.8.8.4

E o arquivo /usr/local/samba/etc/smb.conf tem:
# Global parameters
[global]
workgroup = RCEDOMAIN
realm = RCEDOMAIN.LOCAL
netbios name = RCESAMBA
server role = active directory domain controller
dns forwarder = 8.8.8.8

[netlogon]
path = /usr/local/samba/var/locks/sysvol/rcedomain.local/scripts
read only = No

[sysvol]
path = /usr/local/samba/var/locks/sysvol
read only = No

Comento que estou na tentativa de montar um dominio usando Samba4. Hoje, a rede nao possui dominio.

Sim... usei SAMBA_INTERNAL.

Bom... nem sei se poderia abrir essas questoes por aqui. Sei que eh importante para quem esta usando o tutorial, por isso abri. Abri no forum tambem, so nao tive retorno por la.

Gostaria, tambem, de parabenizar pelo material. Muito rico.

Novamente obrigado!!!

[51] Comentário enviado por davirodrigues em 16/07/2014 - 15:51h



Bom... o meu arquivo /etc/resolv.conf possui:
# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 8.8.8.4



Boa tarde,

Se você escolheu o DNS SAMBA_INTERNAL, então significa que no seu resolv.conf deveria esta conforme abaixo:

Arquivo resolv.conf:


domain TESTE.LOCAL
nameserver 127.0.0.1


[52] Comentário enviado por Tante em 24/07/2014 - 09:14h

Caro Davi Rodrigues, bom dia!

Muito obrigado pela atencao e desculpa pela demora.

Ainda nao consegui. O problema eh que altero o arquivo /etc/resolv.conf para a configuracao indicada, mas ele volta a versao antiga. Tentei identificar qual processo faz isso, mas nao consegui. Li algo a respeito, mas nao queria alterar as permissoes do arquivo e nao possuo a pasta /etc/resolvconf.

Por favor, o que pode ser feito?

Grato!


[53] Comentário enviado por Tante em 30/07/2014 - 09:15h

Bom... nao sei se isso trara problemas futuros, mas acho que consegui resolver o problema.

Como falei... tentava alterar o arquivo /etc/resolv.conf, mas ele retornava aos valores iniciais. Entao, executei o comando "system-config-network" para reconfigurar as placas de redes. La no campo destinado ao ip do servidor de DNS primario, coloquei 127.0.0.1 e para servidor secundario coloquei 8.8.8.8.

Reiniciei o servidor, mas continuava o erro. Abri o arquivo /etc/resolv.conf e verifiquei que ele estava com os novos valores acima informado. Entao, deletei a linha "nameserver 8.8.8.8" e reiniciei o samba.

Pronto... funcionou. Vou agora dar continuidade no otimo tutorial e vibrarei ao final. Tenho certeza!

Obrigado e abraco!


[54] Comentário enviado por Tante em 30/07/2014 - 09:52h


[53] Comentário enviado por Tante em 30/07/2014 - 09:15h:

Bom... nao sei se isso trara problemas futuros, mas acho que consegui resolver o problema.

Como falei... tentava alterar o arquivo /etc/resolv.conf, mas ele retornava aos valores iniciais. Entao, executei o comando "system-config-network" para reconfigurar as placas de redes. La no campo destinado ao ip do servidor de DNS primario, coloquei 127.0.0.1 e para servidor secundario coloquei 8.8.8.8.

Reiniciei o servidor, mas continuava o erro. Abri o arquivo /etc/resolv.conf e verifiquei que ele estava com os novos valores acima informado. Entao, deletei a linha "nameserver 8.8.8.8" e reiniciei o samba.

Pronto... funcionou. Vou agora dar continuidade no otimo tutorial e vibrarei ao final. Tenho certeza!

Obrigado e abraco!



Infelizmente nao foi verdade. Apos reiniciar o servidor, voltou o problema. Qualquer sucesso, posto aqui.

Obrigado!

[55] Comentário enviado por carlos domingues em 31/07/2014 - 17:02h

Caro amigo
Acabei excluindo as zonas do DNS no samba. Agora, da alguns erros no acesso como domínio. Perfil remoto não copia.
na busca já dá errosHost _ldap._tcp.xxxxxxxxxx.com.br. not found: 3(NXDOMAIN)
Até provisionei novamente. Mas perde meus muitos usuários cadastrados.
Gostaria de saber se tem como reativar o realm sem provisionar novamente.
somente o DNS do Bind DLZ que funciona sem a integração com o samba.
nas pesquisas de zona com o samba-tool da esse erro ERROR(runtime): uncaught exception - (9717, 'WERR_DNS_ERROR_DS_UNAVAILABLE')
Meu DNS do samba não funciona depois disso.
Tem como reativar o dns sem provisionar novamente? ou ainda, provisionar e manter todo os perfis.

Obrigado


[56] Comentário enviado por rcfweb em 18/09/2014 - 09:02h

Bom dia,

Muito obrigado pelo tutorial. Muito bem escrito.
Sou novo no SAMBA e tenho uma dúvida com esse tutorial já estou utilizando o LDAP?
Pergunto porque desejo usar o SQUID com o SAMBA, pelo que andei lendo tem como o SQUID usar o LDAP e o usuário se autenticar (implicitamente) em ambos, assim mato aquela maldita janela de autenticação do SQUID.

Obrigado.

Rodrigo

[57] Comentário enviado por removido em 17/11/2014 - 08:56h

Parabéns pelo tutorial, você sabe como crio no samba 4 o netlogon, para mapeamento automatico dos compartilhamentos

jefferson

[58] Comentário enviado por ilsbr em 28/11/2014 - 00:23h

Vc pode mapear através da ferramenta administrativa diretiva de grupo do rsat para windows 7. Já tentei pelo netlogon e não consegui.
Veja se isso resolve: http://www.youtube.com/watch?v=PMAyqT-anbY

[59] Comentário enviado por evertonterra em 19/12/2014 - 14:26h

Gostei do tutorial achei muito bem explicado, mais ta dando um erro aqui que não consigo resolver se alguem passou por isso manda uma luz ai

segue o erro:
kinit: Cannot contact any KDC for realm 'INFOMINAS.LOCAL' while getting initial credentials

[60] Comentário enviado por jgama em 05/01/2015 - 21:37h

Olá pessoal estou usando o Samba 4 para teste e até agora estou surpreendido, já testei mapeamento via script ou via GPO, criei pasta base do usuários tudo fucionando, para facliltar o uso o RSAT no windows 7 Prof.

A inda estou penando para configurar Quota para grupos e Usuários pois no RSAT não tem o recurso "Gerenciador de Recursos de Servidores de Arquivos" habilitado e pelo quotas do Linux não estou conseguindo encontrar os grupos que criei no AD.

Mas verifiquei que tem alguns amigos que ainda estão com problema para configurar corretamente o samba 4 e principalmente com kerberos e DNS, também passei por esse problema kkkk.

Vamos lá quem saber conseguimos juntos, estou usando o Gnu linux Ubuntu 14.04 mas creio que não terá problema o arquivo abaixo.

OBS1: Estou usando o DNS do próprio Samba com a Opção [SAMBA_INTERNAL] ok.

OBS2: Também estou usando o Samba 4-1-14 copilado e alguns comandos tem que ser executado na PATH /usr/local/samba/bin/ ou exporta a PATH para /etc/environment deixando conforme abaixo.

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/samba/bin:/usr/local/samba/sbin"

Continuando..
Quando vcs rodam o kinit e a resposta é
kinit: Cannot contact any KDC for realm 'SEUDOMINIO.LOCAL' while getting initial credentials

Faz o seguinte no arquivo /etc/krb5.conf deixa assim, logico que terão que trocar pelo seu domínio no local que tiver CCBSUMARE.LOCAL

[libdefaults]
default_realm = CCBSUMARE.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = true

[realms]
CCBSUMARE.LOCAL = {
kdc = srv-01.ccbsumare.local:88
#admin_server = srv01.ccbsumare.local
default_domain = ccbsumare.local
}

[domain_realm]
.ccbsumare.local = CCBSUMARE.LOCAL
ccbsumare.local = CCBSUMARE.LOCAL
#fim

Para resolver o problema do DNS no /etc/resolv.conf para não ficar alterando poder deixar fixo no /etc/network/interfaces. no meu caso só estou usando uma interface de rede que neste caso é eth0.

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.0.3
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameserver 192.168.0.3 <- IP do seu Samba4 ou 127.0.0.1
dns-search ccbsumare.local <- coloca seu domínio

Reinicia o sistema e tenta novamente rodar os comando abaixo para fazer o teste o kerbero e DNS lembrando que tem que trocar para o seu domínio.

root@srv-01:/home/teste#kinit administrator@CCBSUMARE.LOCAL
Password for administrator@CCBSUMARE.LOCAL:

Warning: Your password will expire in 41 days on Sun fev 7 14:20:53 2015

root@srv-01:/home/teste#klist -e
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@CCBSUMARE.LOCAL

Valid starting Expires Service principal
01/05/15 14:22:50 01/05/15 14:22:48 krbtgt/CCBSUMARE.LOCAL@CCBSUMARE.LOCAL
Etype (skey, tkt): ArcFour with HMAC/md5, ArcFour with HMAC/md5

root@srv-01:/home/teste# host -t SRV _ldap._tcp.ccbsumare.local
_ldap._tcp.ccbsumare.local has SRV record 0 100 389 srv-01.ccbsumare.local.

root@srv-01:/home/teste# host -t SRV _kerberos._udp.ccbsumare.local.
_kerberos._udp.ccbsumare.local has SRV record 0 100 88 srv-01.ccbsumare.local.

root@srv-01:/home/teste# host -t A srv-01.ccbsumare.local
srv-01.ccbsumare.local has address 192.168.0.3

Testar a conectividade com Samba
root@srv-01:~# smbclient //localhost/netlogon -UAdministrator -c 'ls'
Enter Administrator's password:
Domain=[CCBSUMARE] OS=[Unix] Server=[Samba 4.1.14]
. D 0 Mon Jan 5 09:54:44 2015
.. D 0 Sun Jan 4 00:22:51 2015
mapear.vbs N 157 Sun Jan 4 20:23:16 2015
Fiscal.vbs A 3404 Mon Jan 5 09:54:09 2015

57673 blocks of size 8388608. 54017 blocks available

Agora teste o compartilhamento:

#smbclient -L localhost -U administrator
root@srv-01:/home/teste# smbclient -L localhost -U administrator
Enter administrator's password:

Domain=[CCBSUMARE] OS=[Unix] Server=[Samba 4.1.14]

Sharename Type Comment
--------- ---- -------
netlogon Disk
sysvol Disk
Fiscal Disk
Contabil Disk
Patrimonio Disk
Diretoria Disk
TI Disk
Tesouraria Disk
IPC$ IPC IPC Service (Samba 4.1.14)
Domain=[CCBSUMARE] OS=[Unix] Server=[Samba 4.1.14]

Server Comment
--------- -------

Workgroup Master
--------- -------

Para que as estações consiga navegar na Internet no arquivo smb.conf informe o forwarder um DNS publico ou do seu Provedor.

[global]
workgroup = CCBSUMARE
realm = CCBSUMARE.LOCAL
netbios name = SRV-01
server role = active directory domain controller
#allow dns updates = secure
dns forwarder = 8.8.8.8
idmap_lbd:use rfc2307 = yes

[netlogon]
path = /usr/local/samba/var/locks/sysvol/ccbsumare.local/scripts
read only = No

[sysvol]
path = /usr/local/samba/var/locks/sysvol
read only = No

Por ultimo veja se o DNS do Samba está resolvendo os nomes, pode usar os comando dig ou nslookup.

teste@srv-01:~$ dig ccbsumare.local

; <<>> DiG 9.9.5-3ubuntu0.1-Ubuntu <<>> ccbsumare.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26629
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;ccbsumare.local. IN A

;; ANSWER SECTION:
ccbsumare.local. 900 IN A 192.168.0.3

;; Query time: 0 msec
;; SERVER: 192.168.0.3#53(192.168.0.3)
;; WHEN: Mon Jan 05 22:25:30 BRST 2015
;; MSG SIZE rcvd: 49


teste@srv-01:~$ dig www.globo.com

; <<>> DiG 9.9.5-3ubuntu0.1-Ubuntu <<>> www.globo.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44315
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 8

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.globo.com. IN A

;; ANSWER SECTION:
www.globo.com. 126283 IN A 186.192.82.163

;; AUTHORITY SECTION:
globo.com. 168237 IN NS ns01.globo.com.
globo.com. 168237 IN NS ns04.globo.com.
globo.com. 168237 IN NS ns02.globo.com.
globo.com. 168237 IN NS ns03.globo.com.

;; ADDITIONAL SECTION:
ns01.globo.com. 168237 IN A 201.7.180.171
ns01.globo.com. 168237 IN AAAA 2804:294:0:800::5
ns02.globo.com. 168237 IN A 64.151.87.25
ns03.globo.com. 168237 IN A 186.192.89.5
ns03.globo.com. 168237 IN AAAA 2804:294:4000:8001::5
ns04.globo.com. 168237 IN A 177.53.95.213
ns04.globo.com. 125037 IN AAAA 2804:294:8000:200::5

;; Query time: 14 msec
;; SERVER: 192.168.0.3#53(192.168.0.3)
;; WHEN: Mon Jan 05 22:28:28 BRST 2015
;; MSG SIZE rcvd: 282

Bom pessoal se todos os comandos for executados com sucesso então poder sair gritando que EU CONSEGUI kkkkk,

Abraço

[61] Comentário enviado por diogoaugustin em 16/01/2015 - 10:09h

Bom dia, primeiramente Parabéns pelo Tutorial, muito completo.
surgiu uma dúvida, na parte do DNS, eu possuo o DNS no meu servidor de internet, como eu procedo nesse caso? fiquei confuso.

[62] Comentário enviado por Rodrigo.Sousa em 04/03/2015 - 14:56h

Boa Tarde,

Minha duvida seria na migração do samba3 para samba4.

Após fazer a migração do samba3 para o samba4, as máquinas que já estavam ingressadas no domínio, será preciso reingressar novamente para poder logar normalmente ?

Agradeço atenção de todos.


[63] Comentário enviado por art2000 em 14/03/2015 - 16:50h


Olá!
Pessoal, estou quebrando a cabeça há uma semana. Estou tentando pôr para rodar o samba 4 como controlador de domínio em uma máquina virtual na mesma rede da empresa. O Samba4 em si roda lisinho quando em uma rede separada, tanto que testei umas três versões diferentes em distribuições diferentes.

O problema só acontece quando eu ponho a máquina na mesma rede da empresa que contém mais dois servidores samba 3.x e três servidores Caldera. Eu só consigo ingressar no domínio alterando os registros do Windows, e mesmo assim não consigo nem mesmo logar com um usuário válido, muito menos acessar via RSAT. Fiz os testes em casa e tudo corre normal com a mesma máquina virtual.

Existe alguma maneira de colocar o samba4 como preferencial ou algo que eu deva alterar nos outros servidores samba 3.x ?

Abraços !

[64] Comentário enviado por andyblessing em 10/05/2015 - 21:31h


Olá quando exeuto o comando "/usr/local/samba/bin/smbclient -L localhost -U%"
aparece o seguinte erro alguem pode me ajudar???
Connection to localhost failed ( Error NT_STATUS_UNSUCCESSFUL)
Agradeço ABraço

[65] Comentário enviado por limarodrigo74 em 30/05/2015 - 23:47h

Opa, boa noite pessoal, instalei o Webmin, porém ele mostra que o samba não está em execução, dá a seguinte mensagem:

"The Samba server executable /usr/sbin/smbd was not found. Either Samba is not installed on your system or your module configuration is incorrect."

Eu fiz o procedimento passado aqui no fórum e só travei nesta parte do Webmin, alguém tem ideia do que pode ser?

[66] Comentário enviado por darkoverde em 23/06/2015 - 16:05h

Parabéns pelo artigo. Muito bem explicado.

[67] Comentário enviado por lpaulods em 29/06/2015 - 17:40h


Prezado,

Td bem?

Gostaria de um apoio.

Estou instalando o SAMBA 4.2.2 no Ubuntu 15.04 e estou com problemas no retorno do cmdo getent passwd, pois ele não esta retornando os usuários do domínio, somento do SO.

Isso me trava na hr das permissões acl, pois tenho que configurar as permissões de acordo com cada usuário do AD (Como faço no Windows Server) para compartilhamento e etc.

Desde já agradeço o auxílio.

[68] Comentário enviado por andyblessing em 13/07/2015 - 22:36h

Olá quando efetuo o camando /usr/local/samba/bin/smbclient -L localhost -U%
Aparece o seguinte erro podem me ajudar?
connection to localhost failed (Error NT_STATUS_NETWORK_UNREACHABLED)

[69] Comentário enviado por elizeufreitas em 16/01/2016 - 22:54h

Olá pessoal...

Após inúmeras tentativas sem sucesso, de iniciar o Samba4 na inicialização, finalmente encontrei uma solução para o meu problema...

Configuração realizada usando "Ubuntu 14.04 LTS"

Segue abaixo o link com a solução (Comigo funcionou perfeitamente)

http://ubuntuforums.org/showthread.php?t=2132259

Creditos: Toxic64
http://ubuntuforums.org/member.php?u=1807148

[70] Comentário enviado por removido em 06/02/2016 - 14:32h

O Servidor DNS da minha rede e o modem 192.168.25.1
entao quando fui configurar apareceu assim:
DNS forwarder IP address (write 'none' to disable forwarding) [192.168.25.1]: 8.8.8.8
em vez de :
DNS forwarder IP address (write 'none' to disable forwarding) [127.0.0.1]: 8.8.8.8
Nao consigo alterar o meu /etc/resolv.conf.. se eu alterar, ele sobrescreve ao reiniciar.

Todos os testes abaixo falharam :
# host -t SRV _ldap._tcp.teste.local.
_ldap._tcp.teste.local has SRV record 0 100 389 arquivos.teste.local.

# host -t SRV _kerberos._udp.teste.local.
_kerberos._udp.teste.local has SRV record 0 100 88 arquivos.teste.local.

# host -t A arquivos.teste.local.
arquivos.teste.local has address 192.168.0.2

Alguém pode me orientar ?


[71] Comentário enviado por removido em 06/02/2016 - 15:44h

O Servidor DNS da minha rede e o modem 192.168.25.1
entao quando fui configurar apareceu assim:
DNS forwarder IP address (write 'none' to disable forwarding) [192.168.25.1]: 8.8.8.8
em vez de :
DNS forwarder IP address (write 'none' to disable forwarding) [127.0.0.1]: 8.8.8.8
Nao consigo alterar o meu /etc/resolv.conf.. se eu alterar, ele sobrescreve ao reiniciar.

Todos os testes abaixo falharam :
# host -t SRV _ldap._tcp.teste.local.
_ldap._tcp.teste.local has SRV record 0 100 389 arquivos.teste.local.

# host -t SRV _kerberos._udp.teste.local.
_kerberos._udp.teste.local has SRV record 0 100 88 arquivos.teste.local.

# host -t A arquivos.teste.local.
arquivos.teste.local has address 192.168.0.2

Alguém pode me orientar ?

[72] Comentário enviado por vendramel em 14/03/2016 - 01:38h


[71] Comentário enviado por fvalim em 06/02/2016 - 15:44h

O Servidor DNS da minha rede e o modem 192.168.25.1
entao quando fui configurar apareceu assim:
DNS forwarder IP address (write 'none' to disable forwarding) [192.168.25.1]: 8.8.8.8
em vez de :
DNS forwarder IP address (write 'none' to disable forwarding) [127.0.0.1]: 8.8.8.8
Nao consigo alterar o meu /etc/resolv.conf.. se eu alterar, ele sobrescreve ao reiniciar.

Todos os testes abaixo falharam :
# host -t SRV _ldap._tcp.teste.local.
_ldap._tcp.teste.local has SRV record 0 100 389 arquivos.teste.local.

# host -t SRV _kerberos._udp.teste.local.
_kerberos._udp.teste.local has SRV record 0 100 88 arquivos.teste.local.

# host -t A arquivos.teste.local.
arquivos.teste.local has address 192.168.0.2

Alguém pode me orientar ?



Boa noite,

Configure a a interface para static
/etc/networking/interfaces

# The Primary network interface
auto eth0
iface eth0 inet static
address 192.168.179.100
netmask 255.255.255.0
gateway 192.168.179.1
nameserver 8.8.8.8

Segundo os seus endereços claro.

[73] Comentário enviado por andresnjr em 29/05/2016 - 13:59h

Boa Tarde Senhores...

Consegui configurar tudo corretamente em uma VM conforme tutorial, porém quando vou adicionar compartilhamento não funciona, a ABA "Segurança" dentro do Active Directory não aparece, já tentei várias opções na Internet e nada.

Lembrando que o pacote acl está instalado e o FSTAB está ok.

Segue SMB.CONF

# Global parameters
[global]
workgroup = TESTE
realm = TESTE.LOCAL
netbios name = TESTE-DC
server role = active directory domain controller
dns forwarder = 208.67.222.222
vfs objects = acl_xattr
map acl inherit = yes
store dos attributes = yes

[netlogon]
path = /usr/local/samba/var/locks/sysvol/teste.local/scripts
read only = No

[sysvol]
path = /usr/local/samba/var/locks/sysvol
read only = No
[home]
path = /AD/home
read only = No
[perfil]
path = /AD/perfil
read only = no

[74] Comentário enviado por dantegd em 31/08/2016 - 18:34h

Estou com esse erro na instalação apos rodar ./configure normal quando tendo make da este erro a baixo, alguem pode me ajudar?
Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at /samba-4.0.5/pidl/lib/Parse/Pidl/ODL.pm line 73.
Compilation failed in require at /samba-4.0.5/pidl/pidl line 412.
BEGIN failed--compilation aborted at /samba-4.0.5/pidl/pidl line 412.
Waf: Leaving directory `/samba-4.0.5/bin'
Build failed: -> task failed (err #255):
{task: PIDL_ATSVC atsvc.idl,CUtil.pm,Compat.pm,Dump.pm,Expr.pm,IDL.pm,NDR.pm,ODL.pm,ClientNDR.pm,ServerNDR.pm,Header.pm,Proxy.pm,Stub.pm,Header.pm,Client.pm,Parser.pm,Server.pm,Python.pm,TDR.pm,Template.pm,Samba4.pm,Typelist.pm,Util.pm,Conformance.pm,NDR.pm,Pidl.pm,Driver.pm -> atsvc.h,ndr_atsvc.c,ndr_atsvc.h,srv_atsvc.c,srv_atsvc.h,ndr_atsvc_s.c,ndr_atsvc_c.c,ndr_atsvc_c.h,py_atsvc.c}
Makefile:8: recipe for target 'all' failed
make: *** [all] Error 1

[75] Comentário enviado por kbecaobh em 26/01/2017 - 07:53h

estou com problemas no meu servidor...wbinfo -g mostra os grupos, porém getent -g, mostra somente os grupos locais...o que pode ser? em outra estação(pdc) também linux, mostra os usarios locais e do dominio... estou quebrando a cabeça, faz dias...


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts