Aprenda Linux, 302 (Ambientes Mistos): Integração com o Active Directory

Faça parte e interaja com o domínio Active Directory

Desde o release do Windows 2000, a Microsoft ofereceu o Active Directory como seu serviço de diretório que, em versões posteriores, foi renomeado para Active Directory Domain Services (AD DS). O AD DS usa o popular LDAP para gerenciamento de recursos, o Kerberos para autenticação e uma forte integração com o DNS para resolução do nome. Se você atualmente usa o AD DS, integrar um servidor Linux pode ajudar a centralizar o gerenciamento e manutenção de identidade para serviços de arquivo e impressão Linux. Entretanto, fazê-lo pode ser desafiador. Felizmente, o Samba fornece uma solução para a integração do Linux com o AD DS que não requer modificação para o serviço de diretório.

Tracy Bost, Consultant and Trainer, Freelance

Author photo - Tracy BostTracy Bost é desenvolvedor de software e engenheiro de sistemas experiente. Ele também é palestrante e instrutor do sistema operacional Linux. Tracy é certificado como Red Hat Certified Engineer (RHCE) e Microsoft Certified Systems Engineer (MCSE), além de ser membro ativo da Linux Foundation. Ele trabalhou em vários segmentos de mercado, incluindo hipotecas, imóveis e o setor sem fins lucrativos.



24/Nov/2011

Sobre esta série

Esta série de artigos ajuda você a saber mais sobre as tarefas de administração de sistemas Linux. Também é possível usar o material desses artigos para se preparar para os exames de certificação do Linux Professional Institute nível 3 (LPIC-3).

Consulte o developerWorks roadmap for LPIC-3 para ver uma descrição de cada artigo da série e um link para cada um desses artigos. O roteiro está em andamento e reflete os objetivos atuais (março de 2011) em relação aos exames LPIC-3. À medida que cada artigo é concluído, eles são adicionados ao roteiro.

Neste artigo, saiba mais sobre estes conceitos:

  • Compreender o Active Directory Domain Services (AD DS)
  • Compreender como o Samba se comunica com o AD DS
  • Configuração do Samba para funcionar com o AD DS
  • Interação com o AD DS

Este artigo ajuda você a se preparar para o Objetivo 314.3 no Tópico 314 do exame de especialidade em Ambiente Misto (302) do Linux Professional Institute (LPI). O objetivo tem peso 2.

Pré-requisitos

Para aproveitar ao máximo os artigos desta série, é necessário ter um conhecimento avançado de Linux e um sistema Linux funcional, no qual seja possível praticar os comandos mencionados neste artigo. Especificamente, este artigo pressupõe que você tenha um conhecimento de trabalho das funções de linha de comando do Linux e, pelo menos, um entendimento geral do propósito do Samba, conforme o explicado em Learn Linux, 302 (Mixed environments): Concepts. Para executar as ações descritas neste artigo, é necessário ter o software Samba instalado. Além disso, é necessário ter acesso a um computador executando um sistema operacional Windows Server configurado para AD DS e executando o AD DS.


Compreender o Active Directory

Sobre o exame elegível LPI-302

O Linux Professional Institute Certification (LPIC) é como muitas outras certificações, em que diferentes níveis são oferecidos, com cada nível requerendo mais conhecimento e experiência que o anterior. O exame LPI-302 é um exame elegível especial no terceiro nível da hierarquia do LPIC, e requer um nível avançado de conhecimento de administração de sistemas Linux.

Para obter a certificação LPIC-3, é necessário passar nos dois primeiros exames do primeiro nível (101 e 102), nos dois exames do segundo nível (201 e 202) e no exame principal do LPIC-3 (301). Depois de ter alcançado esse nível, é possível realizar os exames de especialidade elegíveis, como o LPI-302.

Se você trabalha em um ambiente com muitos clientes Windows ou que já possui o AD DS estabelecido, pode considerar integrar os servidores Linux ao ambiente AD. O AD é o serviço de diretório e autenticação do Windows desde o Microsoft Windows 2000. Uma mudança de paradigma significativa dos controladores primário e de domínio de backup, o AD DS usa controladores de domínio que podem ser replicados um para o outro.

