Unir Samba a un dominio de Windows
Unir Samba a un dominio de Windows

Unir Samba a un dominio de Windows

Desde hace varias semanas he intentado unir mis maquinas con Linux (Fedora core 6 y 8) a un dominio de Windows 2003, despues de un poco de investigación, por fin he logrado unir mis maquinas y utilizar los usuarios y grupos del dominio para poder aplicar seguridad a los recursos compartidos. Todas las pruebas fueron realizadas utilizando Fedora y un dominio Windows 2003, todo lo que esta resaltado con color amarillo en los comandos o en los archivos de configuración son comentarios y no deben ser escritos, tambien algo que me ha dado problemas es selinux al estar activado, para desactivarlo cambiar el parametro “SELINUX=enforcing” por “SELINUX=disabled” en el archivo “/etc/sysconfig/selinux”.
La primera tarea a realizar es la actualización de los paquetes utilizados en la configuración, los cuales son :

Samba:
yum upgrade samba samba-client

Kerberos:
yum upgrade krb5-libs

Pam:
yum upgrade pam

El esquema de red es el siguiente :

 

  • 2 Servidores de dominio (roble/192.168.0.10 y acacio/192.168.0.11), siendo acacio el servidor primario o PDC, ambos tienen instalado Windows 2003 server con Service Pack 2.
  • El servidor de archivos linux que uniremos al dominio se llamara peumo/192.168.0.50.
  • 2 grupos de seguridad que necesito usen los recursos de estos servidores, ademas de mi usuario personal y el administrador del dominio(mas adelante explicare cada uno).
  • Todos los equipos de la red estan en el mismo segmento de red 192.168.0.0/255.255.255.0 y el nombre del dominio sera patricioleon.cl.

Para autentificar los linux contra el dominio ocuparemos Kerberos, por lo que iniciaremos configurandolo y obteniendo un ticket de seguridad.

Configuración de Kerberos.

Para configurar Kerberos debemos modificar el archivo krb5.conf, ubicado en “/etc”, adecuándolo al caso particular de cada dominio, quedando con la siguiente configuración.

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
default_realm = PATRICIOLEON.CL
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
forwardable = yes

[realms]
PATRICIOLEON.CL = {
kdc = acacio.patricioleon.cl:88
admin_server = acacio.patricioleon.cl:749
default_domain = patricioleon.cl
}

[domain_realm]
.patricioleon.cl =
PATRICIOLEON.CL
patricioleon.cl = PATRICIOLEON.CL

[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}


Entonces donde aparece patricioleon.cl, debieses cambiar por tu dominio, y donde dice acacio.patricioleon.cl por el nombre o dirección ip de tu PDC. Una vez modificado el archivo krb5.conf debemos obtener un ticket, con el comando kinit, entonces ejecutamos el siguiente comando:

kinit administrador@PATRICIOLEON.CL (reemplazando siempre el dominio PATRICIOLEON.CL, por el dominio propio)

password for administrador@PATRICIOLEON.CL : (aca escribimos la password del administrador del dominio)

Si todo a salido bien tendremos un ticket kerberos para verificar usamos el comando klist, el cual muestra todos los ticket actuales almacenados en nuestra maquina linux. El paso siguiente es modificar algunos archivos del sistema.
Dos de los problemas mas comunes por los que no se puede obtener un ticket son porque, en el archivo krb5.conf algo a quedado mal escrito (verificar muy bien minusculas y mayusculas), o porque la diferencia de hora entre el servidor kerberos y nuestra maquina supera los 5 minutos (para solucionar esto puedes utilizar ntp), tambien puede deberse a que la maquina linux no logra encontrar el servidor kerberos configurado (para solucionar esto ver la siguiente pagina).