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”.