Embora outros métodos estejam disponíveis para integração dos serviços Linux ao domínio AD DS, o Samba pode ajudar a facilitar o gerenciamento e a configuração, sem exigir modificações de esquema em AD DS ou outras instalações de software no computador Windows Server. Um servidor Samba não pode se tornar um controlador de domínio dentro de um domínio AD DS, mas pode se unir como servidor membro e interagir com os serviços AD DS.

O AD DS é baseado nas seguintes normas de Internet:

  • Sistema de Nomes de Domínio (DNS) para resolução de nome
  • Kerberos versão 5 para autenticação do usuário
  • Protocolo LDAP versão 3 para serviços de diretório

LDAP 3

O LDAP originou-se a partir da necessidade de um serviço de diretório mais leve que seu predecessor, o protocolo X.500. Ele evoluiu muito desde seu release em 1993. Hoje, é o padrão da Internet real para serviços de diretório.

A Microsoft alega conformidade do LDAP no núcleo. A Tabela 1 mostra Solicitações de Comentários (RFCs) fornecendo suporte estendido para leitura e realização de operações no LDAP.

Tabela 1. Suporte RFC da Microsoft para LDAP
RFCSuporte
2251LDAP v3Desde o Windows 2000
2252Definições de Sintaxe de AtributoDesde o Windows 2000
2253Representação em cadeia de caractere UTF-8 de Nomes DistintosDesde o Windows 2000
2254Filtros de Procura LDAP usando Cadeias de CaracteresDesde o Windows 2000
2255O formato de URL do LDAPDesde o Windows 2000
2256O Esquema de Usuário X.500 para uso com LDAPv3Desde o Windows 2000
2829Métodos de Autenticação para LDAPDesde o Windows 2000
2830Extensão para Segurança da Camada de TransporteDesde o Windows 2000
2589Extensões para Serviços de Diretório DinâmicoDesde o Windows Server 2003
2798Define a Classe de Objeto LDAP inetOrgPersonDesde o Windows Server 2003
2831Usando Autenticação de Compilação como Mecanismo SASLDesde o Windows Server 2003
2891Extensão de Controle LDAP para Classificação do Lado do Servidor dos Resultados da Procura Desde o Windows Server 2003

Kerberos 5

Desenvolva sua própria alimentação

É possível desenvolver uma alimentação RSS, Atom ou HTML customizado para receber uma notificação sobre a inclusão de novos artigos ou a atualização do conteúdo. Acesse as developerWorks RSS feeds. Selecione Linux como zona e Articles como tipo, e digite Linux Professional Institute como palavra-chave. Em seguida, escolha o tipo preferencial de alimentação.

O Kerberos foi desenvolvido pelo Massachusetts Institute of Technology para ser um protocolo de autenticação de rede, em um momento em que as redes de Internet e internas passaram para o primeiro plano. Esse protocolo fornece forte criptografia, o que permite a um cliente provar sua identidade a um servidor e, da mesma forma, um servidor pode provar sua identidade ao cliente. Essa operação usa chamados e autenticadores.

O AD DS usa Kerberos versão 5 para autenticação de usuário. No AD DS, um controlador de domínio atua como um Centro de Distribuição de Chaves Kerberos para autenticação do cliente.

DNS

O AD DS se integra firmemente ao DNS e o utiliza para:

  • Localizar controladores de domínio AD DS
  • Expressar a estrutura organizacional nos nomes dos seus domínios de maneira hierárquica
  • Fornecer serviço de resolução de nome para localização do controlador de domínio e domínios do AD DS

Lembre-se que o AD DS em si não é um servidor DNS e não substitui tarefas que o DNS realiza normalmente. Como uma regra geral, um servidor DNS armazena registros de recursos e zonas, enquanto o AD DS usa o mesmo namespace para armazenar os domínios e seus objetos. A Tabela 2 compara um DNS típico e funções AD DS.

