Wednesday, April 13, 2016

Controlador de Dominio con SAMBA y OpenLDAP en Ubuntu 14.04 LTS/Debian 8

A continuación se describen los pasos para instalar configurar SAMBA y openLDAP para ser utilizados como controladores de dominio. 

Software y configuración necesaria:




Descripción del escenario:

Esta demostración incluye la siguiente configuración:

Username: usario de instalación del sistema, ej. developer
AD DC Hostname: Nombre del servidor, ejm: dc1
AD DNS Domain Name: Nombre de dominio, ej. tux.lab
Kerberos Realm: Nombre de reino asignado a kerberos, ej. tux.lab
Kerberos domain name/NetBIOS Name: Nombre del dominio asignado a kerberos, ej. tux
IP Address: Dirección IP fija del servidor. ej. 5.1.5.105
Forwarder DNS Server: IP de servidor de redireccionamineto. ej. 5.1.5.105
Gateway: Puerta de enlace. Ej. 5.1.5.1
Subnet Mask: 255.255.255.0
Server Role: Rol del servidor. ej. Primary Domain Controller (PDC)
Backend DNS: Aplicación de gestionamiento de dominio. ej. BIND9 DLZ



NOTAS:


  • El dominio utilizado en este ejercicio no puede ser el mismo a un dominio existente en  BIND9.


  • Este tutorial requiere acceso root.

  • Debe existir configuracion DNS y DHCP antes de iniciar el tutorial.


Paso 1: Actualice el sistema a su version mas reciente
  • Ejecute:

 aptitude update && aptitude –y full-upgrade && reboot  
  • El comando anterior reiniciara el servidor despues de descargar y aplicar las actualizaciones.
Paso 2: Instale los paquetes acl y attr

  • Con el fin de sacar mayor provecho a SAMBA al compartir archivos de sistema se requiere acl y system xattr additions.

  • Ejecute
sudo apt-get install acl attr


Paso 3: Modifique /etc/fstab


  • Modifique /etc/fstab para incluir las caracteristicas de acl y attr.
NOTA: Asegurese de haber respaldado el sistema. Un error implicaría que el sistema no sea booteable.


 sudo nano /etc/fstab  
 /dev/mapper/vg0-lv_data   /   ext4 user_xattr,acl,barrier=1,noatime  0  0



  • Antes de reiniciar el sistema realice una prueba desmontando la unidad y volviendo a montarla.

 umount /dc1  
 mount -a  
 mount | grep '/dc1 '  
  • El comando anterior deberia finalizar sin errores.

Paso 4: Verifique que los ACLs sean funcionales



  • Cree un archivo de prueba
 sudo touch testing_acl.txt  

  • Agregue algunos atributos extendidos como nombre user.test, luego agregue un segundo valor.
 sudo setfattr -n user.test -v test testing_acl.txt  
 sudo setfattr -n security.test -v test2 testing_acl.txt  

  • Pruebe el archivo
 sudo getfattr -n security.test -d testing_acl.txt  

 # file: testing_acl.txt  
 user.test="test"  
 sudo getfattr -n security.test -d testing_acl.txt  
 # file: testing_acl.txt  
 security.test="test2"  
  • Ahora agregue algunos archivos de control de acceso de lista y permisos al archivo.

 sudo setfacl -m g:adm:rwx testing_acl.txt  
 sudo getfacl testing_acl.txt  
 # file: testing_acl.txt  
 # owner: root  
 # group: root  
 user::rw-  
 group::r--  
 group:adm:rwx  
 mask::rwx  
 other::r--  
  • Si los resultados obtenidos son similares a los anteriores puede continuar con el siguiente paso.


Paso 5: Instalación de componentes necesarios

NOTA: Si comete algún error en este paso el Active Directory Domain Controller no funcionará y deberá iniciar el proceso de nuevo.


  • A continuación se agregarán los paquetes necesarios asi como los componentes requeridos.
 sudo apt-get install samba smbclient build-essential libacl1-dev libattr1-dev \  
   libblkid-dev libgnutls-dev libreadline-dev python-dev libpam0g-dev \  
   python-dnspython gdb pkg-config libpopt-dev libldap2-dev \  
   dnsutils libbsd-dev krb5-user docbook-xsl libcups2-dev ldb-tools  
  • Durante el proceso de instalación se requiere la siguiente información.

