Migração de Samba 3 + LDAP para Samba 4 + NTP + BIND 9.8 + DHCP

Migração de um servidor de arquivos e diretórios, Debian, Samba 3 com OpenLDAP para um novo controlador de domínio, Debian, Samba 4 com todos os requisitos para a devida operação em um ambiente Windows, gerenciamento do domínio, GPOs, associações e atualizações dinâmicas do DNS com NTP, BIND 9 e DHCP.

[ Hits: 20.090 ]

Por: Igor F K em 17/09/2014


Script de inicialização do Samba 4



Crie o arquivo de inicialização do Samba 4, este arquivo foi adequado da Wiki do Samba 4:

# vi /etc/init.d/samba-ad-dc

#! /bin/sh
### BEGIN INIT INFO
# Provides:          samba-ad-dc
# 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 for the AD DC
### END INIT INFO
PIDDIR=/var/run/samba
SAMBAPID=$PIDDIR/samba.pid
unset TMPDIR
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)
        SERVER_ROLE=`samba-tool testparm --parameter-name="server role"  2>/dev/null | tail -1`
        if [ "$SERVER_ROLE" != "active directory domain controller" ]; then
            exit 0
        fi
        if init_is_upstart; then
            exit 1
        fi
        KEYFILE=/var/lib/samba/private/tls/key.pem
        if [ -e $KEYFILE ]
        then
                KEYPERMS=`stat -c %a $KEYFILE`
                if [ "$KEYPERMS" != "600" ]
                then
                        echo "wrong permission on $KEYFILE, must be 600"
                        echo "Removing all tls .pem files will cause an auto-regeneration with the correct permissions."
                        exit 1
                fi
        fi
        log_daemon_msg "Starting Samba AD DC daemon" "samba"
        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)
        if init_is_upstart; then
            exit 0
        fi
        log_daemon_msg "Stopping Samba AD DC daemon" "samba"
        start-stop-daemon --stop --quiet --pidfile $SAMBAPID
        sleep 1
        if [ -f $SAMBAPID ] && ! ps h `cat $SAMBAPID` > /dev/null
        then
            rm -f $SAMBAPID
        fi
        log_end_msg 0
        ;;
    restart|force-reload)
        if init_is_upstart; then
            exit 1
        fi
        $0 stop
        sleep 1
        $0 start
        ;;
    status)
        status_of_proc -p $SAMBAPID /usr/local/samba/sbin/samba samba
        exit $?
        ;;
    *)
        echo "Usage: /etc/init.d/samba-ad-dc {start|stop|restart|force-reload|status}"
        exit 1
        ;;
esac
exit 0

Habilite a devida execução deste script:

# chmod 755 /etc/init.d/samba-ad-dc
# update-rc.d samba-ad-dc defaults

Testes e finalização

Inicie o Samba 4 em modo para testes (use Ctrl + c para sair):

# samba -i -M single -d 9

Testes do DNS:

Em outro terminal entre com:

# host -t SRV _ldap._tcp.domain.com.br.

Deve retornar:

_ldap._tcp.domain.com.br has SRV record 0 100 389 samba4pdc.domain.com.br.


# host -t SRV _kerberos._udp.domain.com.br.

Deve retornar:

_kerberos._udp.domain.com.br has SRV record 0 100 88 samba4pdc.domain.com.br.


# host -t A samba4pdc.domain.com.br.

Deve retornar:

samba4pdc.domain.com.br has address 172.17.0.4


Testes do Kerberos:

# kinit administrator@DOMAIN.COM.BR
# klist

Deve retornar:

Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@DOMAIN.COM.BR

Valid starting     Expires            Service principal
09/15/14 02:20:41  09/15/14 12:20:41  krbtgt/DOMAIN.COM.BR@DOMAIN.COM.BR
  renew until 09/16/14 02:20:39



Demais testes também estão presentes na Wiki do Samba.

Na LAN onde está o samba4pdc, insira alguma máquina no domínio (obtido pelo parâmetro "workgroup" do arquivo /usr/local/samba/etc/smb.conf) utilizando a conta administrator (a senha pode ser refeita com o comando: "samba-tool user setpassword Administrator"). Lembre-se de que, a inicialização do Samba daquela forma, para testes, o torna bem lento, justamente até para acompanhar as saídas do serviço, ou seja, quando iniciado, a adição não funciona imediatamente, espere um pouco a execução do serviço.

Instale a ferramenta RSAT para Windows 7 ou as ferramentas Adminpak e SupportTools para Windows XP, faça alguns testes com GPOs, administração do domínio, ADS etc. aproveite e monitore a saída do Samba.

Após testes bem-sucedidos e estar satisfeito com os resultados, transfira o host samba4pdc para a LAN do antigo samba3.

Para isso, inicialmente, desligue/remova o samba3 da LAN dele.

Desinstale o OpenLDAP do samba4pdc:

# apt-get purge slapd ldap-utils

Caso necessário, readeque os endereços IP do samba4pdc para a LAN onde estava o samba3.

Mova o samba4pdc para aquela LAN e inicie o serviço normalmente:

# /etc/init.d/samba-ad-dc start

Página anterior    

Páginas do artigo
   1. Detalhes do roteiro
   2. Migração/adequação do OpenlDAP samba3 para OpenlDAP samba4
   3. Script de inicialização do Samba 4
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

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

Samba no Arch Linux (para principiantes)

Serviço alternativo de baixo custo: Samba + Windows XP + registros de bloqueio

Logando o Windows XP no Samba

PDC - Samba + LDAP - Fedora 7

  
Comentários
[1] Comentário enviado por darkzad em 18/09/2014 - 08:25h

Tem relato de algum problema com DNS nativo do samba?

Ótimo post.

[2] Comentário enviado por igorino em 18/09/2014 - 12:44h

O uso do DNS nativo depende do ânimo do administrador: alguns não gostam de deixar o Samba no cargo de manter as entradas dinâmicas no DNS, dai podem configurar dois DNS; o interno para o funcionamento básico do AD DC e outro DDNS tradicional (BIND) para os hosts e outras funções avançadas. Outros admins, meu caso e o do roteiro, preferem apenas um, tradicional, gerenciando as zonas. Talvez um problema do DNS nativo do Samba seja a falta de delimitação de views, um modelo do projeto talvez? Tenho que ver nas listas "samba-dev" como está essa situação, dai vem outro detalhe, o BIND já é bem desenvolvido ao contrário do interno do Samba, mas nada que o defina como problemático, jamais.

[3] Comentário enviado por Elisa_SJ em 30/10/2015 - 08:55h


Tenho um servidor DNS com samba3 compartilhando documentos na rede, gostaria de rodar em outro servidor na mesma rede o samba4 como PDC, isso traria algum tipo de conflito?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts