Integração do Servidor Linux Samba com Active Directory do Windows Server

Este artigo apresenta uma integração prática entre um Servidor Linux Samba com AD do Windows Server. Por meio dele é possível
configurar um ambiente que utiliza a base de usuários do AD e acessar arquivos em um servidor Linux, bem como ingressar uma estação Linux a
um domínio Windows. Foram utilizados, Samba, LDAP, Kerberos e Active Directory.

[ Hits: 92.724 ]

Por: Fábio Cordeiro em 27/11/2011 | Blog: https://ice.pucminas.br/


LDAP, Samba e Configurações



LDAP (Lightweight Directory Access Protocol)

Para o que precisamos nesta instalação é bastante simples, basta instalar padrão e setar as informações desejadas no momento da instalação com o nome do domínio e do servidor de AD.

# apt-get install slapd

Depois de setar as informações, definir uma senha de Administrador do LDAP e já estará tudo funcionando.

SAMBA SMB/CIFS

Maiores detalhes da instalação do Samba podem ser encontrados aqui no VOL ou no meu Blog: fabioled.blog.com - Servidor Samba

Depois de instalado, adicionar os parâmetros conforme abaixo:

Obs.: Os atributos e parâmetros abaixo listados, são os necessários à integração proposta para este artigo, demais configurações do Samba devem ser vistas no tutorial sobre o assunto no link acima referido.

[global]
unix charset = LOCALE

   realm=DOMINIO.BR
   workgroup = DOMINIO
   server string = %h Servidor LINUX
  
   security=domain
   password server=*
   winbindseparator=+
   log level = 1
  
   winbind uid=10000-20000
   winbind gid=10000-20000
   winbind enum users=yes
   winbind enum groups=yes

   template homedir=/tmp
   template shell=/bin/false

Para testar algum erro de configuração do arquivo "smb.conf", entrar com o seguinte comando:

# testeparm

Depois de testado, reinicie os serviços de winbindo e samba com os seguintes comandos:

# /etc/init.d/winbind stop
# /etc/init.d/samba restart
# /etc/init.d/winbind start


Configurações adicionais

Para continuar a instalação, deve ser configurado o arquivo "/etc/nsswitch.conf", responsável por ordenar as buscas dos usuários, grupos e nomes de máquinas na estação Linux, conforme o exemplo:

# vim /etc/nsswitch.conf

passwd:   files  winbind ldap
group:     files  winbind ladp
shadow:   files  winbind ldap

hosts:          files dns wins
networks:       files dns

protocols:      db files
services:       db files
ethers:          db files
rpc:              db files
netmask:        files
netgroup:      files
publickey:     files

bootparams:   files
automount:    files
aliases:   files

Agora o Linux esta quase preparado para ser membro do domínio. Para isto vamos configurar o arquivo "/etc/hosts" para que evite eventuais problemas de DNS no momento da inserção no domínio.

# vim /etc/hosts

E adicionar o IP da máquina Linux seguida do Nome, Domínio e o nome novamente.

Exemplo: 10.117.0.1 linux.dominio linux

Procure também pelo arquivo de configuração de hosts do Windows Server e adicione referência ao IP dos servidores Windows e Linux envolvidos na configuração. O arquivo de hosts do Windows fica em: "C:\WINDOWS\drivers\etc", abra-o com o bloco de notas e adicione o IP seguido do nome com ponto e domínio.

Exemplo: 10.117.0.240 linux.dominio.br

Agora vamos para o comando de inserção no domínio propriamente dito:

# net ads join -Uadministrator%senha

Se tudo ocorrer bem, será retornado a seguinte mensagem:
  Using short domain name -- DOMINIO
  Joined 'LINUX' to realm 'DOMINIO.LOCAL'

Para ter certeza que tudo funcionou, verifique se o nome do Servidor Linux esta sendo exibido na lista de computadores no AD.

Agora os próximos testes serão em relação à comunicação com grupos e usuários entre o Linux e o Servidor de Active Directory.

Para mostrar todos os usuários do domínio:  

# wbinfor -u

Mostrar os grupos:  

# wbinfo -g

Demonstrar se a comunicação entre o AD e o Kerberos está ok:  

# wbinfo -t

Retorno esperado:
"checking the trust secret via RPC calls succeeded"

E finalmente, o comando para mostrar os usuários bem como seus respectivos diretórios e bash:

