Samba PDC en Debian

­

Improvisa :: Informática :: Samba PDC en Debian­Bueno llevo mucho tiempo queriendo añadir esta guía a Improvisa, pedí permiso en su día a Roland Pish que publicó en su sitio­ esta ­magnífica solución para ­crear un Controlador de Dominio basado en Debian Etch. El documento que leereis a partir de ahora será para crear un Controlador de Dominio basado en Debian Lenny.

­Un Primary Domain Controller (PDC) o Controlador de Dominio, es una de las mejores cosas que hizo M$ en sus días, lo llamó Active Directory. Basicamente Active directory es un conjunto de herramientas para la gestión de los usuarios de un dominio, nos permitirá la creacion, modificación, de las máquinas del PDC asi como los usuarios y grupos del Dominio.

Las máquinas clintes se iran agregando al PDC y desde el panel de gestion iremos modificando segun nuestras necesidades. De esta forma tendremos totalmente centralizada la gestión de usuarios sin tener que ir equipo por equipo agregando los usuarios del grupo de trabajo.

Todo esto fue un invento de M$, que rapidamente tuvo su replica en GNU/Linux con los aplicativos Samba, Phpldapadmin, …. y alguna que otra herramienta que iremos viendo en el documento.

Sin más pasaremos a explicar como montar un PDC en Samba:

­Improvisa :: Informática :: Samba PDC en DebianComo ya hemos dicho esta guia, howto, manual o como querais llamarlo, nos enseñara a montar un PDC con Samba en Debian Lenny:

– La distro utilizada para estas pruebas fue la Debian Lenny 5.0 estable a día 25 de abril del 2009. Probablemente se pueda adaptar sin mucho problema a otras distros de Linux.

Las ubicaciones de los archivos tratados en este documento pueden variar dependiendo de la distro y versión que tenga.

– El procedimiento del montaje descrito en esta guía se hizo con base en mi necesidad específica. De acuerdo con su necesidad particular, puede que necesite llevar a cabo pasos adicionales/diferentes que los citados en este documento. Tome en cuenta que yo no soy experto en LDAP, simplemente pude adecuarlo a lo que yo necesitaba.

– Esta guía se ha elaborado tomando como base diversa documentación obtenida en Internet en conjunto con partes personalizadas a mi gusto.

Todos los comandos ejecutados desde la consola deben llevarse a cabo como usuario root.

– Lo escrito en negrita y cursiva serán los comandos que debemos introducir, los comandos en cursiva serán los que nos mostrará la consola en respuesta a lo introducido.

Al final de esta guía tendremos montado un controlador principal de dominio en Samba perfiles móviles scripts de inicio y se utilizará la autenticación y organización de usuarios y grupos por medio de openLDAP.

Instalación del sistema operativo 

Como ya hemos dicho instalaremos Debian Lenny 5.0 estable, instalación básica a la cual iremos agregando los paquetes necesarios. Lo único que debemos tener en cuenta es que cuando nos pida el nombre del dominio al que va a pertenecer el nuevo servidor debemos decirle el dominio que utilizaremos a partir de ahora para la instalación del PDC, en nuestro ejemplo improvisa.com

Instalación del servidor LDAP ­
Instalar el paquete de openLDAP y algunas utilidades con el comando:

improvisa:~# apt-get install slapd ldap-utils

Mientras se instala el paquete slapd nos pedirá la siguiente información, lo que ponemos en negrita y cursiva es lo que debemos poner, simplemente debéis cambiar el nombre del dominio que utilizareis, nosotros como prueba hemos utilizado improvisa.com:

Dato solicitado –> Dato a introducir –> Notas adicionales
Contraseña del administrador –>  suclave –>  Contraseña que le asignará a la cuenta admin de LDAP
Confirme la contraseña del administrador  –> suclave 

Cuando se terminen de instalar los paquetes tenemos que reconfigurar a slapd para que nos pida más información:

improvisa:~# dpkg-reconfigure slapd

Dato solicitado –> Dato a introducir –> Notas adicionales
Omitir la configuración de OpenLDAP –> no –> Es para confirmar que desea reconfigurar a OpenLDAP 
Nombre de dominio –> improvisa.com –> Es el nombre que yo le puse a mi dominio de prueba 
Nombre de organización –> improvisa.com –>Aquí puede ir un nombre más amigable y descriptivo 
Contraseña del admin –> suclave –> Otra vez volver a poner la clave del usuario admin de LDAP 
Confirme la contraseña del admin –> suclave –> Otra vez confirmar la clave del usuario admin de LDAP 
Motor de base de datos a utilizar –> BDB –> Formato Berkeley de Base de Datos 
Borrar la base de datos al purgar slapd –> no –> Es para conservar la base de datos de LDAP cuando se purgue 
Mover la base de datos antigua –> –> Es para respaldar la base de datos actual de LDAP. (prevención) 
Permitir LDAP v2 –> sí 

NOTA: Es posible que los datos que nos pidan vengan en ingles

Ahora, para probar que el servicio de slapd está arriba y funcionando, anrtes de ello reiniciaremos el servicio ldap, para ello  utilizaremos los comandos:

improvisa:~# /etc/init.d/slapd restart
improvisa:~# ldapsearch -x -b "dc=improvisa,dc=com"

NOTA: Si por ejemplo su dominio se llama improvisa entonces el comando debe ser:

improvisa:~# ldapsearch -x -b "dc=improvisa"

Si por ejemplo su dominio se llama improvisa.com.es  entonces el comando debe ser:

improvisa:~# ldapsearch -x -b "dc=improvisa,dc=com,dc=es"

Y debe mostrarte algo parecido a esto:

­improvisa:~#  ldapsearch -x -b "dc=improvisa,dc=com"
# extended LDIF
#
# LDAPv3
# base <dc=improvisa,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# improvisa.com
dn: dc=improvisa,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: improvisa.com
dc: improvisa

# admin, improvisa.com
dn: cn=admin,dc=improvisa,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator

# search result
search: 2
result: 0 Success

# numResponses: 3
# numEntries: 2

Si saliera un mensaje como esto: "ldap_bind: Can’t contact LDAP server (-1)"
entonces algo está pasando con el servicio de LDAP, seguramente esté caido.

Si tenemos problemas con el slapd, entonces podremos ejecutarlo en modo debug para ver sus mensajes en tiempo real:

improvisa:~# slapd -d 256

Si al ejecutar este comando no se despliega ningún error, entonces puede abrir otra consola y pruebe ejecutar allí nuevamente el comando ldapsearch para observar qué mensajes se emiten y cuál puede ser el error.

Instalación de phpldapadmin

Instalar un administrador gráfico para LDAP nos va ayudar mucho a visualizar nuestro árbol organizativo en LDAP además de que nos permite llevar a cabo funciones muy útiles de una manera muy rápida. El phpldapadmin es un administrador hecho en PHP que corre encima de un servidor web (por ejemplo: Apache SSL o Apache2) y accesible utilizando cualquier navegador de internet (en mi caso lo usé con Iceweasel que es la versión de firefox que viene con Debian Etch).

NOTA: también exis­te otro administrador gráfico de LDAP llamado luma que viene entre los paquetes de Debian Lenny, pero personalmente prefiero a phpldapadmin y he visto que es el más aceptado.

Para que phpldapadmin funcione debemos instalar Apache2

improvisa:~# apt-get install apache2

Para probar si el Apache2 está arriba y funcionando, abrimos nuestro navegador de internet y nos vamos a la siguiente dirección:

http://ip_servidor_pdc

Si no nos devuelve ningún error o nos sale el mítico mensaje It Works! entonces ya tenemos arriba a nuestro servidor web.

Seguidamente vamos a instalar un paquete llamado smbldap-tools que contiene varias herramientas para Samba y LDAP muy útiles para nuestros intereses:

improvisa:~# apt-get install smbldap-tools

Ahora sí es momento para instalar el phpldapadmin:

improvisa:~# apt-get install phpldapadmin php5-ldap

Para probar que el phpldapadmin quedó bien instalado, abrimos el navegador de internet y nos vamos a la siguiente dirección:

http://ip_servidor_pdc/phpldapadmin

Y nos deberá salir algo así:

­­

­Improvisa :: Informática :: Samba PDC Debian

­Una vez instalado, phpldapadmin requiere de una utilidad llamada mkntpwd para crear los hashes de Samba. Debido a que esta utilidad no ha sido incluida en el paquete smbldap-tools de Debian, habrá que descargar sus archivos fuente de Internet y compilarlos en nuestro sistema para que nos genere el ejecutable de mkntpwd:

La página que aloja los fuentes de mkntpwd es:

­http://sourceforge.net/project/showfiles.php?group_id=19107&package_id=14667&release_id=24418

Yo dejo una replica en los servidores de Improvisa por si luego desaparece, como le ha ocurrido a Roland Pish en su documento:

http://www.improvisa.com/descargas/mkntpw­d.tar.gz

Para compilarlos haremos lo siguiente:

improvisa:~# cd /usr/src/
improvisa:/usr/src# wget http://www.improvisa.com/descargas/mkntpwd.tar.gz
improvisa:/usr/src# tar -xzvf mkntpwd.tar.gz
improvisa:/usr/src# cd mkntpwd

Necesitaremos los paquetes necesarios para compilar:

improvisa:/usr/src/mkntpwd# apt-get install build-essential

Ahora si, compilemos con el siguiente comando :

improvisa:/usr/src/mkntpwd# make

Esto nos va a generar el archivo ejecutable mkntpwd, el cual vamos a copiar a la carpeta /usr/local/bin:

improvisa:/usr/src/mkntpwd# cp mkntpwd /usr/local/bin

Para probar si la utilidad mkntpwd quedó bien instalada simplemente ejecutamos el comando:

improvisa:/usr/src/mkntpwd# mkntpwd

y por lo menos debe salir el mensaje de ayuda de mkntpwd. Si se nos muestra que el comando es incorrecto significa que tenemos que revisar los pasos anteriores para ver cuál hicimos mal.

Instalación de Samba

Vamos a instalar samba y samba-doc con el siguiente comando:

improvisa:/usr/src/mkntpwd# apt-get install samba samba-doc

Mientras se instala el paquete samba se le pedirá la siguiente información:

Nombre del dominio –> improvisa.com –>  Se usa el mismo que se usó para LDAP 
Usar passwords encriptados –> –> Puede que NO se le pregunte este dato 
Modificar smb.conf para que use la configuración WINS proveniente de DHCP –> no 

Por ahora vamos a dejar así a Samba. Más adelante en otra sección lo vamos a configurar como se debe.

Configuración de LDAP

El servidor LDAP necesitará del esquema Samba para trabajar. Para eso vamos a obtener el archivo samba.schema provisto por samba-doc y lo vamos a alojar en la carpeta /etc/ldap/schema.

Hacemos lo siguiente desde la consola:

improvisa:/usr/src/mkntpwd# cd /usr/share/doc/samba-doc/examples/LDAP
improvisa:/usr/share/doc/samba-doc/examples/LDAP# gunzip samba.schema.gz
improvisa:/usr/share/doc/samba-doc/examples/LDAP# cp samba.schema /etc/ldap/schema

Ahora tenemos que editar el archivo de configuración de slapd /etc/ldap/slapd.conf y agregar la siguiente línea después del último "include" que aparezca en ese archivo para que LDAP use el esquema Samba:

improvisa:/#
vi /etc/ldap/slapd.conf


include /etc/ldap/schema/samba.schema

Además buscaremos la siguiente línea:

access to attrs=userPassword,shadowLastChange

y la cambiamos por: (para que los atributos sambaLMPassword y sambaNTPassword NO sean accesibles a todos)

access to attrs=userPassword,shadowLastChange,sambaLMPassword,sambaNTPassword

El contenido final y completo del archivo /etc/ldap/slapd.conf se muestra a continuación sin algunas líneas comentadas para no hacerlo tan largo:

allow bind_v2

include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/inetorgperson.schema
include         /etc/ldap/schema/samba.schema

pidfile         /var/run/slapd/slapd.pid

argsfile        /var/run/slapd/slapd.args

loglevel        none

modulepath      /usr/lib/ldap
moduleload      back_bdb

sizelimit 500

tool-threads 1

backend         bdb

database        bdb

suffix          "dc=improvisa,dc=com"

directory       "/var/lib/ldap"

dbconfig set_cachesize 0 2097152 0

dbconfig set_lk_max_objects 1500
dbconfig set_lk_max_locks 1500
dbconfig set_lk_max_lockers 1500

