Conteúdo


Aprenda Linux, 302 (Ambientes Mistos)

Integração com o Active Directory

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

Comments

Conteúdos da série:

Esse conteúdo é a parte # de # na série: Aprenda Linux, 302 (Ambientes Mistos)

Fique ligado em conteúdos adicionais dessa série.

Esse conteúdo é parte da série:Aprenda Linux, 302 (Ambientes Mistos)

Fique ligado em conteúdos adicionais dessa série.

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

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

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.

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 para download


Temas relacionados


Comentários

Acesse ou registre-se para adicionar e acompanhar os comentários.

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