Configuring Kerberos Authentication: <Nombre del dominio> Ej. TUX.LAB

hostname of Kerberos servers in the TUX.LAB: <Nombre del servidor del dominio seleccionado> Ej. dc1

hostname of the Administrative (password changing) servers: <Nombre del server de administracion de passwords> ej. dc1



Paso 6: Proveer configuración de dominio a Samba.

NOTA: Sea extremandamente cuidadoso y preciso, solo tiene una oportunidad de realizar esta configuración. Recuerde realizar respaldos completos del sistema.

  • Remueva el archivo de configuración por defecto de Samba.
 sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak  

  • Ejecute el siguiente comando:
 sudo samba-tool domain provision --use-rfc2307 --interactive  
  • Se le solicitará la siguiente información:
NOTAS:

- Mantener las mayúsculas como se indica.

-Utilizar BIND9_DLZ como DNS Backend.

  • Realm: <Reino kerberos> ej. TUX.LAB
  • Domain: <Dominio configurado en DNS> ej. TUX
  • Server Role: <Rol del servidor> ej. dc
  • DNS Backend: <Aplicación DNS> BIND9_DLZ
  • Administrator password: <Password que desea asignar>
  Realm: TUX.LAB  
  Domain [BLACK]: TUX  
  Server Role (dc, member, standalone) [dc]: dc  
  DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: BIND9_DLZ  
 Administrator password:  
 Retype password:  
 Looking up IPv4 addresses  
 More than one IPv4 address found. Using 5.1.5.105  
 Looking up IPv6 addresses  
 No IPv6 address will be assigned  
 Setting up share.ldb  
 Setting up secrets.ldb  
 Setting up the registry  
 Setting up the privileges database  
 Setting up idmap db  
 Setting up SAM db  
 Setting up sam.ldb partitions and settings  
 Setting up sam.ldb rootDSE  
 Pre-loading the Samba 4 and AD schema  
 Adding DomainDN: DC=black,DC=dragon,DC=lab  
 Adding configuration container  
 Setting up sam.ldb schema  
 Setting up sam.ldb configuration data  
 Setting up display specifiers  
 Modifying display specifiers  
 Adding users container  
 Modifying users container  
 Adding computers container  
 Modifying computers container  
 Setting up sam.ldb data  
 Setting up well known security principals  
 Setting up sam.ldb users and groups  
 Setting up self join  
 Adding DNS accounts  
 Creating CN=MicrosoftDNS,CN=System,DC=tux,DC=lab  
 Creating DomainDnsZones and ForestDnsZones partitions  
 Populating DomainDnsZones and ForestDnsZones partitions  
 Unable to find group id for BIND,  
         set permissions to sam.ldb* files manually  
 See /var/lib/samba/private/named.conf for an example configuration include file for BIND  
 and /var/lib/samba/private/named.txt for further documentation required for secure DNS updates  
 Setting up sam.ldb rootDSE marking as synchronized  
 Fixing provision GUIDs  
 A Kerberos configuration suitable for Samba 4 has been generated at /var/lib/samba/private/krb5.conf  
 Setting up fake yp server settings  
 Once the above files are installed, your Samba4 server will be ready to use  
 Server Role:      active directory domain controller  
 Hostname:       dc1  
 NetBIOS Domain:    BLACK  
 DNS Domain:      tux.lab  
 DOMAIN SID:      S-1-5-21-4262268790-1704237558-3743349498  
 </textarea>  