index           objectClass eq

lastmod         on

checkpoint      512 30

access to attrs=userPassword,shadowLastChange,sambaLMPassword,sambaNTPassword
        by dn="cn=admin,dc=improvisa,dc=com" write
        by anonymous auth
        by self write
        by * none

access to dn.base="" by * read

access to *
        by dn="cn=admin,dc=improvisa,dc=com" write
        by * read

Seguidamente debemos reiniciar a slapd para que estos cambios entren en vigencia:

improvisa:/# /etc/init.d/slapd restart

Introducción de los principales contenedores (Organizational Units) para el árbol LDAP

Estos pasos pueden variar dependiendo de su necesidad específica.

Para llevar a cabo este objetivo vamos a utilizar a phpldapadmin. Abrimos el navegador de internet y nos vamos a la dirección siguiente:

http://ip_servidor_pdc/phpldapadmin

Para conectarnos pincharemos en el link LOGIN y escribimos los siguientes datos:

Usuario –> cn=admin,dc=improvisa,dc=com
Password –> suclave

NOTA: Si por ejemplo su dominio se llama improvisa entonces el usuario debe ser:
cn=admin,dc=improvisa

Si por ejemplo su dominio se llama improvisa.com.es entonces el usuario debe ser:
cn=admin,dc=improvisa,dc=com,dc=es

Procederemos a declarar los contenedores principales. En mi caso particular yo declaré 3 "organizational units":

* groups (para manejar las cuentas de grupos)
* machines (para manejar las cuentas de máquinas) y
* users (para manejar las cuentas de los usuarios).

Usando el phpldapadmin expandimos el árbol de dc=improvisa.com y le damos click a la opción "Create New Entry Here" (para crear un hijo de dc=improvisa.com), luego seleccionamos "Organizational Unit" (ou), luego escribimos el nombre deseado (en este caso users, por ejemplo) y presionamos la tecla de tabulación para que se habilite el botón para proceder (hasta que no se presione la tecla de tabulación no se habilitará el botón para proceder).

A continuación muestro en unas imagen cómo se vería este proceso de creación:

­

­­Improvisa :: Informática :: Samba PDC en Debian

­

­­Improvisa :: Informática :: Samba PDC en Debian

Una vez creada la ou=users, procedemos de la misma forma para crear a ou=machines y a ou=groups. Más adelante crearemos las demás entidades que conformarán nuestro árbol. Por ahora dejémoslo así.

Al final de este paso el árbol de LDAP se vería así:

­­Improvisa :: Informática :: Samba PDC en Debian

Configuración de SAMBA

Vamos a configurar a SAMBA para que sea un controlador de dominio principal, para que soporte los scripts de inicio y perfiles móviles (roaming profiles) y para que autentique a los usuarios utilizando LDAP. Además vamos a permitir que el script smbldap-useradd (provisto por smbldap-tools) nos automatice la adición de cuentas de máquina al árbol LDAP cuando éstas se unan al dominio por primera vez.

Antes de tocar el archivo de configuración, primero creamos las carpetas /home/samba/netlogon (para alojar el(los) script(s) de inicio) y /home/samba/profiles (para alojar los perfiles móviles de los usuarios). Asignamos todos los permisos (777) a dicha carpeta profiles, para que cualquiera ya sea de sambaadmins o sambausers pueda grabar su perfil móvil en el servidor.

improvisa:/# mkdir -p /home/samba/netlogon
improvisa:/# mkdir -p /home/samba/profiles
improvisa:/# chmod 777 -R /home/samba/profiles

El contenido final y completo del archivo /etc/samba/smb.conf con todo el soporte citado con anterioridad se muestra a continuación sin algunas líneas comentadas para no hacerlo tan largo:

improvisa:/# vi /etc/samba/smb.conf

[global]

### Configuracion basica del servidor ###
workgroup = improvisa.com
netbios name = servidor
server string = Samba PDC Version %v
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=8192 SO_RCVBUF=8192

### Configuracion para que la maquina sea el PDC master ###
os level = 65
preferred master = yes
local master = yes
domain master = yes
domain logons = yes

### Configuracion de seguridad y conexion ###
security = user
guest ok = no
encrypt passwords = yes
null passwords = no
hosts allow = 127.0.0.1 192.168.0.0/255.255.255.0
wins support = yes
name resolve order = wins lmhosts host bcast
dns proxy = no
time server = yes

### Otras configuraciones varias para SAMBA ###
log file = /var/log/samba/log.%m
log level = 2
max log size = 50
hide unreadable = yes
hide dot files = yes
panic action = /usr/share/samba/panic-action %d

### Samba en castellano y compatible con Windows NT
# Elimina problemas de acentos entre carpetas windows y samba
dos charset = 850
unix charset = iso-8859-15

### Parametros para el soporte de LDAP ###
passdb backend = ldapsam:ldap://127.0.0.1
ldap suffix = dc=improvisa,dc=com
ldap machine suffix = ou=machines
ldap user suffix = ou=users
ldap group suffix = ou=groups
ldap admin dn = cn=admin,dc=improvisa,dc=com
ldap delete dn = no
enable privileges = yes
;Para permitir a los usuarios cambiar su clave desde Windows
ldap password sync = yes

### Perfiles moviles de usuario, carpeta home y script de inicio ###
# Si no deseamos tener perfiles móviles comentar las lineas:
# logon home
# logon path
logon home = \%L\%U.profile
logon drive = H:
logon path = \%Lprofiles\%U
logon script = %U.bat OR netlogon.bat

### Script para automatizar la adicion de cuentas de maquinas ###
### al arbol LDAP cuando estas se unan por primera vez al dominio ###
add machine script = /usr/sbin/smbldap-useradd -w "%u"

### Impresion ###
load printers = yes
printcap name = /etc/printcap
printing = cups
printcap name = cups
; Si quiero que el grupo sambaadmins pueda administrar las impresoras
; printer admin = @sambaadmins

### Recursos SAMBA ###
# Ruta en donde se alojaran el(los) script(s) de inicio
[netlogon]
   comment = Network Logon Service
   path = /home/samba/netlogon
   guest ok = no
   writable = no
   browseable = no
   share modes = no

# Carpeta en donde se guardan los perfiles moviles de los usuarios
# Si no deseamos tener perfiles móviles comentar todo este grupo.
[profiles]
   comment = Perfiles de Usuarios
   path = /home/samba/profiles
   writeable = yes
   browseable = no
   guest ok = no
   hide files = /desktop.ini/ntuser.ini/NTUSER.*/
   create mask = 0600
   directory mask = 0700
   csc policy = disable

# Impresoras
[printers]
   comment = Impresoras
   browseable = no
   path = /var/spool/samba
   printable = yes
   public = no
   writable = no
   create mode = 0700

# Los clientes Windows buscan este recurso como fuente de drivers

[print$]
   comment = Drivers de Impresoras
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no

# carpetas home de los usuarios
[homes]
   path = /home/users/%U
   comment = Carpetas HOME
   browseable = no
   writeable = yes
   valid users = %S
   read only = no
   guest ok = no
   inherit permissions = yes

# Este es un recurso que solo debe ser accesible
# para un grupo POSIX especial llamado sysfox
# Si no necesitamos grupo POSIX comentar
;[sysfox]
;   comment = Directorio de Sistemas en Fox
;   path = /home/posix/sysfox
;   writeable = yes
;   delete readonly = yes
;   valid users = @sysfox
;   write list = @sysfox
;   force group = sysfox
;   browseable = yes
;   create mask = 0770
;   directory mask = 0770

# Este recurso es por si quiero compartir la unidad de CD
;[cdrom]
­   ; comment = Samba server CD
   ; writable = no
   ; locking = no
   ; path = /media/cdrom0
   ; public = yes

   ; Lo siguiente es para auto-montar el CD cada vez que es introducido y desmontarlo
   ; cuando se termina la conexión al servidor.
   ; Para que esto trabaje, el archivo /etc/fstab debe contener una
   ; entrada así: /dev/hdc0 /media/cdrom iso9660 defaults,noauto,ro,user 0 0
   ;
   ; preexec = /bin/mount /cdrom
   ; postexec = /bin/umount /cdrom

Una vez que ya tenemos listo a /etc/samba/smb.conf podemos ejecutar el comando testparm para asegurarnos que la configuración Samba no tenga ningún error:

improvisa:/# testparm

Antes de reiniciar el servicio Samba, le proveemos a Samba la contraseña de root(admin) para LDAP:

improvisa:/# smbpasswd -w suclave
improvisa:/# /etc/init.d/samba restart

NOTA: para no hacerme un lio con diferentes contraseñas, yo utilizo la misma contraseña tanto para el superusuario de Linux (root) como para el admin de LDAP.

Ahora podemos irnos al phpldapadmin y refrescar su información para corroborar que tenemos una entrada más que se llama: sambaDomainName=IMPROVISA.COM. Muestro a continuación la imagen correspondiente:

­Improvisa :: Informática :: Samba PDC Debian

­

 

Si damos click en la entrada sambaDomainName podremos observar sus propiedades en la ventana de la derecha. Aprovechemos este momento para copiar en algún lugar el valor sambaSID (por ejemplo, el mío es: S-1-5-21-125945932-740595490-3132273231) ya que lo ocuparemos más adelante.

SID: abreviatura de Secure IDentifier. Es un identificador único utilizado para identificar un objeto específico, que puede ser un usuario o un grupo en una red, por ejemplo.

Mapeos de grupos con Samba

Primero definiré brevemente algunos términos a usar en esta sección:

RID: abreviatura de Relative IDentifier. Es un identificador por medio del cual un grupo corriente se convierte en un grupo especial con ciertas características especiales en nuestro dominio.

GID: abreviatura de Group IDentifier. Es el identificador único de un grupo.

A partir de Samba-3 tenemos la disponibilidad de crear mapeos o asociaciones entre los grupos de Windows y los grupos de UNIX. Esto es algo necesario debido a que existen grupos especiales propios de los dominios Windowsque tienen características y privilegios específicos (Domain Admins, Domain Controllers, Builtin Print Operators,etc.) y vamos a querer que existan en nuestro dominio Samba ya que nos van a ser muy útiles.

En esencia lo que se hace para mapear un grupo en Samba, es asignarle el RID específico a dicho grupo para queadquiera las características específicas y especiales del grupo Windows correspondiente.

La siguiente tabla muestra los grupos Windows y sus correspondientes RIDs, así como su tipo y si es esencial enel directorio LDAP o no: (los RIDs no son declarados por mí, son valores ya establecidos)

Nombre del Grupo Windows –> RID –> Tipo –> Esencial 
Domain Administrator –> 500 –> Usuario –> No 
Domain Guest –> 501 –> Usuario –> No 
Domain KRBTGT –> 502 –> Usuario –> No 
Domain Admins –> 512 –> Grupo –> Yes 
Domain Users –> 513 –> Grupo –> Yes 
Domain Guests –> 514 –> Grupo –> Yes 
Domain Computers –> 515 –> Grupo –> No 
Domain Controllers –> 516 –> Grupo –> No 
Domain Certificate Admins –> 517 –> Grupo –> No 
Domain Schema Admins –> 518 –> Grupo –> No 
Domain Enterprise Admins –> 519 –> Grupo –> No 
Domain Policy Admins –> 520 –> Grupo –> No 
Builtin Admins –> 544 –> Alias –> No 
Builtin users –> 545 –> Alias –> No 
Builtin Guests –> 546 –> Alias –> No 
Builtin Power Users –> 547 –> Alias –> No 
Builtin Account Operators –> 548 –> Alias –> No 
Builtin System Operators –> 549 –> Alias –> No 
Builtin Print Operators –> 550 –> Alias –> No 
Builtin Backup Operators –> 551 –> Alias –> No 
Builtin Replicator –> 552 –> Alias –> No 
Builtin RAS Servers –> 553 –> Alias –> No 

Como pudimos ver, son muchos los grupos Windows que se pueden mapear en Samba. Sin embargo, para mi necesidad específica únicamente mapearé a los siguientes 4 grupos:

Nombre Windows –> Nombre UNIX –> Notas adicionales 
Domain Admins –> sambaadmins –> Este grupo de usuarios tendrán privilegios de administrador localmente en computadoras. Es decir, podrán instalar programas, si corren alguna aplicación necesite modificar algo en las carpetas de sistema no tendrán problema, etc.  sus que 

Domain Users –> sambausers –> Usuarios limitados localmente en sus computadoras. 

Domain Guests –> sambaguests –> Quiero tener este grupo pero no pienso usarlo por el momento 