Tabela 2. DNS e funções AD DS
DNSAD DS
Mapeia nomes de domínio para registros de recursoArmazena nomes de DNS como objetos (dnsZone)
Mapeia nomes de computador para registros de recursoArmazena nomes de computador como registros de objeto

Um registro de serviço (registro SRV) é uma especificação de dados no DNS que define a localização dos servidores para serviços especificados. Para que o AD DS funcione adequadamente, servidores DNS devem fornecer suporte para registros de recurso de local de serviço. Os registros de recursos do SRV mapeiam o nome de um serviço para o nome de um servidor oferecendo esse serviço. Clientes AD DS e controladores de domínio usam registros SRV para determinar os endereços IP dos controladores de domínio.


Configurando o Samba para suporte do AD DS

Antes de o servidor Linux poder interagir com o AD DS, é necessário verificar se a instalação do Samba pode oferecer suporte a LDAP e Kerberos. Se você estiver usando uma versão anteriormente compilada do Samba, as chances são de que sua instalação terá suporte a Kerberos 5 e LDAP. Se compilar o Samba a partir da origem, certifique-se de incluir suporte para as bibliotecas kbr5 e ldap . Basicamente, isso envolve uma mudança ao arquivo de cabeçalho include/config.h antes de executar o comando make :

#define HAVE_KRB5 1
#define HAVE_LDAP 1

Os nomes de biblioteca podem variar, dependendo do seu computador Linux.

Quando o Samba estiver instalado no computador Linux, é possível usar o daemon de serviço Samba smbd para descobrir o que sua instalação do Samba suporta (consulte a Listagem 1).

Listagem 1. Exibindo uma listagem parcial do suporte ao Kerberos 5 no Samba
[tbost@samba3 ~]$ smbd -b | grep KRB
   HAVE_KRB5_H
   HAVE_KRB5_LOCATE_PLUGIN_H
   HAVE_ADDRTYPE_IN_KRB5_ADDRESS
   HAVE_DECL_KRB5_AUTH_CON_SET_REQ_CKSUMTYPE
   HAVE_DECL_KRB5_GET_CREDENTIALS_FOR_USER
   HAVE_INITIALIZE_KRB5_ERROR_TABLE
   HAVE_KRB5
   HAVE_KRB5_AUTH_CON_SETUSERUSERKEY
   HAVE_KRB5_AUTH_CON_SET_REQ_CKSUMTYPE
   HAVE_KRB5_C_ENCTYPE_COMPARE
   HAVE_KRB5_C_VERIFY_CHECKSUM
   HAVE_KRB5_DEPRECATED_WITH_IDENTIFIER
   HAVE_KRB5_ENCRYPT_BLOCK
   HAVE_KRB5_ENCRYPT_DATA
   HAVE_KRB5_ENCTYPE_TO_STRING
.....

[tbost@samba3 ~]$smbd -b | grep LDAP
   HAVE_LDAP_H
   HAVE_LDAP
   HAVE_LDAP_ADD_RESULT_ENTRY
   HAVE_LDAP_INIT
   HAVE_LDAP_INITIALIZE
   HAVE_LDAP_SASL_WRAPPING
   HAVE_LDAP_SET_REBIND_PROC
   HAVE_LIBLDAP
   LDAP_SET_REBIND_PROC_ARGS

A Listagem 1 exibe o suporte para bibliotecas krb5 e ldap , respectivamente, em uma distribuição Fedora. Sua saída pode diferir, dependendo da distribuição. Contudo, verifique se sua saída de comando exibe HAVE_KRB5_H e HAVE_LDAP_H no mínimo.

Kerberos e NTP

O suporte ao Kerberos depende da sincronização de tempo entre seu servidor Samba e o domínio. O AD DS é normalmente configurado para usar um controlador de domínio para o serviço de tempo. É possível configurar o Network Time Protocol (NTP) no computador Linux usando o controlador de domínio Windows especificado como o servidor de tempo.

Samba e Kerberos

