Configuración de PDC en Linux Debian Leny - Primary Domain Controller

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

    Para la autenticación utilizaremos OpenLdap, OpenLdap es una base de datos para directorios de acceso y lectura rapidos pero en detrimento a la velocidad para escribir.

    Esta base de datos se utilizan generalmente para la representación de directorios y arboles de dependendencias y para la representación de datos vinculadas con el organigrama de una empresa que rara ves se modifica.

    Recopilemos los datos antes de la instalación para estar listos una ves que nos pidan.

    Contraseña del admin de OpenLdap XXXXXXX

    Nombre del dominio miempresa.com

    Nombre de la Organización miempresa.com

    Motor de la Bases de datos LDAP. BDB

    Version de Ldap 2


    A partir de aquí nos haremos amigos de la consola de comandos.


    Instalaremos OpenLdap y Shells scripts de utilidad afines a Ldap

    # apt-get install slapd ldap-utils

    Nos pedira la contraseña del administrador de base de datos y le ingresamos la que anotamos arriba.


    Luego reconfiguraremos el paquete slip para ingresarle mas datos acerca del nombre del domino y la organización, ademas de introducir el motor de base de datos funcional al fomato de Berkeley y cuestiones de seguridad y copiado.


    # dpkg-reconfigure slapd


    Dato solicitado Dato a introducir

    Omitir la configuración de OpenLDAP no

    Nombre de dominio miempresa.com

    Nombre de organización Descripción de la empresa

    Contraseña del admin XXXXXXX

    Confirme la contraseña del admin XXXXXXX

    Motor de base de datos a utilizar BDB

    Borrar la base de datos al purgar slapd no

    Mover la base de datos antigua sí

    Permitir LDAP v2 sí


    Ahora comprobamos el buen funcionamiento de nuestra bd


    # ldapsearch -x -b "dc=miempresa,dc=com"


    Con esto buscamos cualquier entrada en la bd que contenga la entrada miempresa.com, nos debera de mostrar alguna información, luego de esto vamos a instalar el administrador visual de ldap que sera accesible via web. Instalamos el servidor apache con encriptación ssl


    # apt-get install apache-ssl


    Mientras se instala el paquete apache-ssl se le pedirá la siguiente información:

    Dato solicitado Dato a introducir

    Nombre del país PY

    Estado o provincia ÑE

    Localidad Pilar

    Nombre de la organización miempresa.com

    Nombre de la unidad organizativa info.miempresa.com

    Nombre del host pdc.miempresa.com

    Los datos que se introducira va de acuerdo al pais de localizacion, el estado y la ciudad en donde la empresa se desempeña.


    La encriptación ssl permitira tener mayor seguridad cada ves que administramos nuestro directorio ldap y ademas de darnos la certeza de que nuestros datos no estan siendo escuchados.


    Lego de esto instalaremos librerias de ldap hechas en phyton que nos permitira la administración mas eficiente del servidor. En la consola ejecutamos


    # apt-get install smbldap-tools


    Ahora sí es momento para instalar el phpldapadmin:

    # apt-get install phpldapadmin


    Luego hay que instalar una utilidad para hashear los password 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.


    En la consola ejecutar


    # wget http://juanpablo.netne.net/descargas/mkntpwd.tar.gz


    Descomprimimos

    # tar –xvf mkntpwd.tar.gz

    Nos vamos al directorio

    # cd mkntpwd


    Instalamos las librerias que haran posible compilar en debian, para ello ejecutamos.

    # apt-get install build-essential


    Luego de esto hacemos make para compilar


    # make


    Una vez compilado copiamos los ejecutables creados


    # cp mkntpwd /usr/local/bin


    Ya esta, ahora instalamos samba, el servicio que permitira coorer al Server como pdc


    # apt-get install samba samba-doc


    Se le pedira una serie de datos


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


    Luego de esto necesitamos configurar Openldap para que cargue el esquema de representación de datos compatibles con smaba para que este ultimo sea capaz de utilizar a ldap como backend.


    Para ello en la consola


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


    Utilizamos el archivo de schema que trae samba por defecto.


    Editamos el archivo de configuración de slapd.conf


    /# vi /etc/ldap/slapd.conf

    En el apartado de includes agregamos la sgte linea.


    /etc/ldap/schema/samba.schema


    Ahora necesitamos el password hasheado para slapd, para ello ejecutar


    ~# slappasswd

    New password: suclave ( La clave anotada desde un principio)

    Re-enter new password: suclave (Repita nomas)

    {SSHA}irPHhNbDt4WjBW5mzECBLGxnwM/CNzNm


    Este valor dado lo copiamos y luego volvemos al archivo de configuración de slapd


    /# vi /etc/ldap/slapd.conf

    En esta linea


    rootdn "cn=admin,dc=miempresa,dc=com"


    Agregamos una mas que representa al password de root hasheado para poder ingresar al directorio ldap


    rootpw {SSHA}irPHhNbDt4WjBW5mzECBLGxnwM/CNzNm


    Para reforzar la seguridad buscamos la linea


    access to attrs=userPassword,shadowLastChange


    y la cambiamos por


    access to attrs=userPassword,shadowLastChange,sambaLMPassword,sambaNTPassword


    Para que los atributos sambaLMPassword y sambaNTPassword NO sean accesibles a todos. Guardamos los cambios realizados en este archivo, reiniciamos el servicio de openldap .


    /# /etc/init.d/slapd restart



    Abrimos el explorador y tecleamos


    http://pdc.miempresa.com/phpldapadmin (recordemos ingresar un registro de tipo A para que pdc.miempresa.com tenga correspondencia en nuestro dns).


    En los campos

    Usuario --> cn=admin,dc=miempresa,dc=com
    Password --> suclave


    Si ingresamos es porque anda todo bien, luego de esto, hacemos un populate del directorio de la empresa, esto significa crear los ususarios y grupos uinicailes de nuestro directorio, ejecutamos el comando.


    # smbldap-populate


    Se creara los grupos y usuarios y se nos volvera a preguntar si mantenemos el password para lo cual reingresaremos suclave (Password anotado desde un principio), es importante manejar siempre un password para no dar lugar a olvidos catastroficos.


    Luego de esto es necesario crear los directorios para que samba pueda replicar los directorios de los usuarios de windows a Linux ademas de administrar otros recursos de redes, para ello en la consola.


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

    Ahora llego el momento de configurar samba para que haga todo lo que tenemos previsto, para ello editamos el archivo /etc/samba/smb.conf. Cada linea con el prefijo # indica comentario y su proposito es explicativo.

    Ejecutamos en la consola

    # vi /etc/samba/smb.conf

    Agregamos esto

    [global]

    ### Configuracion basica del servidor ###

    workgroup = miempresa.com #Asi se vera en la exploracion de la red

    netbios name = fderecho # Esto se difundira por la red avisando acerca del nuevo

    server string = Servidor de Archivos de Miempresa

    # socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=8192 SO_RCVBUF=8192

    ### Configuracion para que la maquina sea el PDC master ###

    os level = 65 # constituir preferencia por sobre otras maquinas de la red

    preferred master = yes # Indicamos que sera pdc

    local master = yes # lo anterior

    domain master = yes # Sobre PD

    domain logons = yes # Autenticable

    ### Configuracion de seguridad y conexion ###

    security = user # tipo de seguridad usuario y passdword

    guest ok = no

    encrypt passwords = true # Encriptación de password

    null passwords = no

    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 para la autenticación ###

    passdb backend = ldapsam:ldap://127.0.0.1

    ldap suffix = dc=miempresa,dc=com

    ldap machine suffix = ou=machines

    ldap user suffix = ou=users

    ldap group suffix = ou=groups

    ldap admin dn = cn=admin,dc=miempresa,dc=com

    ldap delete dn = no

    enable privileges = yes

    #;Para permitir a los usuarios cambiar su clave desde Windows

    ldap passwd sync = Yes

    passwd program = /usr/sbin/smbldap-passwd %u

    passwd chat = *New*password* %n *Retype*new*password* %n *all*authentication*tokens*updated*

    add user script = /usr/sbin/smbldap-useradd -m "%u"

    ldap delete dn = Yes

    delete user script = /usr/sbin/smbldap-userdel "%u"

    add machine script = /usr/sbin/smbldap-useradd -w "%u"

    add group script = /usr/sbin/smbldap-groupadd -p "%g"

    delete group script = /usr/sbin/smbldap-groupdel "%g"

    add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"

    delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"

    set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"

    server signing = auto

    server schannel = Auto

    domain logons = 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 drive = U:^Mlogon home = miempresa%U

    logon path = miempresaProfiles%U

    logon script = logon.bat

    ### Script para automatizar la adicion de cuentas de maquinas ###

    ### al arbol LDAP cuando estas se unan por primera vez al dominio ###

    ### 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

    # Para los recursos compartido y sincronización


    [homes]

    comment = Home Directories

    valid users = %S

    read only = No

    browseable = No


    [netlogon]

    comment = Network Logon Service

    path = /var/lib/samba/netlogon

    admin users = root

    guest ok = Yes

    browseable = No


    [Profiles]

    comment = Roaming Profile Share

    # would probably change this to elsewhere in a production system ..

    path = /var/lib/samba/profiles

    #Agregado el dia 29

    create mask = 0777

    directory mask = 0777

    #Fin de Agregacion

    read only = No

    #Cambiado de yes a No

    profile acls = No

    #Fin de cambio

    browsable = Yes


    [printers]

    comment = All Printers

    path = /var/spool/samba

    use client driver = Yes

    create mask = 0600

    guest ok = Yes

    printable = Yes

    browseable = No

    public = yes

    writable = yes

    admin users = root

    write list = root



    Una ves editado el archivo y puestos los valores acorde a nuestro entorno guardamos el archivo y reinicializamos el servicio de samba.


    Hacemos un testeo para cooroborar las lineas del conf de samba


    :/# testparm

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

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


    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:

    # 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. Recordemos que para reconfigurarlo debemos ejecutar el siguiente comando:

    # dpkg-reconfigure libnss-ldap

    Dato solicitado --> Dato a introducir

    Servidor de LDAP --> 127.0.0.1
    Nombre distintivo (DN) --> dc=miempresa,dc=com
    Versión de LDAP --> 3
    Se requiere usuario para la base de datos LDAP --> no
    Privilegios especiales de LDAP para root --> sí
    Configuración leíble y escribible sólo para el propietario --> sí
    Cuenta LDAP para root --> cn=admin,dc=miempresa,dc=com
    Contraseña para la cuenta LDAP de root --> suclave --> La misma del admin desde un principio

    /# 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:

    /# 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:

    # 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:

    # 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:

    # 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=miempresa,dc=com
    Versión de LDAP --> 3
    Make local root Database admin --> sí --> La pregunta venía en Inglés
    Se requiere usuario para la base de datos LDAP --> no
    LDAP account for root --> cn=admin,dc=miempresa,dc=com --> La pregunta venía en Inglés
    Contraseña para la cuenta LDAP de root --> suclave --> La misma del admin desde el principio
    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:

    # 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:

    # 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:

    /# 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:

    /# apt-get install nscd

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

    /# /etc/init.d/samba restart

    Finalmente para adicionar usuarios via comando

    # smbldap-useradd -a -G 512 -m -s /bin/false -d /bin/null -F "" -P nombre_usuario

    En donde nombre_usuario es el nombre que qeuremos adicionar

    Luego

    # net -U root rpc rights grant nombre_usuario SeMachineAccountPrivilege

    Le otorgamos permiso para la creación de maquinas al usuario.

    Uniendo máquinas a nuestro dominio Samba

    Es evidente que si un usuario se loguea tambien lo debera hacr su computadora, asi que existira un registro de la computadora utilizada por el usuario.

    NOTA: nuestro archivo de configuración Samba está hecho para que las cuentas de máquina sean agregadas de manera automática. 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.

    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:

    # cd /usr/share/doc/smbldap-tools/examples

    # cp smbldap.conf.gz smbldap_bind.conf /etc/smbldap-tools:/# cd /etc/smbldap-tools
    # gunzip smbldap.conf.gz

    # chown root:root *
    # 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=miempresa,dc=com"
    slavePw="suclave"
    masterDN="cn=admin,dc=miempresa,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. 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 clickar 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="miempresa.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=miempresa,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=MIEPRESA.COM y en el espacio de la derecha vamos a buscar donde está el o los atributos tipo objectClass

    Fuente: http://juanpablo.netne.net/index.php/en/manuales-linux/item/66

    © 2024 SomosLIbres.org. All Rights Reserved. Contacto: admin @ somoslibres.org
    Esta obra está bajo una licencia de Creative Commons Attribution-Share Alike 4.0 International License.
    | Buscar en el Sitio |Política de Privacidad|

    Please publish modules in offcanvas position.

    hacklink al dizi film izle film izle yabancı dizi izle fethiye escort bayan escort - vip elit escort erotik film izle hack forum türk ifşa the prepared organik hit link w88w88w 88www.arabaoyunu.org/grandpashabet xslotSahabeterotik film izlemarsbahis adresdumanbetw88افلام سكسفيلم سكسporno izlepornodeneme bonusu veren siteler30 tl bonus veren sitelerkaradağ şirket kurmaknakitbahis girişcreate openbook market idtipobet girişonwinMatbetSahabetOnwinMeritkingBahsegelTipobetTarafbetVdcasinoMariobetBetebetPusulabetUltrabetMostbetücretsiz pornoCasinoplus girişmatbetJOJOBETpusulabetbetsatpusulabetjojobetmatbetdinamobetdinamobetportobetSuperbahisdeneme bonusu veren sitelerbetewinmatbet+18 filmbetibomjojobet güncel girişpusulabet girişmatadorbetkaradağ oturum iznibetkanyonasyabahismatbet girişrulet taktikleriholiganbetmeritkingmatadorbet girişsahabet-guncel.orgbetturkeyegir.comzbahis.cczbahis.inkdeneme bonusu veren sitelermarsbahisDownload IDMmarsbahis girişsetrabetcasibom güncel girişpadişahbetcasibomromabetmatadorbetvirabet giri?mariobet güncelCasibomjojobetgalabethermesbetcasibomnude aiDenizli evden eve nakliyatbetsinakülü vidalamageceliksazanhd film cehennemiVirabet GiriÅŸbeylikdüzü escortcasibomjojobet girişbahiscasinobypuffparibahismeritkingholiganbetsupertotobetMerit Royal Giriş - Meritking GirişbetistbahiscomSahabetmatadorbetyouwinkolaybet girişBorsa robotu satın al casibom girişbetebetcasibomcasibom girişmariobetbursa kiralık dairecasibom güncel girişmeritking 1136kolaybetkolaybetBetparkjojobetbetturkeyultrabetbetebetfixbetfixbetpadişahbet girişighttps://my-alfred.de/hkf-ABHPvfgqhttps://nvcluster.de/hkf-exYJUJIthttps://nvcluster.de/hkf-ZFnXCApnhttps://nvcluster.de/hkf-CwXmsZCghttps://nvcluster.de/hkf-hvWzNIfWhttps://my-alfred.de/hkf-ThHBYcuZhttps://nvcluster.de/hkf-zlsJHsehhttps://nvcluster.de/hkf-RsFmXbuMhttps://my-alfred.de/hkf-QPjEMVmOhttps://my-alfred.de/hkf-jtCvHRgfhttps://media-servers.de/hkf-cVeuwLjbhttps://my-al" title="XvPA">XvPAbetsatcasinolevantpornoTumblr Hesap SatışıbetorspinholiganbetBuy Weed Online in Canadabetkomankara vidanjörkolaybetcasinolevantcasinolevantcasinolevantBuy Weed Online in CanadaMarsbahisbetturkeyGrandpashabet casinolevantcasibom girişBetparkbetciocasinolevantcasinolevantmeritkingJojobetbayrampaşa masajgalabetcasibomBetturkeyizmir escortngsbahis girişjojobetwinxbetbetexperbetmariosultanbetlunabetmilanobetpiabetaresbetbetwoonmavibetbetsmovegoldenbahisbetparkbetnanosuperbetinvevobahisparibahisgalabetultrabet twitterdeneme bonusu veren sitelerdeneme bonusu veren sitelersüperbahisfreeporn46.comKolaybetKolaybet girişJojobetbetturkeyholiganbetiptvyalama taşımarsbahismatbetjojobetholiganbetBets107slotsBasaribetjojobet girişUltrabetmatbetimajbetsekabetdumanbetsahabetholiganbetDeneme BonusuBets10grandpashabet Jojobetmeritking girişcasibom girişcasibom giriş güncelcasibomjojobet giriş günceljojobet giriş günceldeneme bonusuBets10xslotdizipalcasibomcasinolevantcasinolevantcasinolevantmeritking girişAvukat Webpumabetmeritkingbetgar girişcasibomcasinolevantbetbababetivosultanbet girişbtcbahiscasinomegabetbaba girişdeneme bonusu veren sitelercasino sitelericins kedi sahiplenme ücretsizfixbetwinpapelmarsbahisdumanbetholiganbetjojobetmarsbahissahabetnakitbahismatadorbetonwinsekabetmatbetimajbetCasino siteleriMeritkingbetmatikgrandpashabetbahiscom güncel girişromabetromabetromabetromabetholiganbetportobetsuperbetinbetgitholiganbetmarsbahisHoliganbetvdcasinoholiganbetbetgit giriş jojobetcratosslotgrandbettingcasibommaltepe kombi servisiholiganbetpusulabetpusulabetultrabetasyabahisbetvoledinamobeteşya depolamaXslotXslotbetkomtruvabet free spincasibomcasibom girişbetsilvasetrabet girişpusulabetOnwin GirişOnwinOnwin GirişDumanbetsahabetbetkom girişmatadorbet twittermarsbahisvaycasinomatadorbetmeritkingSahabetonwinSahabetgrandpashabetOnwinOnwinkalebetsawcratosslotjojobetnakitbahiskralbetbetkanyonbets10matbetpadişahbetklasbahisbetciobetciokingbettingorisbetmariobetbetkanyontarafbetbahsegelbahsegel giriş12betsekabetgrandpashabetgrandpashabet girişholiganbet girişcasibomcasibomcasibom girişbahiscomdumanbet1xbet1xbet girişBets10pusulabetbetgit girişmariobetmariobetcasibom girişjojobetby casinobetewinmarsbahisimajbetmatbetonwinsekabetsahabetgrandpashabetmatadorbetcasinomaxijojobet girişjojobet güncelbettiltmatbetbets10jojobetdeneme bonusu veren sitelerdeneme bonusu veren sitelerdeneme bonusu veren sitelerdeneme bonusu veren sitelerdeneme bonusu veren sitelerdeneme bonusu veren sitelerdeneme bonusu veren sitelerdeneme bonusu veren sitelerdeneme bonusu veren sitelerdeneme bonusu veren sitelerdeneme bonusu veren sitelerdeneme bonusu veren sitelerdeneme bonusu veren sitelercasibomCasibommarsbahissahabetsahabet girişmatadorbetpiabellacasinoextrabetsekabetsekabet giriş