Samba 4.2.1 como Domain Controller no CentOS 6.6 Minimal - Instalando e promovendo

Publicado por Davidson Jorge em 25/05/2015

[ Hits: 13.021 ]

 


Samba 4.2.1 como Domain Controller no CentOS 6.6 Minimal - Instalando e promovendo



Fiz algumas alterações na dica do nosso amigo Fagner Silva do Nascimento, para podermos fazer a instalação da versão mais recente, atualmente do Samba 4 na versão mais recente do Centos 6 minimal.

Créditos:
Download CentOS minimal:

Configurações iniciais

Ambiente: S.O.: CentOS x64 - Minimal
Servidores:
  • DC01 - Master
  • Domínio (realm): contoso.local

Desativando IPtables e o SELinux.

IPtables:

# chkconfig iptables off
# chkconfig ip6tables off

SELinux:

# vi /etc/selinux/config

SELINUX=disabled

Adicionando repositórios e atualizando sistema:

32 bits:

# rpm -Uvh http://fedora.uib.no/epel/6/i386/epel-release-6-8.noarch.rpm
# yum clean all && yum -y update

64 bits:

# rpm -Uvh http://fedora.uib.no/epel/6/x86_64/epel-release-6-8.noarch.rpm
# yum clean all && yum -y update

Instalando pacotes necessários:

# yum install openldap-devel gcc libacl-devel libblkid-devel gnutls-devel readline-devel python-devel gdb pkgconfig krb5-workstation zlib-devel setroubleshoot-server setroubleshoot-plugins policycoreutils-python libsemanage-python setools-libs-python setools-libs popt-devel libpcap-devel sqlite-devel libidn-devel libxml2-devel libacl-devel libsepol-devel libattr-devel keyutils-libs-devel cyrus-sasl-devel cups-devel perl wget ntpdate system-config-network-tui bind-utils -y

Ajustando a hora e data do servidor:

# /usr/sbin/ntpdate -u pool.ntp.org

Agendando o ntpdate:

# crontab -e

Adicione:

# Ajuste de Hora do Servidor
0-59/40 * * * * /usr/sbin/ntpdate -u pool.ntp.org

Nome e IP do servidor (obs.: se o hostname já estiver correto, pule esta etapa):

# system-config-network

Modifique conforme necessário.

Reinicie o servidor:

# reboot

Baixando e instalando o Samba 4

Código fonte do Samba 4:
Instalando a versão 4.2.1 (Abril 2015):

# cd /usr/src
# wget https://ftp.samba.org/pub/samba/stable/samba-4.2.1.tar.gz && tar -xzvf samba-4.2.1.tar.gz && cd samba-4.2.1 && ./configure --prefix=/usr/local/samba && make && make install

Promovendo o Samba 4

Promover domínio:

# cd /usr/local/samba
# bin/samba-tool domain provision
  • realm=contoso.local
  • domain=contoso
  • server-role=dc
  • DNS= Samba Internal
  • adminpass='p@ssw0rd'



Obs.: a senha tem que ser forte, contendo letras, números e caracteres especiais, caso contrário, irá dar erro no final.

Você terá que adicionar a variável PATH para Samba 4 em sua máquina:

# export PATH=$PATH:/usr/local/samba/sbin:/usr/local/samba/bin

Script de inicialização do Samba 4

Configurar script para inicializar e parar o Samba:

# vi /etc/init.d/samba

Adicionar o conteúdo abaixo:

#! /bin/bash
# samba4       Bring up/down samba4 service
# chkconfig: - 90 10
# description: Activates/Deactivates all samba4 interfaces configured
# 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

Dê permissão de execução ao script:

# chmod +x /etc/init.d/samba

Adicionar e configurar o script para iniciar com o sistema:

# chkconfig --add samba
# chkconfig samba on

Reinicie o servidor:

# reboot

Configurando Kerberos e DNS

Configurar Kerberos:

# cd /usr/local/samba/private
# cp krb5.conf /etc/krb5.conf

Configurar DNS:

# vi /etc/sysconfig/network-scripts/ifcfg #Mais a LAN, eth0 ou eth1 etc.

DNS1=IP_DO_SAMBA4

Reinicie a placa de rede:

# service network restart

Testando o domínio criado

Testes:

# /usr/local/samba/sbin/samba -V
Version 4.0.6

Outro pequeno teste:

# /usr/local/samba/bin/smbclient -L localhost -U%
Domain=[CONTOSO] OS=[Unix] Server[Samba 4.0.5]
        Sharename        Type        Comment
        ---------        ----        -------
        netlogon         Disk
        sysvol           Disk
        IPC$             IPC         IPC Service (Samba 4.0.5)
Domain=[CONTOSO] OS=[Unix] Server=[Samba 4.0.5]
        Server               Comment
        ---------            -------
        Workgroup            Master
        ---------            -------


Dicas

Desativar a verificação de complexidade de senha (por padrão, a senha de qualquer usuário deve ter pelo menos, três dos quatro itens: maiúsculas, minúsculas, números e símbolos):

# /usr/local/samba/bin/samba-tool domain passwordsettings set --complexity=off

Mudar o tamanho mínimo da senha (definindo como 4):

# /usr/local/samba/bin/samba-tool domain passwordsettings set --min-pwd-length=4

Mudar o prazo mínimo em que o usuário pode mudar a senha (usuário só vai poder mudar a senha após 4 dias da última mudança):

# /usr/local/samba/bin/samba-tool domain passwordsettings set --min-pwd-age=4

