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