O Samba pode usar o Kerberos como uma maneira de autenticar os usuários em um domínio AD DS. Para configurar o Samba, localize o arquivo krb5.conf no diretório in /etc, pois é preciso realizar algumas modificações à configuração de arquivo padrão. No mínimo, é necessário especificar o nome de domínio na seção realms do arquivo junto do nome de domínio totalmente qualificado do servidor de domínio Windows, que realiza autenticação para o AD DS (consulte a Listagem 2).

Listagem 2. Configurando o arquivo krb5.conf
[realms]

	LPIC302.LOCAL= {
		kdc = wins3.lpic302.local 
		admin_server =wins3.lpic302.local
		default_domain = LPIC302.LOCAL
	
	}

A Listagem 2 mostra um exemplo de uma configuração simples usando LPIC302.LOCAL como o nome de domínio AD DS. Certifique-se de inserir seu domínio com todas as letras maiúsculas, ou o Kerberos não irá conectar. A diretiva kdc especifica o controlador AD DS com o nome do host wins3.lpic302.local. Além disso, o admin_server é especificado como o controlador de domínio. O parâmetro default_domain é útil, se você desejar que o Kerberos assuma esse nome de domínio quando nenhum for expressado pelo usuário.

O daemon Winbind

O daemon Winbind facilita a autenticação para usuários para o domínio AD DS. Assim sendo, deve-se configurar os Pluggable Authentication Modules (PAM) para usarem o módulo pam_winbind , como mostrado na Listagem 3.

Listagem 3. Configurando PAM para usar pam_winbind
auth        sufficient   pam_winbind.so
auth        sufficient   pam_unix.so use_first_pass
auth        required     pam_stack.so service=system-auth
auth        required     pam_nologin.so
account     sufficient   pam_winbind.so
account     required     pam_stack.so service=system-auth
password    required     pam_stack.so service=system-auth
session     required     pam_stack.so service=system-auth
session     optional     pam_console.so

A Listagem 3 exibe o arquivo system-auth modificado no diretório /etc/pam.d em uma distribuição baseada em Fedora. Dependendo de sua distribuição do Linux, o nome do arquivo de autenticação pode variar. Normalmente, o nome do arquivo será services ou login.

O posicionamento de pam_winbind.so é importante. Se você espera que seus usuários autentiquem principalmente a partir da conta AD DS em oposição ao arquivo passwd local, pam_winbind.so dve ser inserido primeiro. Caso contrário, é possível encontrar seus arquivos auth.log preenchendo rapidamente com tentativas de login local sem sucesso.

O Comutador de Serviço de Nome

O comutador de Serviço de Nome fornece um mecanismo padrão pelo qual seu computador Linux pode interagir com serviços comuns, um sendo autenticado. Seu computador Linux consultará o arquivo /etc/nsswitch.conf ao usar esses serviços. Modifique esse arquivo como segue para permitir seu computador Linux para usar Winbind para autenticação.

O código que segue destaca o processo para adicionar suporte Winbind para permitir aos usuários autenticar com relação a um banco de dados AD DS Kerberos 5 usando Winbind:

passwd: files winbind
group:	 files winbind

smb.conf

Não surpreendentemente, o arquivo smb.conf precisa de uma mudança de configuração de modo que o Samba possa funcionar dentro do domínio AD DS. No nível mais básico, defina os parâmetros para o realm e security, como mostrado na Listagem 4.

Listagem 4. Configurando o arquivo /etc/nssswitch.conf
[global]

realm = lpic302.LOCAL
security = ADS
password server = wins.lpic302.local
workgroup = lpic302
winbind use default domain = yes
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes

A configuração na Listagem 4 define o realm para o nome de domínio, lpic302.local. O parâmetro de segurança é definido para ADS. O ADS indica que o Samba operará no modo de segurança do Serviço AD DS. Você pode definir a linha windbind use default domain = yes para eliminar a necessidade para qualificar os nomes de usuário e outros recursos com o nome de domínio ao acessar os recursos. Por exemplo, em vez de autenticar com LPIC302.LOCAL/tbost, o Winbind assume o domínio LPIC302.LOCAL quando o nome de usuário tbost é especificado.


Interação com o AD DS

Quando a configuração está concluída, o Samba foi reiniciado e o daemon Winbind está executando, você pode interagir com o AD DS.