Domain Computers –> sambamachines –> Aquí se alojarán las cuentas de máquinas del dominio 

Para agregar nuestros grupos mapeados Samba, nos vamos al phpldapadmin y dentro de nuestra ou=groups (nuestra "Organizational Unit" llamada groups) vamos a crear nuestros 4 "Samba 3 Group Mappings", pinchando en "Crear un objeto Hijo"

Las siguientes imagenes muestran cómo se ve el proceso de creación de Domain Users: (cuyo RID es 513).

­Improvisa :: Informática :: Samba PDC Debian

­Improvisa :: Informática :: Samba PDC Debian

­Improvisa :: Informática :: Samba PDC Debian

­Improvisa :: Informática :: Samba PDC Debian


NOTA: por gusto personal los GIDs de mis grupos los comencé a partir de 20000. Srá necesario editar el objeto creado para poder realizar esto.

MUY IMPORTANTE: Es necesario después de la creación editar el objeto que hemos creado para poder cambiar el ultimo nuemro del Samba SID, agregaremos después del "-" el RID de cada uno de los grupos y el GID del objeto si queremos seguir el manual.

 

Configuración de la autenticación UNIX

Ahora vamos a configurar a nuestro sistema para que vea a los usuarios LDAP como usuarios "normales" de UNIX.

Primero vamos a instalar el paquete libnss-ldap:

improvisa:/# apt-get install libnss-ldap

Mientras se instala el paquete libnss-ldap se le pedirá alguna información. Sin embargo, al finalizar la instalación de este paquete, tendremos que reconfigurarlo para que nos  pida más información. Poned lo que querais porque en la reconfiguracion de cada uno de los paquetes es donde lo dejaremos fino.

Recordemos que para reconfigurarlo debemos ejecutar el siguiente comando:

improvisa:/#  dpkg-reconfigure libnss-ldap 

La siguiente tabla muestra la información que  se  nos  pue de pedir (ya  sea  en  la  instalación  o en  la  reconfiguración) y lo que debemos escribir: 

Dato solicitado –> Dato a introducir –> Notas adicionales 
Servidor de LDAP –> 127.0.0.1 
Nombre distintivo (DN) –> dc=improvisa,dc=com 
Versión de LDAP –>
Se requiere usuario para la base de datos LDAP –> no 
Privilegios especiales de LDAP para root –>  
Configuración leíble y escribible sólo para el propietario –> sí 
Cuenta LDAP para root –> cn=admin,dc=improvisa,dc=com
Contraseña para la cuenta LDAP de root –> suclave –> La misma del admin de LDAP 

Ahora vamos a editar el archivo de configuración /etc/nsswitch.conf.

improvisa:/#  vi /etc/nsswitch.conf

Buscamos las siguientes 3 líneas:

passwd: compat
group: compat
shadow: compat

y las reemplazamos para que queden así:

passwd:  compat ldap 
group:  compat ldap 
shadow:  compat ldap 

El contenido final y completo de este archivo se muestra a continuación:

improvisa:/#  vi /etc/nsswitch.conf

#
# Example configuration of GNU Name Service Switch functionality.
# If you have the glibc-doc-reference' and info’ packages installed, try:
# info libc "Name Service Switch"' for information about this file.

passwd: compat ldap
group: compat ldap
shadow: compat ldap

hosts: files dns
networks: files

protocols: db files
services: db files
ethers: db files
rpc: db files

netgroup: nis

En este momento podemos usar la utilidad getent para confirmar que se muestren los grupos mapeados que creamos con anterioridad:

improvisa:/# getent group

y el resultado puede contener lo siguiente:
...
sambaadmins:*:20000:
sambausers:*:20001:
sambaguests:*:20002:
sambamachines:x:20003:
...

Seguidamente vamos a instalar el paquete libpam-ldap:

improvisa:/# apt-get install libpam-ldap

Mientras se instala el paquete libpam-ldap se le pedirá alguna información. Sin embargo, al finalizar la instalación de este paquete, tendremos que reconfigurarlo para que nos  pida más información. Recordemos que para  reconfigurarlo debemos ejecutar el siguiente comando:   

improvisa:/# dpkg-reconfigure libpam-ldap 

La siguiente tabla muestra la información que  se  nos  pue de pedir (ya  sea  en  la  instalación  o en  la  reconfiguración) y lo que debemos escribir: 

Dato solicitado --> Dato a introducir --> Notas adicionales 
Servidor de LDAP --> 127.0.0.1 
Nombre distintivo (DN) --> dc=improvisa,dc=com 
Versión de LDAP -->
Make local root Database admin --> --> La pregunta venía en Inglés 
Se requiere usuario para la base de datos LDAP --> no
LDAP account for root --> cn=admin,dc=improvisa,dc=com --> La pregunta venía en Inglés 
Contraseña para la cuenta LDAP de root --> suclave --> La misma del admin de LDAP 
Local crypt to use when changing passwords --> md5

Como se pudo observar, algunos datos solicitados fueron los mismos que pidió el paquete libnss-ldap.

Ahora vamos a editar los archivos de correspondientes para configurar PAM para LDAP:

Primero vamos con el archivo /etc/pam.d/common-account. Buscamos la siguiente línea:

account required pam_unix.so

la comentamos y agregamos estas dos líneas:

account sufficient pam_ldap.so
account required pam_unix.so try_first_pass

Así, el contenido final y completo del archivo /etc/pam.d/common-account se muestra a continuación:

improvisa:/# vi /etc/pam.d/common-account

#
# /etc/pam.d/common-account -authorization settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authorization modules that define
# the central access policy for use on the system. The default is to
# only deny service to users whose accounts are expired in /etc/shadow.
#
#account required pam_unix.so
account sufficient pam_ldap.so
account required pam_unix.so try_first_pass

En el archivo /etc/pam.d/common-auth buscamos la siguiente línea:

auth required pam_unix.so nullok_secure

la comentamos y agregamos estas dos líneas:

auth sufficient pam_ldap.so
auth required pam_unix.so nullok_secure use_first_pass

Así, el contenido final y completo del archivo /etc/pam.d/common-auth se muestra a continuación:

improvisa:/# vi /etc/pam.d/common-auth

#
# /etc/pam.d/common-auth -authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the
# traditional Unix authentication mechanisms.
#
#auth required pam_unix.so nullok_secure
auth sufficient pam_ldap.so
auth required pam_unix.so nullok_secure use_first_pass

En el archivo /etc/pam.d/common-password buscamos la siguiente línea:

password required pam_unix.so nullok obscure min=4 max=8 md5

la comentamos y agregamos estas dos líneas:

password sufficient pam_ldap.so
password required pam_unix.so nullok obscure min=4 max=8 md5 use_first_pass

Así, el contenido final y completo del archivo /etc/pam.d/common-password se muestra a continuación:

improvisa:/# vi /etc/pam.d/common-password

# /etc/pam.d/common-password -password-related modules common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of modules that define the services to be
#used to change user passwords. The default is pam_unix
# The "nullok" option allows users to change an empty password, else
# empty passwords are treated as locked accounts.
#
# (Add
md5′ after the module name to enable MD5 passwords)
#
# The "obscure" option replaces the old OBSCURE_CHECKS_ENAB' option in
# login.defs. Also the "min" and "max" options enforce the length of the
# new password.
#password required pam_unix.so nullok obscure min=4 max=8 md5

