Bem, depois de testar diversos tutoriais por ai, e quebrar a cabeça, coloco a disposição da comunidade esta receita de bolo, de como permitir a utilização dos serviços instalados em um servidor Linux Red Hat Enterprise 4, através da autenticação de contas da base do Active Directory do Windows 2003 Server, utilizando os serviços de kerberos.
Objetivo Principal
Permitir a utilização dos serviços instalados servidor Linux Red Hat Enterprise Versão 4, através da autenticação de contas da base do AD do Windows 2003 Server, utilizando os serviços de kerberos.
1. Procedimentos:
Características da máquina:
Servidor DELL Power Edge 1.800, dual Xeon 2.8Mhz, RAM 2GB, 2 Satas 72GB
Sistema Operacional
Red Hat Enterprise ES versão 4, atualizado em 12/02/2007.
Pacotes Kerberos
krb5-auth-dialog-0.2-1
krb5-workstation-1.3.4-33
krb5-devel-1.3.4-33
krb5-libs-1.3.4-33
Pacotes PAM
pam_passwdqc-0.7.5-2
pam-devel-0.77-66.17
pam-0.77-66.17
pam_smb-1.1.7-5
pam_ccreds-1-3
Pacotes Samba
system-config-samba-1.2.21-1
samba-3.0.10-1.4E.9
samba-common-3.0.10-1.4E.9
samba-client-3.0.10-1.4E.9
2.Validação da configuração (parâmetros básicos)
auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok
auth sufficient /lib/security/$ISA/pam_krb5.so use_first_pass
auth sufficient /lib/security/$ISA/pam_smb_auth.so use_first_pass nolocal
auth sufficient /lib/security/$ISA/pam_winbind.so use_first_pass
auth required /lib/security/$ISA/pam_deny.so
account required /lib/security/$ISA/pam_unix.so broken_shadow
account sufficient /lib/security/$ISA/pam_succeed_if.so uid < 100 quiet
account [default=bad success=ok user_unknown=ignore] /lib/security/$ISA/pam_krb5.so
account [default=bad success=ok user_unknown=ignore] /lib/security/$ISA/pam_winbind.so
account required /lib/security/$ISA/pam_permit.so
password requisite /lib/security/$ISA/pam_cracklib.so retry=3
password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
password sufficient /lib/security/$ISA/pam_krb5.so use_authtok
password sufficient /lib/security/$ISA/pam_winbind.so use_authtok
password required /lib/security/$ISA/pam_deny.so
session required /lib/security/$ISA/pam_limits.so
session required /lib/security/$ISA/pam_unix.so
session optional /lib/security/$ISA/pam_krb5.so
3.Validar configuração e funcionamento do serviço kerberos
# klist
mostra ticket obtido do servidor e sua validade
# wbinfo -u
mostra lista de usuários do domínio
# wbinfo -g
mostra lista de grupos do domínio
# getent passwd
mostra perfil dos usuários e grupos do domínio
Validar configuração e funcionamento do serviço samba
# testparm
valida os parâmetros de configuração do serviço
# service samba restart && service winbind restart
reiniciar serviços samba e winbind
4.Configurar serviço kerberos
Editar arquivo /etc/krb5.conf e inserir as linhas de identificação do domínio
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
ticket_lifetime = 24000
default_realm = MEU-DOMINIO.EM.MAIUSCULO
dns_lookup_realm = false
dns_lookup_kdc = false
[realms]
MEU-DOMINIO.EM.MAIUSCULO = {
kdc = servidor.MEU-DOMINIO.EM.MAIUSCULO:88
kdc = servidor01.MEU-DOMINIO.EM.MAIUSCULO:88
kdc = servidor02.MEU-DOMINIO.EM.MAIUSCULO:88
admin_server = servidor.MEU-DOMINIO.EM.MAIUSCULO:749
default_domain = MEU-DOMINIO.EM.MAIUSCULO
}
NOME_DO_GRUPO_WINDOWS = {
kdc = servidor
kdc = servidor01
kdc = servidor02
}
[domain_realm]
.MEU-DOMINIO.EM.MAIUSCULO = MEU-DOMINIO.EM.MAIUSCULO
MEU-DOMINIO.EM.MAIUSCULO = MEU-DOMINIO.EM.MAIUSCULO
[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
5. Configurar Serviços Samba
Editar arquivo /etc/samba/smb.conf e inserir as linhas de identificação do domínio
[global]
workgroup = nome_do_grupo_windows
server string = Descrição do servidor ou estação
netbios name = nome_da_maquina
printcap name = /etc/printcap
load printers = yes
printing = cups
cups options = raw
log file = /var/log/samba/%m.log
max log size = 50
security = ads
password server = servidor.MEU-DOMINIO.EM.MAIUSCULO servidor01.MEU-DOMINIO.EM.MAIUSCULO servidor02.MEU-DOMINIO.EM.MAIUSCULO
realm = MEU-DOMINIO.EM.MAIUSCULO
winbind use default domain = yes
encrypt passwords = yes
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
client use spnego = yes
local master = no
template homedir = /home/%U
template shell = /bin/bash
dns proxy = no
preserve case = yes
short preserve case = no
default case = lower
#== Share Definitions ==============================
idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
6.Incluir máquina no domínio do Server 2003
Editar arquivo /etc/resolvl.conf e inserir as linhas de identificação do domínio
search MEU-DOMINIO.EM.MAIUSCULO
nameserver 10.32.10.9
nameserver 10.32.11.3
nameserver 10.34.1.1
Obter o ticket do usuário suporte a partir do domínio
# kinit -V administrador@MEU-DOMINIO.EM.MAIUSCULO
Adicionar a máquina ao domínio
# net ads join
7.Configurar módulos PAM
Editar arquivo /etc/pam.d/system-auth e inserir a linha que permite criar o diretório base do usuário quando ele não existir session optional: /lib/security/$ISA/pam_mkhomedir.so skel=/etc/skel/ umask=0002
8.Configurar sistema para buscar contas de autenticação em outro servidor
Inserir parâmetros de autenticação das contas apontando para o domínio
system-config-authentication
User Information
[*] Use winbind
Authentication
[*] Use winbind Authentication
9.Resolvendo Problemas caso já tenha efetuado configurações no Samba e tentado inserir a máquina sem sucesso
Refazer o processo de ingresso no domínio
# kdestroy - Apaga o ticket kerberos
# cd /var/cache/samba
# find . -iname "*.tdb" - busca os arquivos de base da chave para o samba
# find . -iname "*.tdb" -exec rm -f {} \; - apaga os arquivos base da chave
# rm -rf /var/cache/samba/browse.dat - apaga os arquivos base da chave
10.Base de pesquisa na base de conhecimento da Red Hat
I can not join a Windows 2003 Active Directory Domain and/or access shares, what can I check for?
http://kbase.redhat.com/faq/FAQ_71_2343.shtm
How do I join a Windows 2000/2003 Active Directory domain from Linux?
http://kbase.redhat.com/faq/FAQ_71_2337.shtm
What steps do I need to follow to join a Red Hat Enterprise Linux 3 or 4 Samba server to an Active Directory domain in security = ADS mode?
http://kbase.redhat.com/faq/FAQ_45_5787.shtm
Mais informações no endereço:
http://kbase.redhat.com/faq/