[PHP5] Obtener el SID de un dominio en modo nativo con ldap-toolkit

Fuente: https://code.google.com/p/php5toolkits/wiki/ObtenerSid

Obtener el SID de un Dominio Active Directory es parte *esencial* de una migración exitosa de un dominio MS a Samba; ya que este representará el SID del nuevo dominio.

Extraerlo usando ldap-toolkit es cosa bastante sencilla; como lo explico en el wiki del proyecto.

Configurar una conexión

Para usar una conexion a un MS Active Directory, configuramos:

#una conexion usando un Active Directory Service
$database['ads']['adapter']           = 'ads';
$database['ads']['host']              = '10.1.1.1';
$database['ads']['basedn']            = 'DC=test,DC=com,DC=ve';
$database['ads']['domain']            = 'test.com.ve';
$database['ads']['netbios_name']      = 'TEST';
$database['ads']['username']          = 'administrator';
$database['ads']['password']          = 'mipassword';
$database['ads']['port']              = 389;
$options = array('LDAP_OPT_PROTOCOL_VERSION' => 3, 'LDAP_OPT_REFERRALS'=>0, 'LDAP_OPT_SIZELIMIT'=>5000, 'LDAP_OPT_TIMELIMIT'=>300);
$database['ads']['options']           = $options;

#Importante el usuario y el netbios_name (nombre del dominio netbios) para el login

Snippet de Codigo

include "conf/base.inc.php";
include_once BASE_DIR . "conf/include_ldap.inc.php";

#obtenemos la configuracion AD
$ldap = ldap::load('ad');

#buscar una entrada basica, para extraer su SID
$entry = "(&(objectClass=user)(samaccounttype=". ADS_NORMAL_ACCOUNT .")(samaccountname=jesuslara))";
#conectamos al AD
$ldap->open();
$entry = $ldap->query($entry);
echo "SID usuario {$user}: " . $entry->bin_to_str_sid('objectSid');
$ldap->close();

Ese echo, mostrará un valor semejante a: ‘S-1-5-21-2102913520-367280043-1452191782-14800’ De esa salida: S-1-5-21-2102913520-367280043-145219178214800

Lo que está en negrillas es el SID del dominio, lo que es itálica, es el UidNumber del usuario; simplemente buscar la ubicación del último “-” y todo lo que hay desde ‘0’ hasta strpos(‘-‘) del último guión será el SID del dominio.

Fácil, rápido y permite una migración más transparente de dominios nativos MS AD a Samba.

Acerca de phenobarbital

http://about.me/phenobarbital

Publicado el 9 abril 2010 en Cultura Libre, PHP, PlanetaLinux, Programacion, trucos de la abuela y etiquetado en , , . Guarda el enlace permanente. Deja un comentario.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: