você está aqui: Home  → Colunistas  →  init 5

Autenticação integrada ao AD

Por Smailli Hemori Moraes

Data de Publicação: 18 de Dezembro de 2007

Introdução

Muitas pessoas acham difícil o processo de integrar usuário e senha do AD com o Linux. Neste artigo demonstrarei de forma simples, e é claro em modo gráfico, como integrar a autenticação do Linux com o AD.

Ambiente

  • Um servidor Windows 2003 atuando como controlador de domínio.
  • Um servidor CentOS 5 com KDE atuando como estação de trabalho. Simplesmente utilizaremos a maquina Linux para autenticar no domínio Windows como se fosse uma estação WinXP por exemplo. Futuramente veremos processos mais avançados com a integração de usuário e senha.
  • Tenha certeza que sua data, hora e timezone esteja igual a do controlador de domínio.
  • Tenha certeza que o seu resolv.conf está configurado para o domínio em questão, é necessário para que o kerberos funcione.

Pacotes

Para que a integração funcionasse, de acordo com este artigo, fez-se necessário a instalação dos pacotes abaixo.

  • samba
  • samba-common
  • authconfig-gtk

Instalamos os pacotes com o seguinte comando, na minha instalação ele resolveu algumas dependencias e instalou automaticamente.

  # yum install samba samba-common authconfig-gtk

Testes

Executamos o comando getent para verificar a saída atual da base de usuários. Cortamos a saída pois ela segue um padrão e só nos interessa a parte final.

  [root@smailli ~]# getent passwd
  ...
  apache:x:48:48:Apache:/var/www:/sbin/nologin
  hsqldb:x:96:96::/var/lib/hsqldb:/sbin/nologin
  xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin
  sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin
  squid:x:23:23::/var/spool/squid:/sbin/nologin

Configuração

Após preparar todo o ambiente executamos o comando abaixo para que fosse executado o programa de configuração.

  # system-config-authentication

Informações de usuário

Nesta tela selecionamos Enable Winbind Support para habilitarmos que o sistema Linux busque informações de usuário, nome completo por exemplo, do AD. Clicamos em Configure Winbind... para configurar a integração.

Configuração do Winbind

Nesta tela temos as configurações comentadas abaixo.

  • Winbind Domain
    • Dominio do AD

  • Security Model
    • Tipo de integração. ADS é a integração completa com o 2003.

  • Winbind ADS Realm
    • Realm do domínio Kerberos do AD.

  • Winbind Domain Controllers
    • Hostname ou IP do controlado de domínio. Caso tenha mais que um separe com vírgula.

  • Template Shell
    • Shell padrão que o usuário do AD receberá com a integração. Visto que no AD não tem conceito de shell ele será padrão para todos os usuários.

Após configurarmos toda a integração clicamos em Join Domain para adicionar a estação ao domíno.

Adicionando ao domínio

Entre com o administrador do domínio e senha, ou algum usuário que tenha permissão de adicionar estações no domínio e clique em OK.

No terminal em que abrimos o programa teremos a seguinte saída.

  [root@smailli ~]#
  Shutting down Winbind services:                            [FAILED]
  Starting Winbind services:                                 [  OK  ]
  [/usr/bin/net join -w integral -S integral.integral.corp -U moraes]
  moraes's password:<...>
  Using short domain name -- INTEGRAL
  Joined 'SMAILLI' to realm 'INTEGRAL.LOCAL'

Clicamos em OK na próxima janela finalizando a configuração de informações de usuário. Selecionamos a aba Authentication para configurar a autenticação em si.

Autenticação de usuário

Selecionamos Enable Winbind Support para habilitar a autentcação no AD. Como já foi configurada a integração do sistema com o AD não é necessário configurar o Winbind novamente. Clicamos em OK para encerrar o programa. Receberemos a seguinte saída no terminal.

  Shutting down Winbind services:                            [  OK  ]
  Starting Winbind services:                                 [  OK  ]

Testes

Para verificar se a integração funcionou efetuamos dois testes básicos.

Verificamos a saída do comando getent novamente.

  [root@smailli ~]# getent passwd
  ...
  usuario1:*:16777243:16777216:Usuario de Suporte 1:/dev/null:/bin/bash
  usuario2:*:16777244:16777216:Usuario de Suporte 2:/dev/null:/bin/bash
  moraes:*:16777228:16777216:Smailli Hemori Moraes:/dev/null:/bin/bash
  ...

Dessa vez a saída, além de conter os usuários do próprio passwd do Linux contém os usuários do domínio com as suas devidas informações.

O segundo teste é logar efetivamente com um usuário do dominio no linux.

  [root@smailli ~]# su - moraes
  su: warning: cannot change directory to /dev/null: Not a directory
  -bash: /dev/null/.bash_profile: Not a directory
  -bash-3.1$

No meu login acima reclamou que não conseguiu entrar no meu diretório home por ser /dev/null.

FIM

Não vou entrar em mais detalhes como configuração do PAM, data e hora ou utilização dessa configuração para criar um compartilhamento samba. Caso seja interesse de alguém, no Google encontrará vários artigos expliacando a fundo toda a configuração. Pela interface gráfica muita coisa é feita "por baixo dos panos".

Sobre o autor

Smailli conhece e utiliza o sistema operacional Linux desde 1998 e atua como consultor em conectividade, segurança e servidores Linux pela Integral Informática desde 2003 e como instrutor de Linux Network Administrator pelo Senac desde abril de 2007. Contém varias certificações de Linux e segurança e participa ativamente em toda a cultura de software livre com artigos postados em sua pagina pessoal e em sites de dicas como Dicas-l.


Para se manter atualizado sobre as novidades desta coluna, consulte sempre o newsfeed RSS

init 5

Para saber mais sobre RSS, leia o artigo O Padrão RSS - A luz no fim do túnel.

Recomende este artigo nas redes sociais

 

 

Veja a relação completa dos artigos desta coluna