Mudar o tempo de vida máximo da senha do usuário (usuário terá que mudar a senha após 30 dias da última mudança):

# /usr/local/samba/bin/samba-tool domain passwordsettings set --max-pwd-age=30

Mudar o histórico de senhas que impede que o usuário utilize uma senha repetida (usuário não vai poder repetir nenhuma das últimas 5 senhas):

# /usr/local/samba/bin/samba-tool domain passwordsettings set --history-length=5

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Estrutura de diretórios para iniciantes

Segurança da Informação

Zenwalk vs Slackware

Pacotes RPM - Instalação em sua distribuição sem usar o Alien

Solução para a falta de codecs do Ubuntu (e mais)

  

Comentários
[1] Comentário enviado por wagnerfs em 25/05/2015 - 21:03h

Cara, muito bom esta dica! Vou testar aqui nos meus laboratórios virtuais.

_________________________
Wagner F. de Souza
Graduado em Redes de Computadores
"GNU/Linux for human beings."
LPI ID: LPI000297782

[2] Comentário enviado por lDavidson em 26/05/2015 - 08:41h


[1] Comentário enviado por K666 em 25/05/2015 - 21:03h

Cara, muito bom esta dica! Vou testar aqui nos meus laboratórios virtuais.

_________________________
Wagner F. de Souza
Graduado em Redes de Computadores
"GNU/Linux for human beings."
LPI ID: LPI000297782


Vlws Wagner,

Qualquer dúvida estou a disposição.
Abraços!!

[3] Comentário enviado por igorferreirar em 08/06/2015 - 13:56h

Boa tarde, tudo bem?

Cara estou com dificuldades para criar este domínio no Samba 4.

Fiz tudo que você passou ai, segui o tutorial todo. Porém, quando vou na estação Windows para colocar o domínio informa que não existe ou não esta acessível.
E se eu acessar pela estação Windows pelo comando "Windows + R" e digito o IP Fixo que coloquei ele acessa e pede o usuário e a senha. Coloco o usuário e a senha que criei no CentOS 6.6 no Samba 4, mais informa que está errado.

Onde estou errando?

Aguardo resposta.

Thanks,

Igor Medeiro

[4] Comentário enviado por lDavidson em 08/06/2015 - 17:11h


[3] Comentário enviado por igorferreirar em 08/06/2015 - 13:56h

Boa tarde, tudo bem?

Cara estou com dificuldades para criar este domínio no Samba 4.

Fiz tudo que você passou ai, segui o tutorial todo. Porém, quando vou na estação Windows para colocar o domínio informa que não existe ou não esta acessível.
E se eu acessar pela estação Windows pelo comando "Windows + R" e digito o IP Fixo que coloquei ele acessa e pede o usuário e a senha. Coloco o usuário e a senha que criei no CentOS 6.6 no Samba 4, mais informa que está errado.

Onde estou errando?

Aguardo resposta.

Thanks,

Igor Medeiro


Boa tarde Igor,

O configuração do DNS primário da sua estação Windows está com o IP do Servidor Samba?
A configuração de DNS na LAN do servidor está setada corretamente? (DNS1=IP_DO_SAMBA4)

[5] Comentário enviado por Lucas Peregrino em 21/07/2015 - 12:58h

Boa tarde estou vc chego a testa essa versão para acesso remoto estou tento problema no samba 4 aparti da versao 4.2 ao tentar logar com usuarios em area de trabalho remoto a tela fica preta.

[6] Comentário enviado por lDavidson em 23/07/2015 - 10:59h


[5] Comentário enviado por Lucas Peregrino em 21/07/2015 - 12:58h

Boa tarde estou vc chego a testa essa versão para acesso remoto estou tento problema no samba 4 aparti da versao 4.2 ao tentar logar com usuarios em area de trabalho remoto a tela fica preta.


Boa tarde Lucas.

Testei sim, inclusive instalei a ferramenta Rsat para melhor gerenciamento através de uma estação Windows que adicionei no Domínio.
O erro que mencionou está ocorrendo em todas estações que você coloca no domínio?

[7] Comentário enviado por fguatemala em 09/11/2017 - 01:43h


[4] Comentário enviado por lDavidson em 08/06/2015 - 17:11h


[3] Comentário enviado por igorferreirar em 08/06/2015 - 13:56h

Boa tarde, tudo bem?

Cara estou com dificuldades para criar este domínio no Samba 4.

Fiz tudo que você passou ai, segui o tutorial todo. Porém, quando vou na estação Windows para colocar o domínio informa que não existe ou não esta acessível.
E se eu acessar pela estação Windows pelo comando "Windows + R" e digito o IP Fixo que coloquei ele acessa e pede o usuário e a senha. Coloco o usuário e a senha que criei no CentOS 6.6 no Samba 4, mais informa que está errado.

Onde estou errando?

Aguardo resposta.

Thanks,

Igor Medeiro

Boa tarde Igor,

O configuração do DNS primário da sua estação Windows está com o IP do Servidor Samba?
A configuração de DNS na LAN do servidor está setada corretamente? (DNS1=IP_DO_SAMBA4)


Apenas acrescentando a resposta, que para acessar as unidades mapeadas que Igor está tentando, através do endereço de IP, deve-se digitar o nomedousuario@dominio.
EXEMPLO: (de acordo com o modelo exposto)
Domínio (realm): contoso.local
nomedeusuario@contoso.local

Abs.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts