Está en la página 1de 10

Autenticar máquinas Linux contra un dominio Samba4 Active Directory

Jueves, 15 de Abril de 2010 17:42 - Actualizado Jueves, 15 de Abril de 2010 18:50

Continúo realizando experimentos con SAMBA4 Active Directory. En esta oportunidad voy a
documentar dos maneras para autenticar máquinas Linux contra un dominio SAMBA4AD. La
idea es tomar los usuarios, claves y grupos almacenados para implementar servicos de proxy
cache con Squid 3, compartir archivos con Samba 3.x y configurar servicios de correo
electrónico. Son dos los métodos de autenticación: el primero utilizando Winbind (probados en
Ubuntu 9.10 y Debian 5.0.x con éxito)  y el segundo utilizando una aplicación llamada LikeWise
Open (que funciona perfecto con Ubuntu 9.10 pero no con Debian 5.0.x).

i) Para Debian Lenny:

i.i)  Verificamos que el archivo /etc/resolv.conf tenga el nombre


del servidor Samba 4 AD incluido.

{codecitation width="500px"}

# nano /etc/resolv.conf

{/codecitation}

i.ii) Instalamos la suite de samba 3.x y Kerberos 5.x

{codecitation width="500px"}

# aptitude install krb5-config krb5-user libkrb53 libpam-krb5 krb5-auth-dialog krb5-clients


samba-common samba winbind smbclient samba-tools

1 / 10
Autenticar máquinas Linux contra un dominio Samba4 Active Directory
Jueves, 15 de Abril de 2010 17:42 - Actualizado Jueves, 15 de Abril de 2010 18:50

{/codecitation}

i.iii) Utilizaremos como base para el /etc/smb.conf el siguiente


archivo. Para revisar con detalle lo que hace cada linea
recomiendo revisar la página oficial de Samba.

{codecitation width="500px"}
[global]
workgroup = EJEMPLO
password server = servidor.ejemplo.com
realm = EJEMPLO.COM.VE
netbios name = NOMBREDETUMAQUINALINUX
security = ads
idmap uid = 10000-20000
idmap gid = 10000-20000
template homedir = /home/EJEMPLO/%U
template shell = /bin/bash
winbind separator = +
winbind enum users = yes
winbind enum groups = yes
winbind cache time = 10
auth methods = winbind
username = %u
add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
winbind use default domain = true
winbind offline logon = false

{/codecitation}

Puedes seguir agregando opciones a gusto pero esta es la base.

2 / 10
Autenticar máquinas Linux contra un dominio Samba4 Active Directory
Jueves, 15 de Abril de 2010 17:42 - Actualizado Jueves, 15 de Abril de 2010 18:50

i.iv) Debemos crear el directorio /home/EJEMPLO con permisos


de lectura, escritura y ejecución.

i.v) Modificamos el archivo /etc/krb5.conf

Como base para el krb5.conf utilizaremos el siguiente archivo:

{codecitation width="500px"}
[logging]
default = FILE:/var/log/krb5.log

[libdefaults]
default_realm = EJEMPLO.COM.VE
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
forwardable = yes
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true

[realms]
EJEMPLO.COM.VE = {
kdc = servidor.ejemplo.com.ve:88
admin_server = servidor.ejemplo.com.ve:749
default_domain = ejemplo.com.ve
}
[domain_realm]

3 / 10
Autenticar máquinas Linux contra un dominio Samba4 Active Directory
Jueves, 15 de Abril de 2010 17:42 - Actualizado Jueves, 15 de Abril de 2010 18:50

.ejemplo.com.ve = EJEMPLO.COM.VE
ejemplo.com.ve = EJEMPLO.COM.VE

{/codecitation}

Sin embargo, recomiendo utilizar el mismo que genera Samba4 AD en la carpeta


/usr/local/samba/private/krb5.conf

i.vi) Probemos kerberos

{codecitation width="500px"}
# kinit Administrator
# klist

{/codecitation}

En este punto, en teoría podemos hacer un /etc/init.d/samba restart y /etc/init.d/winbind restart


y proceder a pegar la máquina al dominio. Sino, reinicia.

i.vii) Agregamos la maquina al dominio.

{codecitation width="500px"}

# net join ads -U Administrator -S ip_o_nombre_de_la_maquina

4 / 10
Autenticar máquinas Linux contra un dominio Samba4 Active Directory
Jueves, 15 de Abril de 2010 17:42 - Actualizado Jueves, 15 de Abril de 2010 18:50

{/codecitation}

Quizás dé un error en este punto y te vuelva a pedir la clave de administrator. Estoy trabajando
para mejorar este punto.

Probamos que funcione winbind:

{codecitation width="500px"}

# wbinfo -t
# wbinfo -u
# wbinfo -g

{/codecitation}

i.vii) Ahora a configurar el proceso de autenticación.

En el archivo /etc/pam.d/samba agregamos las líneas:

{codecitation width="500px"}

5 / 10
Autenticar máquinas Linux contra un dominio Samba4 Active Directory
Jueves, 15 de Abril de 2010 17:42 - Actualizado Jueves, 15 de Abril de 2010 18:50

auth required /lib/security/pam_winbind.so


account required /lib/security/pam_winbind.so
{/codecitation}

En el archivo /etc/nsswitch.conf agregamos

{codecitation width="500px"}

passwd:      compat winbind


group:       compat winbind
shadow:      compat
{/codecitation}

Reiniciamos:

Comprobamos que ahora los usuarios esten el listado del sistema:

{codecitation width="500px"}

# getent passwd

{/codecitation}

6 / 10
Autenticar máquinas Linux contra un dominio Samba4 Active Directory
Jueves, 15 de Abril de 2010 17:42 - Actualizado Jueves, 15 de Abril de 2010 18:50

Y observamos los usuarios creados con Samba 4 AD

i.viii) Terminamos de configurar la autenticación.

En el archivo /etc/pam.d/common-account agregamos:

{codecitation width="500px"}

account    sufficient    pam_winbind.so


account    required    pam_unix.so

{/codecitation}

En el archivo etc/pam.d/common-auth agregamos:

{codecitation width="500px"}

auth    sufficient    pam_winbind.so


auth    required    pam_unix.so use_first_pass nullok_secure

7 / 10
Autenticar máquinas Linux contra un dominio Samba4 Active Directory
Jueves, 15 de Abril de 2010 17:42 - Actualizado Jueves, 15 de Abril de 2010 18:50

{/codecitation}

En el archivo /etc/pam.d/common-session agregamos:

{codecitation width="500px"}

session    required    pam_mkhomedir.so skel=/etc/skel/ umask=0066


session    sufficient    pam_winbind.so
session required    pam_unix.so

{/codecitation}

i.ix) Reiniciamos y ahora podremos entrar con los usuarios.

Para Ubuntu 9.10

Karmic Koala trae un utilitario muy sencillo que permite agregar máquinas a un dominio de MS
AD o de Samba4 AD de forma sencilla. Se llama likewise-open.

Para instalarlo:

8 / 10
Autenticar máquinas Linux contra un dominio Samba4 Active Directory
Jueves, 15 de Abril de 2010 17:42 - Actualizado Jueves, 15 de Abril de 2010 18:50

{codecitation width="500px"}
# aptitude install likewise-open5 likewise-open5-eventlog likewise-open5-eventlog
likewise-open5-lsass likewise-open5-netlogon likewise-open5-rpc
{/codecitation}

Y si tienes entorno gráfico agrega el GUI:

{codecitation width="500px"}
# aptitude install likewise-open5-gui

{/codecitation}

Ahora es tan sencillo como:

{codecitation width="500px"}
# domainjoin-cli ejemplo.com.ve Administrator

{/codecitation}

9 / 10
Autenticar máquinas Linux contra un dominio Samba4 Active Directory
Jueves, 15 de Abril de 2010 17:42 - Actualizado Jueves, 15 de Abril de 2010 18:50

Referencia bibliográfica:

http://www.held-im-ruhestand.de/software/samba-and-active-directory
http://www.surlyjake.com/linux/samba/join-debian-lenny-to-active-directory-using-samba/
http://www.likewiseopen.org/

10 / 10