# getent passwd

Será apresentada uma lista no terminal com todos os grupos, usuários e caminhos de bash gerados pela nossa configuração no Samba.
Página anterior     Próxima página

Páginas do artigo
   1. Introdução e Instalação
   2. LDAP, Samba e Configurações
   3. Utilização e Considerações finais
Outros artigos deste autor

Criar um Pool de Conexão entre o GlassFish 3.1 e PostgreeSQL

Scilab 5.4.0 no Ubuntu 12.10 - Instalação e configuração

Ubuntu 12.04 - Integração com Active Directory do Windows 2008

Leitura recomendada

Ferramenta samba-vscan: antivírus nos compartilhamentos do Samba

Slackware 13 com Samba PDC completo

Autenticando usuários Windows no Linux (PDC)

Linux e Active Directory (Integrando COMPLETAMENTE sua estação Linux a um domínio MS Windows 2000/2003 Server)

Integrando Servidores Linux no Active Directory com Samba

  
Comentários
[1] Comentário enviado por removido em 27/11/2011 - 23:01h

Legal o artigo !

[2] Comentário enviado por valterrezendeeng em 28/11/2011 - 09:59h

Muito BOM o Artigo !!!!

Parabens !!!!


[3] Comentário enviado por giovannikenpachi em 28/11/2011 - 22:16h

Detalhado e bem explicado.

Muito bom.

[4] Comentário enviado por vaping em 13/01/2012 - 10:51h

Legal o material, muito bem explicado.
Mas estou precisando manter as permissões adicionadas pelo Windos para os arquivos e pastas.
Sabe como posso fazer isso?

[5] Comentário enviado por fabioled em 13/01/2012 - 11:02h

Você queria replicar as permissões que existem atualmente no seu servidor Windows para o Servidor Samba, de forma automática.

Realmente nesse caso não abordei isso, pois foquei no reconhecimento do Samba aos usuários do AD Windows.
Creio eu que isso teria que ser manual, ou seja, criar os diretórios e pastas e conceder as devidas permissões no Samba da mesma forma que foi feito no Windows.
Vou pesquisar uma meneira de fazer isso automaticamente, mas acredito que não é possível, pois se fossemos fazer isso de Windows para Windows não funcionaria e teria que ser feito manualmente.

Pesquisa se achar uma maneira posta.

abraços

[6] Comentário enviado por diegodtl em 28/02/2012 - 18:51h

Muito bom, funcionou perfeitamente.

Só uma dúvida, como ficaria a configuração de uma única pasta compartilhada, dando permissão total a um usuário e só leitura ao um grupo?


[7] Comentário enviado por rccenteno em 11/09/2012 - 20:43h

Excelente artigo.

Mas como fica a permissão das pastas que serão compartilhadas no LINUX ( chown )?
Afinal não tem grupos e usuários do AD no Linux.

Att.

[8] Comentário enviado por jorgetrc em 30/05/2013 - 15:45h

Cara, muito bom...

me ajudou D+++

parabénsS...

abraço!

[9] Comentário enviado por Anikiles em 24/06/2016 - 11:55h

Bom dia, já segui esse teu tutorial e mais alguns encontrados aqui no portal e pela internet porém ainda não consigo acessar uma pasta do servidor Linux através da estação windows usando o usuário do AD sempre mostra acesso negado, somente quando utilizo um usuário criado no linux e no samba tenho acesso, estou usando o SAMBA 4.3.9 junto com o Ubuntu 15.10 poderia me dar uma força?

[10] Comentário enviado por Gabriela88 em 20/08/2019 - 01:07h

Boa noite..
Me ajudou bastante, mais estou com problemas referente a autenticacao no windows com os usuarios do AD. Da acesso negado, sera que precisa ser feito alguma outra configuracao?
Fico no aguardo

[11] Comentário enviado por EmanoelMarcos em 27/04/2021 - 10:43h


Tudo funciona, menos o getent passwd ou getent group, ele só retorna local e não do AD.

[12] Comentário enviado por fabioled em 27/04/2021 - 10:59h

Emanoelmarcos,
Tem bastante tempo que eu escrevi esse artigo, precisaria verificar o motivo, lembro que quando montei o cenário, todas os comandos de grupo retornavam correramente.

[13] Comentário enviado por EmanoelMarcos em 27/04/2021 - 15:56h




Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts