Integrando samba con el Directorio Activo

Super Mini howto
Debido a un comentario de
Anónimo, el cual agradezco, en el post "VSFTP + Directorio Activo", y a pesar de que hay mucha documentación al respecto voy a intentar escribir un pequeño resumen de como configurar linux (samba) para que autentique contra un Directorio Activo de Microsoft Windows.
ATENCIÓN:
esto funciona hasta windows Server 2003, no lo he probado con windows server 2008.

ATENCIÓN: dependiendo de la distribución GNU/Linux la ubicación de algún fichero de configuración puede cambiar.

Prerequisitos

  • Sistema GNU/Linux instalado
  • Configuración TCP/IP Correctamente configurada
  • Resolución de nombres correcta (DNS y hosts)
  • Sincronización de la hora con el controlador de dominio (recomendado NTP)
  • Samba instalado (versión 3.x)
  • winbind instalado
  • Cliente kerberos instalado

Manos a la obra

  • Configuramos Kerberos. Fichero /etc/krb5.conf
[logging]
default = FILE:/var/log/krb5.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmin.log
[libdefaults]
default_realm = DOMAIN.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = false
clock_skew = 300
ticket_lifetime = 24h
forwardable = yes
[realms]
DOMAIN.LOCAL = {
kdc = hostname-of-your-domaincontroller.DOMAIN.LOCAL
admin_server = hostname-of-your-domaincontroller.DOMAIN.LOCAL
default_domain = DOMAIN.LOCAL
}
[domain_realm]
.kerberos.server = DOMAIN.LOCAL
.DOMAIN.LOCAL = DOMAIN.LOCAL

  • Configuramos winbind. Fichero: /etc/nsswitch.conf
passwd: files winbind
shadow: files winbind
group: files winbind

hosts: files dns


  • Configuramos samba. Ficheros configuración de samba: /etc/samba/smb.conf
[global]
workgroup = DOMAIN
realm = DOMAIN.LOCAL
load printers = no
preferred master = no
local master = no
server string = fileserver
password server = ip-of-your-domaincontroller
encrypt passwords = yes
security = ADS
netbios name = hostname-of-your-linux-fileserver
client signing = Yes
dns proxy = No
wins server = ip-of-your-domaincontroller
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind separator = +
winbind enum users = Yes
winbind enum groups = Yes
winbind use default domain = Yes


  • Creamos tickets Kerberos: kinit (listamos los tickets con klist) Necesitaremos credenciales de administrador de dominio.
  • Integramos la máquina en el dominio: net ads join -S pc.dominio -U administrador. necesitaremos credenciales de administrador de dominio.
  • Reiniciamos los servicios (winbind y samba)
ATENCIÓN: Los parámetros de configuración de los ficheros son ejemplo, se deberan cambiar por aquellos que mas se adapten a las necesidades de cada cual.

Comentarios