# Alternate strength checking for password. Note that this
# requires the libpam-cracklib package to be installed.
# You will need to comment out the password line above and
# uncomment the next two in order to use this.
# (Replaces the
OBSCURE_CHECKS_ENAB’, `CRACKLIB_DICTPATH’)
#
# password required pam_cracklib.so retry=3 minlen=6 difok=3
# password required pam_unix.so use_authtok nullok md5
password sufficient pam_ldap.so
password required pam_unix.so nullok obscure min=4 max=8 md5 use_first_pass

Ahora, debido a que nuestro servidor LDAP va a ser consultado de una manera muy constante, es una buena práctica configurar un servicio de caché para algunos datos de usuario. Mientras los datos que residan en la caché sean lo suficientemente recientes, se utilizarán estos en vez de preguntar al servidor LDAP otra vez. El servicio de cacheo de nombres (nscd) o "name service caching daemon" cumple exactamente esta tarea.

Instalamos el paquete nscd con el siguiente comando:

improvisa:/# apt-get install nscd

Este es un muy buen momento para reiniciar el servicio Samba:

improvisa:/# /etc/init.d/samba restart

Agregando usuarios a nuestro directorio LDAP

Aquí, vamos a agregar algunos usuarios ("Samba 3 Accounts"). Lo primero que vamos a hacer es agregar a LDAP el usuario que va a ser el administrador (como el root) del dominio y será el único con permisos para unir las máquinas al dominio. Para darle esa característica de administrador/root del dominio su identificador deberá ser 0 (uid=0). El nombre de usuario que escogí fue admin para que fuera el mismo nombre de la cuenta root de LDAP. De paso voy a hacerlo miembro del grupo sambaadmins ("Domain Admins"). Recordar que debemos agregar a los usuarios en la ou=users de nuestro directorio LDAP.

­Improvisa :: Informática :: Samba PDC Debian

­Improvisa :: Informática :: Samba PDC Debian

­Improvisa :: Informática :: Samba PDC Debian

­Improvisa :: Informática :: Samba PDC Debian

­Improvisa :: Informática :: Samba PDC Debian

 

MUY IMPORTANTE: Hay que tener en cuenta que debemos editar las propiedades del nuevo usuario para cambiar el UID number y el Samba SID, acordaros que para el usuario Admin deben ser el 0

Esto lo aplicaremos para TODOS los usuarios que vaya a crear en LDAP

En este punto me es muy importante mencionar que por un gusto muy personal no quiero permitir a ninguno de los usuarios "corrientes" del directorio LDAP "loguearse" físicamente en el servidor. Si usted pudo darse cuenta, cuando agregamos al usuario admin de LDAP no había opciones disponibles para escoger en el atributologinShell.

Como el siguiente paso es agregar a los usuarios "corrientes" de LDAP, necesito que phpldapadmin me permita asignarle /bin/false al atributo loginShell para evitar el "loggeo" físico de esos usuarios en el servidor.

Ok, no nos preocupemos por eso en este momento. Lo haremos inmediatamente después de agregar laprimera cuenta de usuario "corriente".

De esta forma, vamos a agregar un usuario corriente (juanmi) que lo haremos miembro de sambaadmins (privilegios de administrador localmente). Básicamente, este proceso es el mismo que ya hicimos para agregar lacuenta de usuario admin de LDAP.

NOTA: por gusto personal los UIDs de mis usuarios "corrientes" los comencé a partir de 10000.

MUY IMPORTANTE: Hay que tener en cuenta que debemos editar las
propiedades del nuevo usuario para cambiar el UID number y el Samba
SID, si quereis seguir el manual debeis utilizar para este primer usuario el UID 10000 y SambaSid acabado en -10000

Ahora sí, este es el momento para habilitar la opción de /bin/false para el atributo loginShell que automáticamente quedará disponible para todas las siguientes cuentas de usuarios "corrientes" que agreguemos. En la ventana de la izquierda dar click en el usuario juanmi: "cn=juanmi", en la ventana de mano derecha dar click al link que dice "Add New Attribute" o "Añadir Atributo". En la página que se carga, escoger loginShell en la lista desplegable y escribir /bin/false en la caja de texto. Luego le damos click al botón "Add" o "Añadir" y listo, no hará falta escribir nada en "Añadir atributo binario" o "Add new binary attribute".

Por último vamos a agregar otro usuario de prueba (spiderman) que sea miembro de sambausers (limitado localmente). Observe que ahora sí es posible escoger la opción /bin/false en el atributo loginShell.

MUY IMPORTANTE: Recordad que debemos editar el usuario para cambiar el UID y el SID. Es posible que tambien tengamos que repetir para todos los usuario que creemos la asignación del atributo LoginShell /bin/false, como hemos explicado arriba.

Una vez que hemos creado los usuarios, no olvidar crear las correspondientes carpetas home de cada uno en la ruta /home/users/<usuario> además de asignarle los permisos correspondientes del usuario y grupo al que pertenece. Si desea, puede copiar en cada una de esas carpetas los archivos ocultos ubicados en /etc/skel para que todos los usuarios tengan las mismas configuraciones iniciales para cosas como PATH, procesos de teclado y variables de entorno (esto lo hago simplemente por orden a pesar de que yo escogí que ningún usuario "corriente" va a poder loguearse físicamente al servidor).

Por ejemplo, para crear la carpeta para el usuario juanmi y asignarle los permisos de su usuario y el grupo al que pertenece, OJO a que grupo le añadimos, los siguientes deberán ir al grupo sambausers, ejecutamos:

improvisa:/# mkdir -p /home/users/juanmi
improvisa:/# cp /etc/skel/.* /home/users/juanmi/
improvisa:/# chown -R juanmi /home/users/juanmi
improvisa:/# chgrp -R sambaadmins /home/users/juanmi

En este momento, podemos usar el comando getent para verificar que el nss esté trabajando correctamente en Linux:

improvisa:/# getent passwd

y el resultado puede contener lo siguiente:

admin:*:0:20000:admin:/home/users/admin:
juanmi:*:10000:20000:juanmi:/home/users/juanmi:/bin/false
spiderman:*:10001:20001:spiderman:/home/users/spiderman:/bin/false


Como se puede ver, tanto admin y juanmi pertenecen al grupo sambaadmins ("Domain Admins") cuyo GID es el 20000, mientras que el usuario spiderman pertenece al grupo sambausers ("Domain Users") cuyo GID es el 20001.

Uniendo máquinas a nuestro dominio Samba

Para que una máquina pueda unirse a un dominio se le solicitará el usuario y contraseña del usuario con uid=0 (en nuestro caso: admin), además es necesario crear la "cuenta de máquina" correspondiente en el directorio LDAP; si no se crea la cuenta de máquina, entonces el dominio rechaza la conexión. Ahora bien, para crear las cuentas de máquina existen dos formas de hacerlo: la forma manual y la automática.

NOTA: nuestro archivo de configuración Samba está hecho para que las cuentas de máquina sean agregadas de manera automática. Más adelante en esta sección ofreceré la explicación correspondiente.

Para utilizar el método manual para agregar cuentas de máquina a LDAP usaremos el phpldapadmin creando una entrada tipo "Samba 3 Machine" bajo ou=machines y perteneciente al grupo sambamachines. A continuación muestro una imagen con el proceso:

­Improvisa :: Informática :: Samba PDC Debian

­Improvisa :: Informática :: Samba PDC Debian

­

Aquí también debe escribir el UID de la máquina al final del SAMBASID.

Aplica también para TODAS las máquinas

NOTA: por gusto personal los UIDs de las máquinas los comencé a partir de 30000.

Para utilizar el método automático de debemos recordar por un momento la siguiente línea de configuración Samba en el archivo /etc/samba/smb.conf:

# script para automatizar la adicion de cuentas de maquinas
# al arbol LDAP cuando estas se unan por primera vez al dominio
add machine script = /usr/sbin/smbldap-useradd -w "%u"

Esto significa que vamos a usar un script hecho en Perl llamado smbldap-useradd (ubicado en /usr/sbin) provisto por el paquete smbldap-tools para automatizar el proceso de creación de cuentas de máquina en LDAP. Sin embargo, este script necesita de 2 archivos de configuración para poder trabajar: smbldap.conf y smbldap_bind.conf que tendremos que alojarlos en la carpeta /etc/smbldap-tools para que el script los pueda utilizar.

La ubicación original de estos 2 archivos es /usr/share/doc/smbldap-tools/examples. El archivo smbldap.conf se encuentra dentro de un archivo comprimido llamado smbldap.conf.gz, mientras que el archivo smbldap_bind.conf se encuentra allí directamente en la carpeta mencionada.

MUY IMPORTANTE: una vez que hemos alojado estos archivos en la carpeta /etc/smbldap-tools, cambiaremos sus permisos para que sólo el root pueda leerlos y modificarlos. Más adelante explico el porqué de esto. Para alojar en /etc/smbldap-tools a los 2 archivos que necesitamos y cambiar sus permisos, vamos a ejecutar los siguientes comandos:

improvisa:/# cd /usr/share/doc/smbldap-tools/examples
improvisa:/# cp smbldap.conf.gz smbldap_bind.conf /etc/smbldap-tools
improvisa:/# cd /etc/smbldap-tools
improvisa:/# gunzip smbldap.conf.gz
improvisa:/# chown root:root *
improvisa:/# chmod 600 *

­Primero vamos a configurar el archivo /etc/smbldap-tools/smbldap_bind.conf y le indicamos nuestro dominio y la contraseña del admin de LDAP. El contenido final y completo de este archivo se muestra a continuación:

############################
# Credential Configuration #
############################
# Notes: you can specify two differents configuration if you use a
# master ldap for writing access and a slave ldap server for reading access
# By default, we will use the same DN (so it will work for standard Samba
#release)
slaveDN="cn=admin,dc=improvisa,dc=com"
slavePw="suclave"
masterDN="cn=admin,dc=improvisa,dc=com"
masterPw="suclave"

Como se puede observar, la contraseña tuvo que ser escrita directamente y en texto plano. Por esta razón es que sólo el root puede acceder a leer este archivo y es por eso que le hemos cambiado los permisos a estos 2 archivos.

Ahora procedemos a configurar el archivo /etc/smbldap_tools/smbldap.conf. Como hay que cambiar diversas opciones, he preferido mostrar acá el contenido final y completo del archivo. Usted puede compararlo con el archivo original para que pueda notar las diferencias: (he eliminado algunas líneas comentadas para que no se haga tan largo)

NOTA: prepare el sambaSID que copió en la Configuración de Samba y escríbalo aquí en este archivo de configuración. Recuerde que para verlo  de nuevo debe entrar a phpldapadmin y pinchar en la entrada sambaDomainName y copiar el sambaSID

# $Source: $
# $Id: smbldap.conf,v 1.18 2005/05/27 14:28:47 jtournier Exp $
#
# smbldap-tools.conf : Q & D configuration file for smbldap-tools

#  This code was developped by IDEALX (http://IDEALX.org/) and
#  contributors (their names can be found in the CONTRIBUTORS file).
#
#                 Copyright (C) 2001-2002 IDEALX
#
#  This program is free software; you can redistribute it and/or
#  modify it under the terms of the GNU General Public License
#  as published by the Free Software Foundation; either version 2
#  of the License, or (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software
#  Foundation, Inc., 59 Temple Place – Suite 330, Boston, MA 02111-1307,
#  USA.

#  Purpose :
#       . be the configuration file for all smbldap-tools scripts

##############################################################################
#
# General Configuration
#
##############################################################################

# Put your own SID. To obtain this number do: "net getlocalsid".
# If not defined, parameter is taking from "net getlocalsid" return
SID="S-1-5-21-1196036262-4284380234-1513587473"

# Domain name the Samba server is in charged.
# If not defined, parameter is taking from smb.conf configuration file
# Ex: sambaDomain="IDEALX-NT"
sambaDomain="improvisa.com"

##############################################################################
#
# LDAP Configuration
#
##############################################################################

# Notes: to use to dual ldap servers backend for Samba, you must patch
# Samba with the dual-head patch from IDEALX. If not using this patch
# just use the same server for slaveLDAP and masterLDAP.
# Those two servers declarations can also be used when you have
# . one master LDAP server where all writing operations must be done
# . one slave LDAP server where all reading operations must be done
#   (typically a replication directory)

# Slave LDAP server
# Ex: slaveLDAP=127.0.0.1
# If not defined, parameter is set to "127.0.0.1"
slaveLDAP="127.0.0.1"

# Slave LDAP port
# If not defined, parameter is set to "389"
slavePort="389"

# Master LDAP server: needed for write operations
# Ex: masterLDAP=127.0.0.1
# If not defined, parameter is set to "127.0.0.1"
masterLDAP="127.0.0.1"

# Master LDAP port
# If not defined, parameter is set to "389"
masterPort="389"

# Use TLS for LDAP
# If set to 1, this option will use start_tls for connection
# (you should also used the port 389)
# If not defined, parameter is set to "1"
ldapTLS="0"

# How to verify the server’s certificate (none, optional or require)
# see "man Net::LDAP" in start_tls section for more details
verify="none"

# CA certificate
# see "man Net::LDAP" in start_tls section for more details
#cafile="/etc/smbldap-tools/ca.pem"

# certificate to use to connect to the ldap server
# see "man Net::LDAP" in start_tls section for more details
#clientcert="/etc/smbldap-tools/smbldap-tools.pem"

# key certificate to use to connect to the ldap server
# see "man Net::LDAP" in start_tls section for more details
#clientkey="/etc/smbldap-tools/smbldap-tools.key"

# LDAP Suffix
# Ex: suffix=dc=IDEALX,dc=ORG
suffix="dc=improvisa,dc=com"

# Where are stored Users
# Ex: usersdn="ou=Users,dc=IDEALX,dc=ORG"
# Warning: if ‘suffix’ is not set here, you must set the full dn for usersdn
usersdn="ou=users,${suffix}"

# Where are stored Computers
# Ex: computersdn="ou=Computers,dc=IDEALX,dc=ORG"
# Warning: if ‘suffix’ is not set here, you must set the full dn for computersdn
computersdn="ou=machines,${suffix}"

# Where are stored Groups
# Ex: groupsdn="ou=Groups,dc=IDEALX,dc=ORG"
# Warning: if ‘suffix’ is not set here, you must set the full dn for groupsdn
groupsdn="ou=groups,${suffix}"

# Where are stored Idmap entries (used if samba is a domain member server)
# Ex: groupsdn="ou=Idmap,dc=IDEALX,dc=ORG"
# Warning: if ‘suffix’ is not set here, you must set the full dn for idmapdn
#idmapdn="ou=Idmap,${suffix}"

# Where to store next uidNumber and gidNumber available for new users and groups
# If not defined, entries are stored in sambaDomainName object.
# Ex: sambaUnixIdPooldn="sambaDomainName=${sambaDomain},${suffix}"
# Ex: sambaUnixIdPooldn="cn=NextFreeUnixId,${suffix}"
sambaUnixIdPooldn="sambaDomainName=${sambaDomain},${suffix}"

# Default scope Used
scope="sub"

# Unix password encryption (CRYPT, MD5, SMD5, SSHA, SHA, CLEARTEXT)
hash_encrypt="MD5"

# if hash_encrypt is set to CRYPT, you may set a salt format.
# default is "%s", but many systems will generate MD5 hashed
# passwords if you use "$1$%.8s". This parameter is optional!
crypt_salt_format="%s"

##############################################################################
#
# Unix Accounts Configuration
#
##############################################################################

# Login defs
# Default Login Shell
# Ex: userLoginShell="/bin/bash"
userLoginShell="/bin/false"

# Home directory
# Ex: userHome="/home/%U"
userHome="/home/users/%U"

# Default mode used for user homeDirectory
userHomeDirectoryMode="700"

# Gecos
userGecos="System User"

# Default User (POSIX and Samba) GID
defaultUserGid="515"

# Default Computer (Samba) GID
defaultComputerGid="20003"

# Skel dir
skeletonDir="/etc/skel"

# Default password validation time (time in days) Comment the next line if
# you don’t want password to be enable for defaultMaxPasswordAge days (be
# careful to the sambaPwdMustChange attribute’s value)
defaultMaxPasswordAge="45"

##############################################################################
#
# SAMBA Configuration
#
##############################################################################

# The UNC path to home drives location (%U username substitution)
# Just set it to a null string if you want to use the smb.conf ‘logon home’
# directive and/or disable roaming profiles
# Ex: userSmbHome="\PDC-SMB3\%U"
userSmbHome=""

# The UNC path to profiles locations (%U username substitution)
# Just set it to a null string if you want to use the smb.conf ‘logon path’
# directive and/or disable roaming profiles
# Ex: userProfile="\PDC-SMB3profiles\%U"
userProfile=""

# The default Home Drive Letter mapping
# (will be automatically mapped at logon time if home directory exist)
# Ex: userHomeDrive="H:"
userHomeDrive="H:"

# The default user netlogon script name (%U username substitution)
# if not used, will be automatically username.cmd
# make sure script file is edited under dos
# Ex: userScript="startup.cmd" # make sure script file is edited under dos
#userScript="logon.bat"

# Domain appended to the users "mail"-attribute
# when smbldap-useradd -M is used
# Ex: mailDomain="idealx.com"
#mailDomain="idealx.com"

##############################################################################
#
# SMBLDAP-TOOLS Configuration (default are ok for a RedHat)
#
##############################################################################

# Allows not to use smbpasswd (if with_smbpasswd == 0 in smbldap_conf.pm) but
# prefer Crypt::SmbHash library
with_smbpasswd="0"
smbpasswd="/usr/bin/smbpasswd"

# Allows not to use slappasswd (if with_slappasswd == 0 in smbldap_conf.pm)
# but prefer Crypt:: libraries
with_slappasswd="0"
slappasswd="/usr/sbin/slappasswd"

# comment out the following line to get rid of the default banner
# no_banner="1"

Listo!

Ahora, pongámole atención por un momento a la línea de configuración que acabamos de poner en el archivo smbldap.conf:

# Where to store next uidNumber and gidNumber available for new users and groups
# If not defined, entries are stored in sambaDomainName object.
# Ex: sambaUnixIdPooldn="sambaDomainName=${sambaDomain},${suffix}"
# Ex: sambaUnixIdPooldn="cn=NextFreeUnixId,${suffix}"
sambaUnixIdPooldn="sambaDomainName=${sambaDomain},${suffix}"

Cuando Samba llama al script smbldap-useradd para agregar automáticamente una cuenta de máquina, lo llama así: smbldap-useradd -w "%u" (tal y como lo especificamos en nuestra configuración de Samba). Podemos observar que en esa llamada no estamos especificando el UID ni el GID que llevará cada cuenta de máquina cuando se agregue.

Entonces es aquí donde la línea de configuración que acabamos de mostrar, nos indica que guardaremos en un atributo llamado sambaUnixIdPool los valores de UID y GID a usar en la siguiente cuenta de usuario/máquina que agreguemos en el directorio de LDAP si no especificamos directamente dichos valores.

MUY IMPORTANTE: el valor del UID irá incrementando automáticamente de 1 en 1 con cada cuenta que se vaya agregando, mientras que el GID no se incrementará sino que se mantendrá siempre fijo (y de hecho es exactamente lo que queremos).

Ahora, tenemos que ir al phpldapadmin a declarar dicho atributo sambaUnixIdPool para el dominio Samba ya que por defecto no lo trae. Así que le damos click a la entrada sambaDomainName=IMPROVISA.COM y en el espacio de la derecha vamos a buscar donde está el o los atributos tipo objectClass, le damos click en donde dice "(add value)" o "(añadir valor) " escogemos sambaUnixIdPool y en la siguiente página escribiremos los valores de UID y GID iniciales con los que vamos a arrancar para nuestros efectos.

NOTA: el GID 20003 corresponde a mi grupo sambamachines y el UID 30000 es el número inicial que yo quise utilizar para las cuentas de máquinas.

Agregando un grupo Posix

¿Qué son los grupos Posix? Son grupos "normales" de usuarios. ¿Qué quiero decir con "normales"? Que no son grupos mapeados especiales.

En mi caso particular yo quise tener un recurso compartido llamado sysfox que contiene unos sistemas en fox los cuáles sólo deberán ser accesibles por ciertos usuarios. Para este propósito yo creé un grupo "normal" (Posix) de usuarios llamado sysfox (creado en ou=groups). Una vez que usted cree el primer grupo Posix deberá agregarle un atributo llamado memberUid (usando el mismo proceso que hicimos para agregar el atributo loginShell al usuario juanmi) que le va a servir para ir agregando miembros a este y a cualquier grupo Posix. Con este tema de los atributos usted ya se va dando cuenta la infinidad de atributos que pueden usarse con los diferentes objetos de LDAP. Allí es donde usted podrá personalizarlo a su gusto y necesidad específica.

Hasta este momento tenemos un directorio LDAP sumamente sencillo, pero a su vez válido para la mayoría de los casos. A partir de aquí existen muchísimas opciones y directivas que se pueden utilizar según su necesidad específica.

NOTA: también existen comandos de consola para llevar a cabo las operaciones en el directorio LDAP pero no están en el alcance de este documento. En cuanto me sea posible las incluiré en una nueva versión de esta guía.

Generación de políticas de seguridad para los equipos conectados.

Estamos trabajando en ello para sacarlas cuanto antes.

Unir clientes de Windows XP al dominio.

Si desea unir al dominio una computadora con el sistema operativo Windows XP Profesional, deberá hacer un pequeño ajuste. Ejecutar el regedit e ir a la siguiente clave:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNetlogonParameters

y en el valor de "requiresignorseal" que es de tipo dword asignarle 0 también al valor de "requirestrongkey" que es de tipo dword asignarle 0

Deberá reiniciar la computadora, es W$ :-),  para que los cambios surtan efecto.

Respaldo y restauración de la base de datos LDAP.

Esta es una información muy valiosa suministrada por Novell que habla acerca del respaldo y restauración de la base de datos de nuestro directorio LDAP en un sistema Novel Suse.

NOTA: no he probado ninguno de estos procedimientos pero adjunto dicha información para que pueda ser probada y revisada

B.1 Backup and Restore
All system information (system structure, the configuration and deployment method for each Branch Server and Point of Service terminal, image information, and so forth) is stored in an LDAP directory on the Administration Server. This information must be backed up regularly to protect against data loss in case of storage failure and administration errors.

It is recommended that, at a minimum, you do an online logical backup to a local file before any complex reconfiguration of the system.

The following sections discuss methods you can use to backup and restore your Service LDAP directory.

Offline Physical Backup

An offline backup must be executed on the Administration Server and does not put any load on the LDAP server.The drawback is that the LDAP server is not available during the time of the backup.To perform a physical file backup of the LDAP directory:

1. Stop the LDAP server using the /usr/sbin/rcldap stop command.
2. Copy all the files in the /var/lib/ldap/ directory to an archive directory.
3. After the copy completes, start the LDAP server using the /usr/sbin/rcldap start command.

Offline Logical Backup

To perform a logical backup of the LDAP directory (database dump):

1. Stop the LDAP server using the /usr/sbin/rcldap stop command.
2. Run the slapcat >ldap.$(date ‘\%Y\%m\%d-\%T’) command.

This generates an LDIF file named ldap.datetime where datetime is the current date and time. The output file can be archived, backed up on offline media, and restored with the slapadd command. The LDIF file is a structured ASCII file that can be viewed, for example, with the less command.

3. After the backup completes, start the LDAP server by using the /usr/sbin/rcldap start command.

Online Backup

An online backup uses the LDAP server to extract all data. This has the advantage that the server is available atall times and the backup can be taken from a remote machine that has an LDAP client.

Run the following command:

# ldapsearch -h LDAPServer -x -b baseDN > ldap.$(date ‘\%Y\%m\%d-\%T’)

where:

LDAPServer is the LDAP server name or IP address.
baseDN is the base DN (distinguished name) of the LDAP structure (for example, o=mycorp,c=us).

This creates an LDIF file like the slapcat command used for offline backup.

This file must be added to the LDAP server with the ldapadd command. Do not use slapadd with this file.If access controls are implemented on the LDAP server, an authenticated LDAP bind must be used. In this case,the previous command should be extended with the following arguments:

# ldapsearch -x -D adminDN -w adminPassword

where:

adminDN is the DN of the administrator user (for example, cn=admin,o=mycorp,c=us).
adminPassword is this user’s password (for example, secret).

Restore

To restore an offline backup:

1. Stop the LDAP server using the /usr/sbin/rcldap stop command.
2. If you did a physical file backup, restore the files in /var/lib/ldap.

or
­
If you did a logical backup, run the slapadd command to restore the logical database dump:

# slapadd -l backupfile

where backupfile is the file created by slapcat.

3. Start the LDAP server using the /usr/sbin/rcldap start command.

To restore an online backup, the LDAP server must be running. The LDAP server is able to run with an empty database. If the database has been corrupted, the database files in /var/lib/ldap/ must be removed before restoring the online backup.

1. To restore a backup file taken with ldapsearch, run the following command:

# ldapadd -D adminDN -x -w adminPassword -h LDAPServer -x -f backupfile

Agradecimientos.

Todos los agradecimientos van para el creador del documento original, Roland Pish, me he basado en su documento original Samba PDC OpenLDAP en Debian Etch. Muchas gracias Roland 😉

Comentarios
  • CeLSuM dice:

    Impresionante documento…

    *clap clap clap*

    Creo que hasta yo podré hacerlo, jejeje, a ver si dentro de poco me pongo manos a la obra, lo pongo a la lista de tareas. Esto me será muy útil en poco tiempo.

    Gracias y Salu2

  • Juanmi dice:

    Mi curro me ha llevado, pero el que de verdad a currado ha sido Roland Pish, creador del documento para Debian Etch.

    Lo mejor de todo es que ya podemos montar PDC en linux 🙂

    Mil gracias

  • rolandpish dice:

    Excelente Juanmi! Demasiado útil la migración del manual a Lenny.

    De hecho hace algunos días he pasado mi computador personal a Lenny y en unos días haré todo el procedimiento y pruebas de Samba PDC en una máquina virtual, para después montar un servidor de producción pequeño que debe tener esas características.

    Excelente tu website también, muy completo. Te felicito!

    Un saludo cordial.

  • Juanmi dice:

    Todo un honor Roland, me alegra verte por aquí 😉

    Saludos.

  • comez dice:

    Tan solo espero verte esta tarde para felicitarte en persona. Como siempre im presionante.
    Un abrazo

  • ariel01022 dice:

    hola
    muy buena la guia pero he tenido un problema
    cuando llego a esta parte de la guia
    ……
    En este momento podemos usar la utilidad getent para confirmar que se muestren los grupos mapeados que creamos con anterioridad:

    improvisa:/# getent group
    ……

    no me muestra los grupos de usuarios creados en ldap

    he seguido la guia al pie de la letra en debian lenny

    cual puede ser mi problema

    saludos y eternamente agradecido al que me ayude

  • Juanmi dice:

    ¿Has reiniciado los servicios antes de pulsar el comando?

    Es raro porque si el phpldamadmin te lo hace debería funcioanrtre.

    Pasate por el foro y vamos paso a paso por alli, abre un nuevo en tema en el foro de informática y vamos por alli, te parece?

    Saludos Ariel

  • jsampietro dice:

    Hola Juanmi, seguí las instrucciones paso a paso y cuando intente realizar una conexión de dominio desde un XP, me sale un mensaje de error pidiendome que antes de establecer la conexión se debe cambiar la password y sale. No se que pueda pasar porque no da ninguna oportunidad de cambiar la contraseña.

     Probé con el comando net -U desde el servidor con Debian y me repite el mismo error Connection failed: NT_STATUS_PASSWORD_MUST_CHANGE

    si conecta con ssh, pero como no tiene un interprete se desconecta enseguida.

     Realmente no se que puede ir mal, revise dos veces la instalación, podrías orientarme por donde puede ir el problema.

    Un saludo y gracias de antemano.

  • Juanmi dice:

    Hola  jsampietro bienvenido !!

    Supongo que habrás googleado comoyo, he encontrado esto, a lo mejor ya has probado y meto la garza, ya que a mi ese error no me sale. 

    Segun comentan en este foro, parece ser que se puede resolver tecleando el siguiente comando:

    smbpasswd -U usuario

    Además habla de un script para automatizar el proceso.

    Parece ser que el problema está en la clave sambaPwdLastSet  según dicen en este foro y puedes saber más de esa clave en la documentación de samba

    Si lo resuleves por favor cuentanos a ver como lo has resuleto.

    Saludos.

  • jsampietro dice:

    Gracias por la orientación, smbpasswd -U usuario lo resuelve, con la clave sambaPwdLastSet había intentado antes desde phpldapadmin pero por alguna razón no lo tomaba, quizás no colocaba bine los parametros adecuados.

    También encontré otro errorcito que les puede pasar cuando entran a tocar las cosas y no funcionan.

    En uno de los archivos tenía un error en el nombre de dominio (había dejado el original del tutorial en vez de cambiar por el mío) y las maquinas no se creaban en forma automática, por lo que me dije: “las creo en forma manual y despues me fijo en el error”.

    Pues bien parece ser que en forma automática los nombre de las maquinas se agregan con un símbolo $ al final y las que agregue en forma manual no lo tenía por lo que a pesar que ahora ya no me daba el error de que debía actualizar la password, no logueaba y me daba un error de usuario no encontrado, lo cual no era cierto porque el error cuando uno ingresa un usuario o password incorrectos es usuario o password incorrectos.

    Si a alguien le surge el error de usuario no encontrado puede ser que lo que no encuentra sea la maquina, en primer lugar revisaría si esta presente el signo $ al final del nombre de la misma desde el phpldapadmin.

    Otra cosa, no se en donde lo leí, quizás más arriba, la primera vez que se ingresa desde una máquina nueva en el dominio da el error que describí en el párrafo anterior. Es porque no encuentra la máquina, en el segundo intento ya se conecta al dominio, debe ser porque el alta automática de la máquina nueva se da después del chequeo del dominio. No he revisado si tiene solución, pero como sucede solo la primera vez no es una molestia urgente de resolver. No se si a ti te pasa lo mismo.

    Un saludo y muchas gracias por la ayuda y por el tutorial

  • Juanmi dice:

    Muchas gracias jsampietro 😉 Me alegro que hayas resuelto el problema NT_STATUS_PASSWORD_MUST_CHANGE con el comando smbpasswd -U usuario

    Sobre el útlimo problema que te surge, en el que hay que añadir 2 veces al usuario la primera vez que le añades al dominio si que me ha ocurrido, pero realmente no se porque ocurre, el caso es que cuando le das la segunda vez fnciona a la perfección.

    Gracias a ti 😉

  • gpmm66 dice:

    Amigo Juanmi.

    Me parecio excelente tu post, estoy iniciandome en Debian y este es el primer PDC Samba que estoy configurando, he buscado mucha informacion googleando, pero he encontrado este post que me parece el mas completo de todos.

    De igual forma, me he equivocado en dicha configuracion a pesar de seguir los pasos de este material  y me gustaria que me ayudaras un poco.

    Mi problema: Despues de configurar el libnss-ldap y el nsswitch, al momento de ejecutar el getent, no me muestra los grupos creados desde el phpldapadmin, me imagino que no me los crea localmente o algo por el estilo y de igual forma me pasa con los usuarios que creo en el phpldapadmin, no los crea local y cuando intento asignar el owner y group a las carpetas del home no lo hace ya que no consigue ninguna.

    ojala me pudieses dar una luz de donde revisar  he revisado los pasos del material varias veces y no consigo la solucion

    de antemano muchas gracias saludos 

  • Juanmi dice:

    Hola gpmm66, bienvenido !!!!

    Supongo que estarás utilizando todo lo que dice el manual, debian lenny y vas siguiendo paso a paso.

    Dime como creas los grupos en phpldapadmin, todo lo más explicativo que puedas.

    Por mi parte voy a crear un nuevo PDC en una máquina virtual para poder ayudarte, a ver si a mi me da el mismo problema, si hacemos las cosas como dice el manual, deberiamos llegar al mismo error si yo llego más adelante algo haces mal 😉

    Por ahora ves intentando explicarme como das de alta, detalladamente, los grupos en phpldapadmin.

    Saludos.

  • Juanmi dice:

    Confirmado, haces algo mal, me funciona a la perfección.

    Si quieres seguimos paso a paso la creación de esos grupos a ver que ocurre 😉

  • nbarreto dice:

    Te Felicito un manual bien explicado, el cual he seguido paso a paso, pero cuando intento unir una maquina al dominio me sale el un error de inicio de sesión nombre de usuario desconocido o contraseña incorrecta.

    Agradeceria tu ayuda.

  • Juanmi dice:

    Hola nbarreto, mil gracias y bienvenido. La verdad es que le trabajo original es de Roland Pish, yo utilice su documento para pasrlo a Debian Lenny con algunos ajustes 😉

    Creo que el problema es el mismo que tuvo jsampietro, el cual puedes leer más arriba, aun así, como he montado una máquina virtual para comprobar el error de gpmm66, continuaré con ella hasta acabarla e intentaré decirte a ver que pasa.

    Cuentanos si consigues cualquier cosa por tu lado, que haya feedback 😉

  • dragonbch dice:

    Hola estimado amigo, estoy intentando configurar un controlador de dominio siguiendo los pasos del documento que has públicado el cual me parece geinal "Samba PDC"  y todo me va muy bien, per tengo una duda.

    Es que tengo una particion hdb1 montada en /media/dominio y es aqui donde quiero que el controlador de dominio coga la capasidad que necesita para la cantidad de usuarios, sus archivos etc, ya que en /home no tengo tanta capacidad. No se si me explico.

    Lo que quiero es que la capasidad que nesecita el controlador de dominio lo tome de esa particion, y no se si es en esta parte del documento es donde debo comenzar a hacer cambios y como hacerlos

    ——————————————————————————————————————-
    Configuración de SAMBA

    improvisa:/# mkdir -p /home/samba/netlogon
    improvisa:/# mkdir -p /home/samba/profiles
    improvisa:/# chmod 777 -R /home/samba/profiles

  • Juanmi dice:

    Hola dragonbch!! Bienvenido!!!

    La solución a tu problema es fácil 😉

    Te cuento lo que debes hacer:

    improvisa:/# mkdir-p /media/dominio/netlogon
    improvisa:/# mkdir-p /media/dominio/profiles
    improvisa:/# chmod 777 -R /media/dominio/profiles
    improvisa:/# ln -s /media/dominio /home/samba

    Y no toques nada de la configuración, lo que has hecho es añadir un enlace sombólico del directorio que necesita la configuración a donde tu quieres 😉

    Saludos.

  • mlopez dice:

    Hola

    La verdad es que el manual, está genial, además muy clarito.

    Yo he conseguido, montar un ldap-samba pdc, pero en phpldapadmin me surge un problema es que hasta hace unos días el samba sid iba avanzando en cada usuario que daba de alta y ahora está fijo, cada usuario tiene el mismo. ¿que me puede haber pasado.?

    Además, tengo webmin y para resetear las contraseñas de usuarios me iba muy bien. Pero no tengo usuarios en webmin, me refiero al apartado de compartición de samba, en editar usuarios y contraseñas. Le doy y dice que no hay usuarios a editar. ¿Por qué puede ser? Pero es que con el comando smbldap-password no me permite resetear la contraseña.

     

    Gracias por la ayuda.

  • Juanmi dice:

    Hola mlopez, bienvenido a Improvisa 😉

    Perdon mi retraso estuve de vacaciones 😉

    Me pillas un poco con la pregunta a ver si llegamos a buen puerto:

    ¿Es posible que hayas actualizado phpldapadmin?

    Intenta hacerlo a mano, por lo menos yo puedo, el cso es que estas cosas no puedo confirmarlas porque no tengo ninguno instalado en este momento 🙁 Aver si acabo el de prueba que estaba haciedo y te puedo decir algo.

    Si solucionas algo por tu lado explicanoslo 😉

    Saludos.

  • divad dice:

    Buenas a todos, soy novatillo en esto de LDAP, he seguido el manual y
    me ha salido perfecto, o eso creo. He llegado hasta la unión de los
    equipos windows XP al dominio, pero ¿y ahora qué?

     Desde
    un equipo windows o linux veo mi servidor ldap, pero intento acceder
    con cualquiera de las cuentas que he creado en ldap y no puedo.

    A
    ver si he entendido bien, la finalidad es poder compartir carpetas de
    varios equipos y que los usuarios siempre se autentiquen contra el
    mismo servidor.

     

    Nose a ver si alguien me puede explicar algo.

    Muchas gracias y un saludo a todos.

  • Juanmi dice:

    La finalidad más importante de un servidor PDC es que en una mismamáquina gestionas todas las funciones que tiene que ver con los usuarios de tu dominio, por ejemplo contraseñas, politicas de seguridad, y un largo etcetera. Una d las funciones es que todos se registran contra el dominio y  las máquinas que pertenecen a un dominio pueden verse entre ellas. Si quisieses haceer esto con un grupo de trabajo, en windosws, deberias crear las mismas cuentas en cada uno de los equipos que pertencen al grupo de trabajo, es decir si tienes 8 ordenadores y 8 nombres de usuario, deberias dar de alta 8 cuentas en 8 equipos, total 64 altas de usarios, sin embargo si lo haces con un PDC lo haces simplemente 8 veces, en el servidor. Extrapola este ejemplo a una oficina con 150 máquinas y 150 usuarios 😛

    Si quieres saber algo más te aconsejo que le pegues un vistazo a los links del principio del documento 😉

    Un abrazo y bienvenido a Improvisa.

     

  • divad dice:

    OK, si eso lo entiendo perfectamente, pero ¿cómo le indico a una máquina windows o Linux que se autentique contra un servidor ldap?

     Yo creo que esa es la parte que falta en el manual.

     

    Muchas gracias, un saludo.

  • divad dice:

    Buenas de nuevo, he conseguido autenticar un usuario mediente login contra el servidor ldap, en este caso lo he realizado mediente una máquina linux y desde consola, pero si intento hacer lo mismo desde la interfaz de inicio me dice:

    "No se pudo establecer su grupo de usuario, así que no puede iniciar sesión"

    No entiendo por qué desde consola si y desde la interfaz no.

     En cambio, sí que me funciona cuando lo hago desde la máquina servidora, es decir, me loguea tanto por consola como por la interfaz.

     Hacerlo mediante windows sigo sin saber cómo realizarlo ya que no encuentro nada por la web.

    A ver si me podeis ayudar, muchas gracias.

  • Juanmi dice:

    Ah coño, no te habias explicado, a ver para agregar un windows a un Servidor de Dominio es muy fácil:

    Despues de seguir los pasos del manual:

    Unir clientes de Windows XP al dominio.

    Si
    desea unir al dominio una computadora con el sistema operativo Windows
    XP Profesional, deberá hacer un pequeño ajuste. Ejecutar el regedit e
    ir a la siguiente clave:

    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNetlogonParameters

    y en el valor de "requiresignorseal" que es de tipo dword asignarle 0 también al valor de "requirestrongkey" que es de tipo dword asignarle 0

    Deberá reiniciar la computadora, es W$ :-),  para que los cambios surtan efecto.

    Una vez que hemos reiniciado realizamos lo siguiente (esto faltaba, gracias Divad ;-))

    Boton derecho en Mi PC, Pestaña Nombre de Equipo, Botón Cambiar, y donde pone Miembro de …. Dominio pon el dominio que has creado en Linux. A partir de ahora podras entrar a tu equipo como miembro del dominio y como miembro de la máquina local.

    Saludos.

  • Juanmi dice:

    Sobre como unir maquinas windows  al PDC te lo he explicado arriba 😉

    Para unir máquinas linux a un PDC utiliza este manual de Improvisa para agregar usuarios linux a un PDC:

    http://www.improvisa.com/index.php?name=News&file=article&sid=397

    Saludos y cuentanos a ver que tal te ha ido 😉

  • divad dice:

    OK, muchas gracias me ha quedado todo mucho más claro,

    pero la parte de unirse con un equipo windows no creo que sea tan sencilla como sólo hacer la parte de "Unir clientes de Windows XP al dominio." y luego introducir un usuario y un contraseña que estén dados de alta en el ldap, mas que nada porque ¿habrá que decirle al Win cuál es el servidor ldap no?

     

    Muchas gracias, un saludo.

  • Juanmi dice:

    No!!! Divad, el alta de un usuario a un dominio es tan simple como te he dicho. Cuando te pide la contraseña debes introducir la del administrador del LDAP y su contraseña. La localizacion del servidor del dominio se realiza mandando un paquete udp a la dirección broadcast, es decir a todos los equipos de tu red y solo los servidores de dominio contestan diciendo quien es el servidor del dominio que has puesto en la casilla.

    Espero que ya lo hayas coseguido dar de alta, es asi de simple.

    ¿Te llega a pedir nombre de usuario y contraseña del administrador del dominio?

  • divad dice:

    Hola Juanmi, como localiza el servidor si me ha quedado claro.

     Yo cuando inicio sesión en Windows me pide usuario y contraseña, y sólo me inicia si le introduzco el usuario y contraseña de uno de los usuarios dados de alta en la máquina local.

    En cambio, si voy a "Mis sitios de red" me aparece el servidor ldap y me pide usuario y contraseña, pero he probado con todos los usuarios registrados en el servidor ldap y no me entra.

    ¿ Alguna solucion? Lo único que se me ocurre es que haya configurado algo mal, pero en cambio, desde linux si inicia sesión.

  • Juanmi dice:

    Hola Divad, ahora estas en el mismo error que nbarreto, escribio mas arriba, pero para este por ahora no tengo solucion, voy a escribir a nbarreto a ver si consiguió solucionarlo y yo por mi parte voy a intentar crear tu situacion en una máquina virtual e intentar darle solución. Por otra parte te pido que si consigues solucionarlo nos lo cuentes 😉 ya que en este problema se ha visto más gente y nos serias de gran ayuda…….

    Si consigo descubrir algo por aquí lo pongo.

    Saludos.

  • krlos dice:

    Me ha salido todo muy bien,
    media semana en esto pero al final buenos resultados. eso si, una duda
    cuando uno mis PC con ubuntu no veo que se agregen al ou machines como pasa con
    windows y mas aun me deshabilita los usuario locales y solo funcionan si
    los creo también para el pdc es normal eso???

     

    echo Sal2s

    Sal2s.

  • Juanmi dice:

    Para agregar un linux a un dominio sigue este manual:

    http://www.improvisa.com/index.php?name=News&file=article&sid=397

    Es una pizca más complicado en que en W$ icon_wink

    Saludos y bienvenido.

    Juanmi.

  • krlos dice:

    Gracias por contestar probé el enlace que me diste y bueno digamos que logre unir la pc al dominio tras algunos ajustes al smb.conf  por ejemplo donde 

    realm = hbi.cu  y en security = domain

    por alguna razon no me dejaba usar ADS en fin. eso si cuando se une al dominio no se une con el nombre de la PC Ejm pc5$ sino con un nombre de usuario como tengo otras 4 pc  y un mismo usuario ya que es un lab no se si esta dara conflicto  que crees?

    echo Sal2s

    Sal2s

  • Juanmi dice:

    Sobre el nombre de Máquina, no se si te explicas bien:

    Te cuento que he entendido:En el grupo Machines del OpenLDAP debes tener los nombres de pc que se van poniendo automáticamente cuando das de alta un equipo en el dominio, pero el usuario debe ser el mismo o el que tu estimes, es decir el usuario krlos del dominio hbi.cu puede ingresar en el PC1 PC2 y PC3 y darse de alta en el servidor con el mismo nombre de usuario, pero en el grupo de Machines debe haber PC1, PC2 y PC3. Es decir puede haber simplemente un usuario, por ejemplo el administrador del dominio, en todo hbi.cu pero si tienes 3 maquinas agregadas para que el administrador del dominio hbi.cu se loguee en ellas deberán estar las tres maquinas dadas de alta en el dominio.

    Sobre el tema ADS o Domain, efectivamente debes utilizar modo Domain como he podido ver en la siguiente documentación:

    3.3.3.1 Example Configuration

    Samba as a Domain Member Server

    This method involves addition of the following parameters in the smb.conf file:

    In order for this method to work, the Samba server needs to join the MS Windows NT security domain. This is done as follows:

    1. On the MS Windows NT Domain Controller, using the Server Manager, add a machine account for the Samba server.

    2. On the UNIX/Linux system execute:

    Samba-2.2.4 and later can auto-join a Windows NT4-style Domain just by executing:

    Samba-3 can do the same by executing:

    It is not necessary with Samba-3 to specify the DOMAIN NAME or the PDC NAME as it figures this out from the smb.conf file settings.

    Use of this mode of authentication does require there to be a standard UNIX account for each user in order to assign a UID
    once the account has been authenticated by the remote Windows DC. This account can be blocked to prevent logons by clients
    other than MS Windows through means such as setting an invalid shell in the /etc/passwd entry.

    An alternative to assigning UIDs to Windows users on a Samba member server is presented in Chapter 20, Winbind: Use of Domain Accounts.

    For more information regarding Domain Membership, see Chapter 6, Domain Membership.

     

    3.3.4 ADS Security Mode (User Level Security)

    Both Samba-2.2, and Samba-3 can join an Active Directory domain. This is possible if the domain is run in native mode. Active
    Directory in native mode perfectly allows NT4-style Domain Members. This is contrary to popular belief. Active Directory in
    native mode prohibits only the use of Backup Domain Controllers running MS Windows NT4.

    If you are using Active Directory, starting with Samba-3 you can
    join as a native AD member. Why would you want to do that? Your
    security policy might prohibit the use of NT-compatible authentication
    protocols. All your machines are running Windows 2000 and above and all
    use Kerberos. In this case Samba as an NT4-style domain would still
    require NT-compatible authentication data. Samba in AD-member mode can
    accept Kerberos tickets.

    Saludos.

  • krlos dice:

    nuevamente te agradezco que respondas, te cuento ya resolví la
    situación de ou machines el detalle estaba en el netbios name = krlos
    que debia ir el nombre de la pc en cuestión Ejm netbios name = pc5
    hasta ahi todo bien, queda un detalle pues cada vez que me logueo desde
    las pc con ubuntu ocurre que aparentemente el password de el usuario se
    ha expirado y tengo que volverlo a introducir hasta las siguiente 24
    horas que lo vuelva a pedir tienes idea de donde puede estar el
    problema?

    echo Salu2s

    Salu2s

  • Juanmi dice:

    Hola de nuevo Krlos, me alegro que se vayan solucionando las cosas 😉

    Creo que ahora tu problema es el que tuvo jsampietro puedes leerlo en los comentarios de más arriba, llegó a solucionarlo.

    Cuentanos si lo logras 😉

  • krlos dice:

    Problema resuelto, la solución muy sencilla: Samba SAM Account Control Block Flags estuve trasteando un poco el comando pdbedit y me encontre con este elemento, dado que mi problema era que los password expiraban continuamente hay una de estas opciones  que permiten que el mismo no expire mas modificando el parametro

    Account Flags:   [U           ]

    por defecto se crea solo con U y agregandole la X esta todo resuelto y se puede hacer desde el phpldapadmin sin problemas. Aqui les dejo la tabla para otras referencias.

    Table 11.2. Samba SAM Account Control Block Flags

    Flag Description
    D Account is disabled.
    H A home directory is required.
    I An inter-domain trust account.
    L Account has been auto-locked.
    M An MNS (Microsoft network service) logon account.
    N Password not required.
    S A server trust account.
    T Temporary duplicate account entry.
    U A normal user account.
    W A workstation trust account.
    X Password does not expire.

    te quiero agradezer sinseramente por el tiempo que te tomas para responder los comentarios de cada quien muchas garcias y ojala puedan seguir asi.

    echo Salu2s

    Salu2s

  • Juanmi dice:

    Enhorabuena, ya lo tienes funcionando 😉

    Mil gracias por comentar la solución hay gente que cuando resuleve sus dudas no vulven por aquí 🙁

    Saludos y espero leerte de nuevo.

  • juanrimaristas dice:

    A mi me pasa lo mismo, he repasado los pasos una y otra vez, y siguen sin aparecerme los grupos.

    No se lo que está mal.

    si hago

     net groupmap list

    Domain Users (S-1-5-21-1929428175-3138329791-592423279-513) -> 2003

    Domain Guests (S-1-5-21-1929428175-3138329791-592423279-514) -> 2001

    Domain Computers (S-1-5-21-1929428175-3138329791-592423279-515) -> 2002

    Domain Admins (S-1-5-21-1929428175-3138329791-592423279-512) -> 2000

     Gracias de antemano

  • juanrimaristas dice:

    Gracias, lo he solucionado, era un error al configurar libnss-ldap

    De todas formas GRACIAS 

  • juanrimaristas dice:

    He seguido la guia paso a paso, y la verdad es que todo me ha ido bien (esta fenomenal)….. hasta que ha llegado el momento de unir máquinas xp al dominio, me aparece el siguiente error:

    Nota: esta información está dirigida a un administrador de red. Si usted no lo es, notifique al administrador de red que ha recibido esta información que se ha registrado en el archivo C:WINDOWSdebugdcdiag.txt.

    Ocurrió un error al hacer una consulta al DNS para el registro de recursos de ubicación de servicio (SRV) usado para ubicar un controlador de dominio para el dominio maristasgr.local:

    El error fue: "El nombre DNS no existe."

    (código de error 0x0000232B RCODE_NAME_ERROR)

    La solicitud era para el registro SRV para _ldap._tcp.dc._msdcs.maristasgr.local

    Las siguientes son causas comunes de este error:

    -El registro SRV de DNS no está registrado en el DNS.

    -Una o más de las siguientes zonas no incluye delegación a sus zonas secundarias:

    maristasgr.local

    local

    . (la zona raíz)

    Haga clic en Ayuda para obtener más obtener más información sobre cómo corregir este problema. 

     

    No se que hacer, la verdad. agradecería alguna orientación

    GRACIAS 

  • Juanmi dice:

    El problema esta en los dns, intenta crear en el archivo host de windows un nombre de maquina maristasgr.local que apunte a la ip del servidor de dominios. Si ves que el problema se resulelve , tendras que crearte con Bind un servidor de nombres.

    Cuentanos si se resulve editando el archivo c:/windows/system32/drivers/etc/hosts y añadiendo los nombres de maquina……..

  • juanrimaristas dice:

    Gracias, lo de añadir la máquenoa a hosts no lo había probado (lo he hecho y nada), pero cuando al principio me salió el error supuse que era problema de dns, y monté en uno con bind que funciona bien.

    No se que hacer, a todo el mundo le funciona, estoy por empezar otra vez de cero.

     Muchísimas gracias de todas maneras.

    Un saludo 

  • Juanmi dice:

    Supongo que habrás buscado "samba pdc  C:WINDOWSdebugdcdiag.txt" en Google, da muchas cosas interesantes.

    Eso si juanrimaristas, si lo resulves cuentanoslo 😉

  • juanrimaristas dice:

    Muchas gracias, pero nada de nada, después de dejarme los ojos viendo posibilidades….nada. Me he dado cuenta que además no ve el equipo desde la red, parece como si samba no funcionara bien, si hago inicio–>ejecutar–>\192.168.1.130, me llega a pedir usuario y contraseña, pero ninguna va…. 

    no se creo que formatearé y empezaré de cero otra vez, he pensado cambiar a ubuntu, a ver si así….

    de todas maneras con lo que sea os contaré.

     

    Un saludo y gracias 

  • Juanmi dice:

    Para poder entrar al aquipo con el password debes dar de alta el password de l usuario que tu quieras:

    debian:/etc/samba# smbpasswd -a TUUSUARIO
    New SMB password:
    Retype new SMB password:
    Added user Administrador.

    Estoy de acuerdo contigo en que alo mejor debes empezar de 0, pero no, no con Ubuntu 😉

    Saludos.

  • juanrimaristas dice:

    empiezo de cero…… como me da pena el servidor con dns, dhcp, webmin, nomx…..que funciona de maravilla…(salvo el "pequeño detalle" del PDC), empiezo lo siguiente:

    He instalado Virtualbox, sobre el que montaré una máquina virtual en la que pretendo que esté el PDC (cruzo los dedos),…. con debian 5, a ver que tal va…. como /home pretendo que estén en un NAS.. espero que no tenga problemas de rendimiento….

    Un saludo, y muchas gracias de verdad una vez más por las molestias y el interés de ayuda (es muy de agradecer, de verdad en serio) 

  • Juanmi dice:

    Perfecto juanrimaristas por aquí estremos, pide lo que necesites 😉

    Saludos.

    Juanmi

  • krlos dice:

    Hola juanmi te cuento que desde hace ya d meses tengo mi PDC en pleno funcionamiento ubuntu y windows al domio si mayores problemas, por estos dias he querido darles politicas al dominio o a los usario pero hasta ahora no he logrado nada, todo con el fin de que algunos usuarios no sean capaces de cambiar su password desde windows he probado ya con el pdbedit que permite hacer estas cosas pero nada hasta el dia de hoy  y tampoco he encotrado demasiada documentacion al respecto o mas bien la que he encontrado no me ha servido el comando funciona y encuentra los usuario pero nada ocurre ahora mismo estoy buscando otro metodo mas radical que no le permita a ningun usario cambiar su password desde windows al parecer la cosa estan en las ACL del slapd.conf pero hasta ahora no he resuelto nada podrias ayudarme con esto.

  • Juanmi dice:

    ­

    Hola de nuevo Krlos, tu comentariome ha hecho ponerme las pilas y ponerme manos a la onra, hacia mucho timepo que lo hice y al final me he puesto para recordarlo ya que se ma ha olvidado por completo, como me han sentado las vacaciones 🙂

    La teoria es fácil, debemos crear con poledit.exe las directivas que queramos en nuestro dominio y subirlas a nuestro servidor pdc samba al directorio que hemos definido en la parte netlogon de nuestro archivo smb.conf, si has seguido el del manual debes tenerlo en /home/samba/netlogon, dentro de ese directorio debemos guardar el archivo con las politicas creadas con el nombre NTConfig.POL

    Poledit.exe nos dejará crear las directivas para todos los equipos o uno solo, o para un usuario o para todos los usuarios del dominio. debemos ir creando todas las que necesitemos, deben quedar todas en un archivo, que nombraremos como NTConfig.POL despues de darle a Archivo, Guardar como. 

    Si seguimos los pasos de la página de samba, deberiamos descargar poledit.exe del service pack 4 de windows 2000 (despues de extraerlo y expandirlo con expan) y descargar  las plantillas de administracion de politicas del servide pack 3 de XP (despues de descomprimirlo y expandirlas con expand) tendremos problemas ya que las plantillas importantes como son system.adm e inetres.adm no coneguiremos cargarlas, te las dejo en este archivo comprimido para que hagas tus pruebas:

    Poledit.exe y plantillas administrativas para xp

    La solución que yo encontré y que me ha funcionado a la perfección es, crearme una maquina virtual o instalar un windows 2003 server con el service pack más actual en un ordenador cualquiera y desde el 2003 server crear las politicas que me han interesado siempre usando poledit.exe que descargo de improvisa. Guardo el archivo NTConfig.POL y ya no me hace falta la maquina virtual para nada.

    Recuerdo que perdí muchisimo tiempo en intentar cargar las plantillas administrativas y hacer el proceso desde cualquier equipo xp, pero luego se me ocurrió la solución de instalar el 2003 server y vamos, te la aconsejo si lo que necesitas es rapidez. Aun asi necesitaras descargar poledit.exe. Bajo un punto de vista egoista, seria perfecto que lo intentases y nos contases a que has llegado por este camino.

    Sobre la directiva que necesitas, para que los usuarios no puedan cambiar la contraseña cre que es esta:

    Cargando las dos plantillas que vienen por defecto al ejecutar poledit en el sistema windows 2003 server, common.adm y winnt.adm añadiendo una nueva directiva para usuario en la parte Sistema Windows NT tienes la directiva "Deshabilitar la opcion cambiar contraseña", la marcas y guardas la politica y listo.

    Saludos.­

    ­

  • krlos dice:

    Hola te digo que respecto al poledit.exe ya habia escuchado aunque te digo que no estoy muy ducho en el tema sobre todo para crear politicas de grupo en fin en cuanto lo que te habia comentado de los password di con la solucion con el pdbedit y me refiero ahora con mas detalle en cuanto a lo que sucedia.

     

    Era simple el pdbedit cuando se ejecutaba me actualisaba el ldapsam  que es backend configurado por defecto en nuestro smb.conf supestamente deberia actualizar tambien a tdbsam pero no lo hacia entonces la solucion era importar el contenido de ldapsam hacia tdbsam esto tiene una desventaja que las politicas deben crearse antes de los usaurio de lo contrario nada ocurrira ahora mismo tengo configurado de tal manera que solo pueden cambiar el password cada 45 dias y no pueden reperit el pasword hasta dentro de 5 ocaciones lo que un total de 270 dias que era algo que necesitaba os dejo este enlace de la cual saque informacion al respecto esta en ingles .

    http://searchenterpriselinux.techtarget.com/tip/0,289483,sid39_gci1152805,00.html#

     

    en cuanto a lo otro le metere mano por estos dias ya que me intersa las politicas d grupos gracias por contestar

    echo Sl2s

    Sl2s

  • mesanni dice:

    LLegue a configurar con la ayuda de este excelente manual un Servidor  Samba PDC, ahora lo que quiero hacer es mapear otras unidades de red a los clientes windsows xp, como podria hacerlo..? ahora solo cuando se loguean solo tienen una unidad de red h: por defecto. 

  • Juanmi dice:

    De nada, un placer ayudar, lo bueno además es que pones la solución para los demas 😉

    Gracias a ti.

  • Juanmi dice:

    Bienvenido a Improvisa mesann, me alegra que te hayamos podido ayudar 😉

    Sobre tu pregunta me gustaría que te explicases algo mejor, que quieres que ocurra, es decir crear unidades compartidas en samba creo que no es problema, no se si quieres que se mapeen directamente cuando el usuario se ha conectado, si quieres carpetas unicas para el usuario y que solo el usuario las vea………… Explicate lo mejor que puedas.

    Saludos

  • elchacal dice:

    Saludos colega, estoy realizando este manual y me da el mismo error, pero dime, cual era el problema, estoy cansado de dar para tras y para alante pero nada. Espero…

  • Juanmi dice:

    Hola elchacal , bienvenido a Improvis, la verdad es que este error está sacando a más de uno de quicio, pero no soy capaz de generarlo, ya que si comienzo el manual y lo sigo al pie de la letra a mi no me da el error del que hablais. Segñun le dije en su día a gpmm66 no soy capaz de recrear el error.

    Por otra parte el error según juanrimaristas es de la configuración del paquete libnss-ldap repasalo y sobre todo si lo resuelves no olvides pasar por aquí y dar la solución y así para la gente que venda de nuevas con el mismo problema que tu pueda ver la luz, ojala haya feedback y nos escribas la solución que seguro que encuentras 😉

    Saludos y aquí esto ypoara lo que necesites 😉

  • pdcasper dice:

    Hola. Gran trabajo el de Roland Pish y el tuyo.

    Después de seguir tus instrucciones he conseguido configurar el PDC Samba y unir alguna máquina XP al dominio.

    Con usuarios del grupo Domain Users no hay ningún problema, pero con los del grupo Domain Admins no me puedo logar. Samba parece que acepta la contraseña (lo se por el log), pero en la máquina cliente, en lugar de logarse, muestra un error que a su vez dice que no encuentra el texto del mensaje de error.

     Por otra parte, en este pantallazo, veo que al final añades 1513. ¿Por qué no es solo 513? ¿Puede tener algo que ve que para los Domain Admins haya puesto 1512? Bueno, con los Domain Users ya te he dicho que no hay problema. En fin, que muchas gracias por todo, y si consigo arreglarlo por mi cuenta te diré algo.

    ¡¡SALUDOS!!

  • Juanmi dice:

    ¡¡¡ Bienvenido a Improvisa !!! Efectivamente me he debido equivocar al poner el número y parece que debe ser 513 y no 1513, y por consiguiente crear el grupo Domain Admins con 512 y no 1512, gracias por localizar el error, si nos pudieses corroborar que realmente era un error te lo agradeceriamos todos 😉

    Saludos y esperamos verte por aquí colaborando de la forma que más te guste!!!

  • pdcasper dice:

    ¡Hola de nuevo!

     Intentando hacer que se pudiesen logar los usuarios de grupo Domain Admins, conseguí que no funcionara nada, así que volví a instalar todo desde 0, y he llegado a las siguientes conclusiones.

    Parece ser que los ID de los grupos de usuarios que NO son Domain Admins, da igual si se pone 513 o 1513 o lo que más te guste.  El usuario que se crea es válido y entra en los clientes XP con permisos restringidos.

    Esto no es así en el caso de los Domain Admins, en cuyo caso se ha de usar el ID 512 necesariamente. Un aspecto importante, es que el ID del usuario no puede ser 0. Si es así, no deja logarse con permisos de administración en los XP, y es por esto por lo que no me ha funcionado hasta ahora. Si se pone otro ID, por ejemplo 10000, funciona sin problemas. Eso si, uno no se podrá logar directamente en el PDC linux con ese usuario, o si lo hace, no será root.

     Me voy a poner a configurar, en este orden, clientes Windows Vista e impresoras compartidas .. ¿alguna sugerencia? Cuando tenga esto funcionando volveré por aquí para contarlo.

    Saludos!

  • Juanmi dice:

    ¡Hola de nuevo!

    Efectivamente yo los usuarios los comenzaba con el numero de ID 20000 y a partir de ahí se hacen solos.

    Cuentanos como has hecho que se legueen los vista ya que con los cleintes XP había que tocar en el registro.

    Saludos de nuevo y un placer leerte 😉

  • pdcasper dice:

    Parece ser que los Vista Bussines se puede unir al dominio "out of the box", sin hacer nada.

    Me surgen un par de dudas

    1) El proceso de loguearse es especialmente LEEEENTO, ¿alguna sugerencia?

    2) Al crear usuarios, se crean por defecto con el perfil movil.¿Qué hay que hacer para que no sea así?

     Muchas gracias por todo.

  • Juanmi dice:

    ­Hola pdcasper que bueno que todo vaya bien y ya estemos en el final, otro active directory menos 😉

    A la pregunta 1 comprueba que el servidor DNS que tiene el cliente es la máquina que tiene el PDC, creo que te va tan lento por algo de los DNS, resolucion inversa o algo asi, lo ideal despues de montar el PDC es montar el DHCP mas DNS con resolución inversa dinámica a traves del DHCP, algo así:

    http://www.debian-administration.org/article/Configuring_Dynamic_DNS__DHCP_on_Debian_Stable

    Creo que es por algo de los DNS.

    A la pregunta 2, si que se pueden elimar los perfiles móviles, repasa el fichero smb.conf que es en ese fichero, en los comentarios, donde indica que lineas debes comentar para deshabilitar los perfiles móviles.

    Saludos y cuentanos como siguen las cosas 😉

  • aleddiaz dice:

    Buenas, ante todo muy bueno el manual, desde hace un tiempo que estoy buscando algo actualizado y este es el mejor.

    Bueno te comento, al instalar cuano llega el momento de realizar el getent group
    no actualiza los grupos creados. Busque en los comentarios por si alguien tenia ulgun conetario sobre como solucionar esto pero no vi nada. Reintale el debian en reiteradas ocasiones y siempre me quedo en el mismo lugar. realizo toso como dice el manual y luego de configurar dpkg-reconfigure libnss-ldap moficicar el
    nsswitch.conf no muestra los gropos creados. He probado de reiniciar los servicios de samba, slapd e incluso reiniciar el servidor pero no encuentro una solucion.

    Espero tus comentarios. Gracias

  • aleddiaz dice:

    Estimados, ya resolvi el problema del getent grop… Resulto ser un problema al configurar libnss-ldap. En la primer pantalla, hace referencia al servidor LDAP –> 127.0.0.1. El problema era el siguiente:

    automaticamente aparece ldapi:///127.0.0.1, cuando la configuración correcta es ldap:///127.0.0.1. Hay que borrar la "i" caso contrario no encuantra la ruta correcta del servidor. Espero que sea de utilidad al resto de la comunidad. Saludos.

  • Juanmi dice:

    aleddiaz mil gracias por responderte a ti mismo 😉 No me dio tiempo a darte ninguna solución, además no la sabía 🙂

    Un placer leerte y si, seguro que si, a alguien has ayudado fijo 😉

  • jjbier dice:

    No se si ya se ha resuelto (no e mirado más aya de esta entrada).

    // Configurar en /etc/libnss-ldap.conf (debian)  /etc/ldap.conf (ubuntu)
         nss_base_passwd ou=users,dc=improvisa,dc=com
        nss_base_group ou=groups,dc=improvisa,dc=com

  • famarthp dice:

    Yo modifique el ou users y group por los que cree en phpldapadmin y me funcionó.

    Tenia el mismo problema con el getent group.-

     

  • Juanmi dice:

    Muchas gracias por la solución 😉

  • denisel dice:

    hola amigo michas felicidades por tu manual a la verdad que llevo tiempo buscando uno que me permita crear un  dominio como tu lo explicas ahí el problema es que cunado intento unir una maquina xp al dominio creado en debían me dice "Error al intentar unirse al dominio" la contraseña de usuario debe ser cambiada antes de iniciar por primera vez cualquier ayuda la agradeceria infinitamente

  • denisel dice:

    hola ante todo felicidades por tan excelente manual la verdad es que me ha ayudado un montón he seguido todos los pasos y no me da ningun error , solo hasta que trato de unir a mi dominio una maquina xp de da un mensaje de diciendo "Error al intentar unirse al dominio" la contraseña de usuario debe ser cambiada antes de que inicie por primera vez si me pudieran ayudar de alguna forma se los agradeceria 

  • Juanmi dice:

    Hola Denisel, ese es el error que le ha dado a más gente, yo intentando volver a meterlo conseguía que me funcionase, es decir tenía que intentar unirlo dos veces.

    Supongo que habrás modificado las cosas del registro de XP que dicen en el manual.

    Aún así repasa todos los comentarios que tiene esta entrada ya que se habla de error que te da a ti.

    No te puedo decir mucho más ya que hice este documento hace má de 2 años y ya ni me acuerdo de el 😉

     Un abrazo.

  • denisel dice:

    ok si logro dar con el error te lo comunico 

  • Juanmi dice:

    Perfecto, aún así el error que creo que tiene ¿es que obliga a que se cambie el password del usuario antes de darle de alta?

  • denisel dice:

    ok, lo que pasa es que yo me estoy iniciando en linux ahora y no se como hacerlo