Usando o comando líquido

A ferramenta net é extremamente útil para administradores do Samba. Se você tiver experiência com o comando do Windows do , estará familiarizado com muitas das suas opções e funcionalidades. O comando net ADS é o que você usa ao trabalhar com o AD DS. Uma das primeiras coisas a fazer é unir um domínio:

[tbost@samba3 ~]$ sudo net ADS join -U Administrator%password
[tbost@samba3 ~]$ sudo net ADS testjoin
[tbost@samba3 ~]$ sudo net ADS join Computers\OrganizationalUnit\Accounting\Servers

Esse código usa o comando do para unir o domínio. Como alternativa, você pode omitir %password e inserir a senha da conta do Windows Administrator quando solicitado. O segundo comando verifique se o servidor uniu-se ao domínio. A etapa final no fragmento cria uma conta de computador para o servidor Samba no AD DS sob Computers\OrganizationalUnit\Accounting\Servers. Se forem necessárias mais informações sobre o comando do , sua página principal on-line fornece muitas informações úteis. Além disso, você pode emitir o comando net help ADS, como mostrado na Listagem 5.

Listagem 5. Listagem de usuários e grupos em um domínio AD DS
[tbost@samba3 ~]$ net help ADS
Usage:
net ads info
    Display details on remote ADS server
net ads join
    Join the local machine to ADS realm
net ads testjoin
    Validate machine account
net ads leave
    Remove the local machine from ADS
net ads status
    Display machine account details
net ads user
    List/modify users
net ads group
    List/modify groups
net ads dns
    Issue dynamic DNS update
net ads password
    Change user passwords
net ads changetrustpw
    Change trust account password
net ads printer
    List/modify printer entries
net ads search
    Issue LDAP search using filter
net ads dn
    Issue LDAP search by DN
net ads sid
    Issue LDAP search by SID
net ads workgroup
    Display the workgroup name
net ads lookup
    Find the ADS DC using CLDAP lookups
net ads keytab
    Manage local keytab file
net ads gpo
    Manage group policy objects
net ads kerberos
    Manage kerberos keytab

Interação com wbinfo

Use o método wbinfo , que o daemon Winbind fornece, para consultar recursos AD DS de consulta:

[tbost@samba3 ~]$  wbinfo -p
[tbost@samba3 ~]$  wbinfo -u 
[tbost@samba3 ~]$  wbinfo -g

Esse fragmento usa wbinfo para descobrir informações sobre o domínio. O comando wbinfo -p faz pings do daemon Winbind para verificar que está em execução. O comando wbinfo -u retorna uma listagem de todos os usuários no domínio, enquanto wbinfo -g retorna todos os grupos no domínio. Consulte o manual wbinfo para obter mais opções de ferramenta e funcionalidade.

Gerenciando as listas de controle de acesso com smbcacls

Se você estiver familiarizado com os comandos setfacl e getfacl , terá poucos problemas em aprender o comando smbcacls que o conjunto cliente Samba fornece. É possível usar a ferramenta smbcacls para alterar a propriedade de grupo e usuário ou gerenciar as permissões da lista de controle de acesso em compartilhamentos fornecidos por uma máquina Windows Server em um domínio:

[tbost@samba3 ~]$sudo smbcacls -G LPIC302.LOCAL\accounting \
//wins2.lpic302.local/budget private.doc

Esse código usa o comando smbcacls para alterar as permissões de grupo no arquivo private.doc para o grupo contabilidade no diretório compartilhado budget em uma máquina Windows Server para o grupo de contabilidade dentro do domínio AD DS. O comando smbcacls ―help exibe as opções disponíveis para as várias funcionalidades da ferramenta.

Recursos

Aprender

Discutir

  • Participe da comunidade do My developerWorks. Entre em contato com outros usuários do developerWorks, enquanto explora os blogs, fóruns, grupos e wikis orientados ao desenvolvedor.

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Linux
ArticleID=776309
ArticleTitle=Aprenda Linux, 302 (Ambientes Mistos): Integração com o Active Directory
publish-date=11242011