Paso 7: Configuración de Samba y Bind


  • Edite el archivo /etc/samba/smb.conf, agregando las siguientes lineas a la sección  [global].
 sudo nano /etc/samba/smb.conf  
 allow dns updates = nonsecure and secure   
     dns forwarder = 10.1.200.3  
     # Thanks to Lars for this fix, it stops the syslog  
     # being spammed by the lack of a CUPS server.  
     printing = CUPS  
     printcap name = /dev/null  

  • Agregue las siguientes líneas al archivo /etc/bind/named.conf.options, al final de la sección options{…}. Asegurese de comentar las lineas existentes para evitar duplicados.
 sudo nano /etc/bind/named.conf.options  
   auth-nxdomain yes;   
   empty-zones-enable no;  
   // Adding this Samba generated file will allow for automatic DDNS updates  
   tkey-gssapi-keytab "/var/lib/samba/private/dns.keytab";  

  • Verifique la versión instalada de Bind.
 sudo /usr/sbin/rndc --version  

  • Debe revisar al final de la salida del comando.


    # nano /var/lib/samba/private/named.conf  
    
     dlz "AD DNS Zone" {  
       # For BIND 9.8.0  
     #  database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9.so";  
       # For BIND 9.9.0  
        database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_9.so";  
     };  
    
  • Agregue la siguientes línea a /etc/bind/named.conf
 # nano /etc/bind/named.conf  
 include "/var/lib/samba/private/named.conf";  

