====== Autenticar Samba con usuarios de Active Directory ======
Instalar la paquetería necesaria:
aptitude install samba smbclient winbind krb5-user krb5-config
Resolver equipos de la red
Agregar la IP de nuestro equipo Linux y la del Server Active Directory a
"/etc/hosts":
Configurar el cliente kerberos
Para configurar el cliente kerberos agregamos/modificamos las siguientes lineas a "/etc/krb5.conf":
[libdefaults]
default_realm = PRUEBAS.LOCAL
clockskew = 300
[realms]
PRUEBAS.LOCAL = {
kdc = IP_PDC
default_domain = pruebas.local
admin_server = IP_PDC
}
pruebas.local = {
kdc = IP_PDC
default_domain = pruebas.local
admin_server = IP_PDC
}
pruebas = {
kdc = IP_PDC
default_domain = pruebas
admin_server = IP_PDC
}
[logging]
kdc = FILE:/var/log/krb5/krb5kdc.log
admin_server = FILE:/var/log/krb5/kadmind.log
default = SYSLOG:NOTICE:DAEMON
[domain_realm]
.pruebas = pruebas
.pruebas.local = PRUEBAS.LOCAL
[appdefaults]
pam = {
ticket_lifetime = 1d
renew_lifetime = 1d
forwardable = true
proxiable = false
retain_after_close = false
minimum_uid = 0
try_first_pass = true
}
Crear tickets Kerberos
kinit usuario@prueba.local
Configurar samba, Editamos
nano /etc/samba/smb.conf"
quedando algo parecido a lo siguiente:
[global]
security = ADS
netbios name = debian
realm = PRUEBAS.LOCAL
password server = ad.pruebas.local
workgroup = PRUEBAS
log level = 1
syslog = 0
idmap uid = 10000-29999
idmap gid = 10000-29999
winbind separator = +
winbind enum users = yes
winbind enum groups = yes
winbind use default domain = yes
template homedir = /home/%D/%U
template shell = /bin/bash
client use spnego = yes
domain master = no
server string = linux como cliente de AD
encrypt passwords = yes
Reiniciamos samba:
/etc/init.d/samba restart
Agregar Linux al dominio:
net ads join -S ad.pruebas.local -U usuario
Nos deberá mostrar un mensaje como el siguiente:
Using short domain name -- PRUEBAS
Joined 'DEBIAN' to realm 'PRUEBAS.LOCAL'
Si nos llega a mostrar un error como el siguiente:
usuario's password:
[2007/08/25 16:58:33, 0] libsmb/cliconnect.c:cli_session_setup_spnego(785)
Kinit failed: Clock skew too great
Failed to join domain!
El problema puede ser que la hora del equipo con Linux no este configurada
correctamente. Kerberos es muy estricto con la hora. Para solucionarlo,
corregimos la hora manualmente o ejecutamos el siguiente comando:
# ntpdate nina.eccmg.cupet.cu
Después de hacer esto ya se debería de poder unir al dominio.
Resolver nombres de usuarios y grupos de dominio
Editar "/etc/nsswitch.conf" y modificar las siguientes lineas
dejándolas así:
passwd: files winbind
group: files winbind
shadow: files winbind
hosts: files dns winbind
Gracias a las lineas anteriores los usuarios y grupos del dominio pueden ser
resueltos.
Reiniciamos winbind:
# /etc/init.d/winbind restart
Hacer pruebas para ver si todo salio bien
Configurar la autenticación
Para configurar el acceso a usuarios del dominio a nuestro Linux
mediante el entorno gráfico hay que configurar pam. Para ello editamos los
siguientes archivos y agregamos/modificamos las siguientes lineas:
/etc/pam.d/common-account
account sufficient pam_winbind.so
account required pam_unix.so try_first_pass
/etc/pam.d/common-auth
auth sufficient pam_winbind.so
auth required pam_unix.so nullok_secure try_first_pass
/etc/pam.d/common-password
password sufficient pam_winbind.so
password required pam_unix.so nullok obscure min=4 max=8 md5
try_first_pass
/etc/pam.d/common-session
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
session sufficient pam_winbind.so
session required pam_unix.so try_first_pass