# nano /var/lib/samba/private/named.conf  
 dlz "AD DNS Zone" {  
   # For BIND 9.8.0  
 #  database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9.so";  
   # For BIND 9.9.0  
    database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_9.so";  
 };  

  • Edite los permisos de archivo dns.keytab de tal modo que es legible para el grupo bind.
 sudo chgrp bind /var/lib/samba/private/dns.keytab  
 sudo chmod g+r /var/lib/samba/private/dns.keytab  
  • Agregue las siguientes reglas apparmor al final del archivo  /etc/apparmor.d/usr.sbin.named dentro de los corchetes {..}.
 sudo nano /etc/apparmor.d/usr.sbin.named  
 /usr/lib/x86_64-linux-gnu/ldb/** rwmk,  
   /usr/lib/x86_64-linux-gnu/samba/** rwmk,  
   /var/lib/samba/private/dns/** rwmk,  
   /var/lib/samba/private/named.conf r,  
   /var/lib/samba/private/dns.keytab r,  
   /var/tmp/* rw,  
   /dev/urandom rw,  

NOTA: Si ha logrado completar exitosamente los pasos anteriores y si el servidor DNS esta configurado adecuadamente, si OpenLDAP esta configurado adecuadamente y no ha habido cambios en Bind el Active Directory Domain Controller debería funcionar correctamente. Revise cuidadosamente antes de reiniciar el servidor. Si existen fallos despues de reiniciar el servidor la opción mas rápida es reiniciar el proceso de configuración nuevamente.

Paso 8: Reinicie el servidor


 sudo reboot  


Paso 9: Pruebas básicas de operación


  • Prueba cliente Samba, ejecute el siguiente comando:
 smbclient -L localhost -U%  

  • Debería retornar una respuesta similar  a esta:
 root@lab-addc1:~# smbclient -L localhost -U%  
 Domain=[BLACK] OS=[Unix] Server=[Samba 4.1.6-Ubuntu]  
     Sharename    Type   Comment  
     ---------    ----   -------  
     netlogon    Disk  
     sysvol     Disk  
     IPC$      IPC    IPC Service (Samba 4.1.6-Ubuntu)  
 Domain=[BLACK] OS=[Unix] Server=[Samba 4.1.6-Ubuntu]  
     Server        Comment  
     ---------      -------  
     Workgroup      Master  
     ---------      -------  
     WORKGROUP      LAB-ADDC1  

  • Prueba de controlador de servidor de dominio y Prueba de integración de kerberos con cliente ldap.

  • Ejecute los siguientes comandos:
 host -t SRV _ldap._tcp.tux.lab.  
 host -t SRV _kerberos._udp.tux.lab.  
 host -t A dc1.tux.lab.  

  • Debería obtener una respuesta similar a la siguiente:
 root@dc1:~# host -t SRV _ldap._tcp.tux.lab.  
 _ldap._tcp.tux.lab has SRV record # ### ### dc1.tux.lab.  
 root@dc1:~# host -t SRV _kerberos._udp.tux.lab.  
 _kerberos._udp.tux.lab has SRV record # ### ### dc1.tux.lab.  
 root@dc1:~# host -t A dc1.tux.lab.  
 dc1.tux.lab has address 5.1.5.105  


  • Prueba de conexión con ¨netlogon¨ share utilizando la cuenta de administrador de dominio. Ejecute el siguiente comando:
 smbclient //localhost/netlogon -UAdministrator -c 'ls'  
 Enter Administrator's password:  

  • La respuesta debería ser similar a la siguiente:

 root@lab-addc1:~# smbclient //localhost/netlogon -UAdministrator -c 'ls'  
 Enter Administrator's password:  
 Domain=[BLACK] OS=[Unix] Server=[Samba 4.1.6-Ubuntu]  
  .                  D    0 Mon Apr 11 13:14:09 2016  
  ..                 D    0 Mon Apr 11 13:14:15 2016  
         39180 blocks of size 1048576. 35492 blocks available  

Paso 10: Instalar openLDAP


  • Ejecute el siguiente comando:
 sudo apt-get install libnss-ldap  

  • Ingrese el nombre de dominio (FQDM) del servidor LDAP
  • Ingrese el nombre del busqueda base (DN).
  • Seleccione la version de LDAP.
  • Agregue a local root como database admin.

  • desabilite el inicio de sesión para LDAP database.
  • Ingrese la cuenta de privilegios root en la base de datos LDAP.
  • Inrgrese la contraseña.


















  • Ejecute el siguiente comando para  configurar el perfil LDAP para NSS e informar al sistema de cambio.
 # sudo auth-client-config -t nss -p lac_ldap  
 # sudo pam-auth-update  






Paso 11: Integración de Samba + openLDAP


  • Verifique los paquetes instalados de Samba
 # apt-get install samba samba-doc smbldap-tools  

  • Importe el schema de samba a LDAP
 # cp /usr/share/doc/samba-doc/examples/LDAP/samba.ldif.gz /etc/ldap/schema/  
 # gzip -d /etc/ldap/schema/samba.ldif.gz  
 # ldapadd -Q -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/samba.ldif  
 adding new entry "cn=samba,cn=schema,cn=config"  



  • Cree el archivo samba_indices.ldif y agregue los contenidos que se muestran a continuación.
 # nano /etc/ldap/schema/samba_indices.ldif  
 dn: olcDatabase={1}hdb,cn=config  
 changetype: modify  
 add: olcDbIndex  
 olcDbIndex: uidNumber eq  
 olcDbIndex: gidNumber eq  
 olcDbIndex: loginShell eq  
 olcDbIndex: uid eq,pres,sub  
 olcDbIndex: memberUid eq,pres,sub  
 olcDbIndex: uniqueMember eq,pres  
 olcDbIndex: sambaSID eq  
 olcDbIndex: sambaPrimaryGroupSID eq  
 olcDbIndex: sambaGroupType eq  
 olcDbIndex: sambaSIDList eq  
 olcDbIndex: sambaDomainName eq  
 olcDbIndex: default sub  



  • Ahora importe el schema utilizando el siguiente comando:
 # ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/samba_indices.ldif  
 modifying entry "olcDatabase={1}hdb,cn=config"  


Paso 12: Configuración de Samba tools
  • Verifique que los paquetes de Samba tools hayan sido instalados:
 # apt-get install smbldap-tools  

  •  Ya que el archivo /etc/smbldap-tools/smbldap.conf no existe, se utilizará un archivo de ejemplo que se instala junto con el paquete smbldap-tools, agregue una copia con el siguiente comando:
 # zcat /usr/share/doc/smbldap-tools/examples/smbldap.conf.gz > /etc/smbldap-tools/smbldap.conf  

  • El archivo smbldap_bind.conf tampoco existe por lo que se utilizará el archivo de ejemplo:
 # cp /usr/share/doc/smbldap-tools/examples/smbldap_bind.conf /etc/smbldap-tools/  

    • Antes de empezar a configurar estas herramientas se deben modificar los permisos de acceso para estos archivos. Ingrese al directorio /etc/smbldap-tools y cambie el usuario y grupo propietarios para los archivos, el usuario dueño debe de ser root y el grupo dueño debe de ser openldap.
     # cd /etc/smbldap-tools  
     # chown root:openldap smbldap*  
    


    • Nadie más que el usuario root debe tener acceso de lectura y escritura sobre los archivos.
     # chmod 640 smbldap*  
    

    • Edite el archivo de configuración smbldap_bind.conf para especificar el usuario con con el que se realizan las operaciones de administración de usurios y grupos en el servidor LDAP.

     # nano smbldap_bind.conf  
    

    • Debe presentar algo similar a esto:

     slaveDN="cn=admin,dc=example,dc=com"  
     slavePw="ldapadmin"  
     masterDN="cn=admin,dc=example,dc=com"  
     masterPw="ldapadmin"  
    
    • Obtenga el SID de dominio Samba

    • Edite el archivo principal de configuración de smbldap-tools /etc/smbldap-tools/smbldap.conf:

     # nano /etc/smbldap-tools/smbldap.conf  
    
    • Edite los parámetros referentes al dominio Samba:
     # 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-2911508632-2405292923-4115677068"  
     # Domain name the Samba server is in charged.  
     # If not defined, parameter is taking from smb.conf configuration file  
     # Ex: sambaDomain="IDEALX-NT"  
     sambaDomain="EXAMPLE"  
     # 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"  
    
    • Ya que no se utilizarán comunicacione seguras por SSL/TLS desactive el uso de TLS:
     # 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"  
    
    • Especifique el Base DN del directorio LDAP.

     # LDAP Suffix  
     # Ex: suffix=dc=IDEALX,dc=ORG  
     suffix="dc=example,dc=com"  
     # 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}"  
     # Unix password encryption (CRYPT, MD5, SMD5, SSHA, SHA, CLEARTEXT)  
     hash_encrypt="SSHA"  
     # 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"  
     # Domain appended to the users "mail"-attribute  
     # when smbldap-useradd -M is used  
     # Ex: mailDomain="idealx.com"  
     mailDomain="example.com"  
    



    • Configure los parámetros predeterminados  para cuentas de usuario y grupos Unix:

     # Login defs  
     # Default Login Shell  
     # Ex: userLoginShell="/bin/bash"  
     userLoginShell="/bin/false"  
     # Home directory  
     # Ex: userHome="/home/%U"  
     userHome="/home/%U"  
     # Default mode used for user homeDirectory  
     userHomeDirectoryMode="700"  
     # Gecos  
     userGecos="System User"  
     # Default User (POSIX and Samba) GID  
     defaultUserGid="513"  
     # Default Computer (Samba) GID  
     defaultComputerGid="515"  
     # 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="99999"  
    



    Nota: En este ejemplo se usa el valor 99999 para deshabilitar la expiración de contraseñas.


    • Configure la ruta y unidad para el montaje de el directorio home automáticamente en clientes windows a través del logon script:
     # 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="\\PDC\%U"  
     # 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-SMB3\profiles\%U"  
     userProfile="\\PDC\profiles\%U"  
     # 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"  
    

    • Llene el directorio LDAP con smbldap-populate  ejecutando el siguiente comando:


     # smbldap-populate  
    

    • Debería observar un resultado similar al siguiente:
     Populating LDAP directory for domain EXAMPLE (S-1-5-21-2911508632-2405292923-4115677068)  
     (using builtin directory structure)  
     entry dc=example,dc=com already exist.  
     adding new entry: ou=Users,dc=example,dc=com  
     adding new entry: ou=Groups,dc=example,dc=com  
     adding new entry: ou=Computers,dc=example,dc=com  
     adding new entry: ou=Idmap,dc=example,dc=com  
     adding new entry: uid=root,ou=Users,dc=example,dc=com  
     adding new entry: uid=nobody,ou=Users,dc=example,dc=com  
     adding new entry: cn=Domain Admins,ou=Groups,dc=example,dc=com  
     adding new entry: cn=Domain Users,ou=Groups,dc=example,dc=com  
     adding new entry: cn=Domain Guests,ou=Groups,dc=example,dc=com  
     adding new entry: cn=Domain Computers,ou=Groups,dc=example,dc=com  
     adding new entry: cn=Administrators,ou=Groups,dc=example,dc=com  
     adding new entry: cn=Account Operators,ou=Groups,dc=example,dc=com  
     adding new entry: cn=Print Operators,ou=Groups,dc=example,dc=com  
     adding new entry: cn=Backup Operators,ou=Groups,dc=example,dc=com  
     adding new entry: cn=Replicators,ou=Groups,dc=example,dc=com  
     entry sambaDomainName=EXAMPLE,dc=example,dc=com already exist. Updating it...  
     Please provide a password for the domain root:  
     Changing UNIX and samba passwords for root  
     New password:  
     Retype new password:  
    


    • Las herramientas smbldap-populate crean 5 grupos locales (built-in): Account Operators, Administrators, Backup Operators, Print Operators, Replicators, a estos grupos les agrega el atributo sambaGroupType con el valor 5, el tipo de grupo samba 5 es usado para grupos de dominio y no para grupos locales, para los grupos samba locales debe usar el tipo 4, más información sobre el bug ver el bug 5551 de samba y el bug td18119198 de smbldap-tools.

    Paso 13: Verificarión de la instalación de Samba y LDAP
    • Cree un usuario a nivel de sistema operativo y valide la solicitud de datos del schema LDAP.
    • Liste los usuarios de Samba:
     # pdbedit -Lv root  
     Unix username:    root  
     NT username:     root  
     Account Flags:    [U     ]  
     User SID:       S-1-5-21-2911508632-2405292923-4115677068-500  
     Primary Group SID:  S-1-5-21-2911508632-2405292923-4115677068-513  
     Full Name:      root  
     Home Directory:    \\PDC\root  
     HomeDir Drive:    H:  
     Logon Script:  
     Profile Path:     \\PDC\profiles\root  
     Domain:        EXAMPLE  
     Account desc:  
     Workstations:  
     Munged dial:  
     Logon time:      0  
     Logoff time:     never  
     Kickoff time:     never  
     Password last set:  Wed, 14 Jan 2009 10:50:24 CST  
     Password can change: Wed, 14 Jan 2009 10:50:24 CST  
     Password must change: never  
     Last bad password  : 0  
     Bad password count : 0  
     Logon hours     : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  
    

    • Cuando se realizó el llenado el directorio con smbldap-populate se creo la cuenta de usuario Windows de nombre root mapeada al administrador del dominio, realice una prueba de conexión utilizando la cuenta root del dominio, para esto debe utilizar la contraseña que se asigno al llenar el directorio con el comando smbldap-populate y no la contraseña del usuario root local.
     root@lab-addc1:/run/resolvconf# smbclient //localhost/netlogon -U Administrator  
     Enter Administrator's password:  
     Domain=[BLACK] OS=[Unix] Server=[Samba 4.1.6-Ubuntu]  
     smb: \>  
    


    • Pruebe realizando una conexión anónima al recurso compartido publico:
     root@lab-addc1:/etc/samba# smbclient //localhost/test_folder -N  
     Anonymous login successful  
     Domain=[BLACK] OS=[Unix] Server=[Samba 4.1.6-Ubuntu]  
     smb: \> quit  
    

    Nota: Si las pruebas anteriores no funcionan, deberá revisar su configuración desde cero.

    Paso 14: Administración de LDAP utilizando phpLDAPadmin
    • Instale phpLDAPadmin de acuerdo a su guía de instalación.
    • Accese a la herramienta de administración gráfica utilizando los redenciales de Base DN.
    • Administre los grupos y usuarios de manera gráfica.

    3 comments:

    1. This comment has been removed by the author.

      ReplyDelete
    2. Tengo la duda en el paso de samba cuando agrega el schema ldap no hay un paso previo la instalación de slpad de penldap por que? no puedo usar por lo mismo el grupo openldap como hago?

      ReplyDelete
    3. Hola, Jonathan.

      Agradecido por esta guía. La he estudiado y me ha ayudado bastante.

      Quería conocer tu opinión en lo siguiente. Según he investigado, cuando se corre Samba en rol AD-DC, el servicio LDAP que éste utiliza es un LDAP personalizado con esquemas específicos de AD, integrados monolíticamente al Samba. Entiendo por la teoría y por mi propia práctica que no tiene sentido seguir usando otro backend, en especial, Openldap. Tanto es así que cuando uno instala Openldap luego de haber instalado Samba AD, el primero no arranca correctamente precisamente por el hecho de que Samba AD es, entre otras cosas, un LDAP también. Quería preguntarte: en tu escenario, ¿qué papel juega Openldap?

      Mi proyecto radica en proveer un punto de acceso a recursos en la red tanto por computadores Windows como OSX. Me paseé por diversas fórmulas de Samba y estoy en este momento experimentando con Samba puro en rol ADDC: sin Openldap.

      A la espera de tus comentarios.

      Saludos.

      ReplyDelete