Vous êtes sur la page 1sur 132

Instalacin de un

servidor SAMBA en
dominio y recursos
compartidos
Sobre Linux
Este manual describe la implementacin de un servidor
Controlador de Dominio con Samba y OpenLDAP en Ubuntu
Server o Ubuntu 12.04

Indice
Resumen ................................................................................................................................................... 1
Caracteristicas Generales ..........................................................................................................................
2
Capitulo 1. Caractersticas para Entornos Unix/Linux ............................................................................... 4
Caractersticas para Entornos Windows ............................................................................................... 5
Capitulo 2. Estructura del Arbol de Directorio (DIT) ................................................................................. 6
Captulo 3. Requerimientos de Software .................................................................................................. 8
Su rootInstalacin y Configuracin del servidor OpenLDAP ................................................................. 9
Configuracin Inicial del servicio slapd ............................................................................................... 16
Agregando los esquemas (schemas) necesarios ................................................................................. 18
Configurando las Listas de Control de Acceso (ACLs) ......................................................................... 20
Configurando los Indices de atributos ms usados ............................................................................ 21
Configuracin de los Registros de Eventos (logs) del servidor Slapd ................................................. 21
Configuracion de los logs en OpenLDAP ............................................................................................. 22
Configuraciones para sysklogd ............................................................................................................ 23
Configuraciones para syslog-ng ............................................................. Error! Bookmark not defined.
Configuracin de los lmites de consulta y conexin .......................................................................... 25
Revisin de permisos en archivos y directorios de Configuracin ..................................................... 25
Ejecutando una revisin sintactica del archivo de configuracin slapd.conf ..................................... 26
Capitulo 4. Iniciando el servidor slapd y haciendo Pruebas Preliminares .............................................. 27
Controlando el servicio Slapd ............................................................................................................. 29
Recursos adicionales ............................................................................................................................... 30
Sitios web ............................................................................................................................................ 30
Paginas de manual .............................................................................................................................. 30
Captulo 5. Configuracin del Cliente LDAP ............................................................................................ 31
Captulo 6. Configuracin de Samba y las herramientas smbldap-tools ................................................ 32
Instalacin y configuracin del servidor Samba ................................................................................. 32
Configuracines de Samba para Controlador de Dominio ................................................................. 33
Parametros Globales del servidor Samba ........................................................................................... 33
Configurando la autentificacin para el controlador de dominio ...................................................... 34
Configuracines del registro de eventos (logs) del servidor Samb ..................................................... 34

Configuraciones de Red para el servidor Samba ................................................................................ 35


Configurando los Parametros para Controlador de Dominio ............................................................. 35
Parametros para interaccin con el servidor LDAP ............................................................................ 35
Configuraciones de Codificacin y Charset ......................................................................................... 36
El recurso compartido especial [homes] ............................................................................................. 36
El recurso compartido especial [netlogon] ......................................................................................... 37
El recurso compartido especial [profiles] ........................................................................................... 38
El recurso compartido publico ............................................................................................................ 39
Realizando una Revisin Sintactica del archivo de configuracin smb.conf ...................................... 39
Especificando la contrasea del ldap admin dn .................................................................................. 40
Instalacin y Configuracin de las smbldap-tools ............................................................................... 40
Llenando el Directorio LDAP con smbldap-populate .......................................................................... 45
Verificando la instalacin y configuracin de Samba y LDAP ............................................................. 48
Probando Samba con Cuentas en el Directorio LDAP ......................................................................... 48
Verificando el mapeo del grupos unix a grupos Samba ...................................................................... 50
Probando conexiones al servidor Samba usando cuentas en LDAP ................................................... 51
Captulo 7. Configuracin de la resolucin de Identidades con NSS_LDAP ............................................ 52
Captulo 8. Configuracin de la Autenticacin con PAM_LDAP .............................................................. 57
Introduccin a los Modulos de Autenticacin PAM ........................................................................... 57
Respaldando la configuracin de PAM ............................................................................................... 59
Configurando los modulos de autenticacin PAM con LDAP ............................................................. 59
Configuracin del modulo auth .......................................................................................................... 59
Configuracin del modulo account ..................................................................................................... 59
Configuracin del modulo session ...................................................................................................... 60
Configuracin del modulo password .................................................................................................. 60
Instalando el modulo Cracklib de PAM ............................................................................................... 60
Probando la autenticacin de usuarios de sistema va PAM_LDAP ................................................... 61
Captulo 9. Migracin de usuarios y grupos Unix/Posix al directorio LDAP ............................................ 64
Migracin de Usuarios (/etc/passwd y /etc/shadow) ........................................................................ 65
Migracin de Grupos (/etc/group) ...................................................................................................... 66
Captulo 10. Administracin de cuentas Unix y Samba va smbldap-tools ............................................. 67
Introduccin ........................................................................................................................................ 67

Atributos predefinidos para la creacin de usuarios .......................................................................... 67


Creacin de cuentas de usuarios ........................................................................................................ 67
Eliminacin de cuentas de usuarios .................................................................................................... 70
Cambiando la contrasea de un usuario ............................................................................................ 71
Modificacin de cuentas de usuario ................................................................................................... 71
Administracin de Grupos de Sistema y Grupos Samba ..................................................................... 75
Captulo 11. Tareas de Mantenimiento de OpenLDAP y Samba ............................................................ 78
Cambiar o asignar contrasea al Root DN de OpenLDAP ................................................................... 78
Agregar nuevos indices de atributos en OpenLDAP ........................................................................... 80
Respaldar los archivos de configuracin de OpenLDAP ..................................................................... 81
Respaldar y Restaurar una base de datos de OpenLDAP (OPCIONAL) ............................................... 82
Respaldando archivos importante de Samba ..................................................................................... 84
Respaldando el SID del Dominio Samba ............................................................................................. 84
Captulo 12. Integrando Clientes Windows al Dominio Samba .............................................................. 85
Requerimientos del sistema ............................................................................................................... 85
Configuracin de los parmetros de red en el equipo Windows ....................................................... 86
Uniendo el equipo Windows al Dominio Samba ................................................................................ 93
Como Iniciar Sesin el Dominio Samba ............................................................................................ 106
Como permitir que un usuario cambie la contrasea de dominio ................................................... 110
Como mapear una unidad de disco en red al directorio home en el servidor ................................. 112
Como compartir archivos en la red a usuarios y grupos de dominio ............................................... 115
Como habilitar el uso de scripts de inicio de sesin en un dominio Samba ..................................... 121
Captulo 13. Integrando Clientes Linux/Unix al Dominio Samba .......................................................... 123
Informacin preliminar del equipo cliente Linux .............................................................................. 123
Instalando el software necesario para unir cliente Linux a Dominio LDAP ...................................... 123
Configurando la resolucin de cuentas de usuario y grupos mediante LDAP en clientes Linux ...... 123
Configurando la Autorizacin de cuentas de usuario y grupos mediante LDAP en clientes Linux con
PAM
...................................................................................................................................................
125
Configurando resolucin de cuentas de dominio mediante Samba ................................................. 126
Autenticacin de usuarios y grupos de dominio Samba en clientes Linux ....................................... 126
Montaje automtico de carpetas compartidas mediante pam_mount ........................................... 128
Carpetas compartidas con ACL a usuarios y grupos de dominio ...................................................... 130

Autenticando cuentas de usuario de dominio de forma desconectada ........................................... 131

Resumen
Este manual describe la implementacin de un servidor Controlador de Dominio con Samba y OpenLDAP
en Ubuntu Server, el controlador de dominio servir para administrar de forma centralizada las cuentas
de usuario y grupo para sistemas Unix y GNU/Linux y tambin para cuentas de usuario, grupos, y
computadoras de confianza para sistemas Windows. En la implementacin se describe un entorno
hetereogeneo conformado por servidores GNU/Linux y clientes mixtos GNU/LInux y Windows. Se ven los
procedimientos para administrar las cuentas de usuario y grupos Unix/Linux y Windows, as como la
integracin de clientes Unix/Linux y Windows al dominio y algunas tareas operativas sobre los miembros
del dominio.

El controlador de dominio basado en Samba y OpenLDAP ofrece los siguientes principales


beneficios:

Controlar el inicio de sesin local (Autenticacin/Autorizacin) a sistemas GNU/Linux y


Windows con controles de acceso basado en cuentas de usuarios y grupos centralizados en
el servidor controlador de dominio.
Centralizar la administracin de cuentas de usuario y grupos Unix/Linux, Windows y otras
aplicaciones con soporte LDAP.
Centralizar la autenticacin y los controles de acceso por usuarios y grupos para recursos
compartidos en clientes o servidores GNU/Linux y/o Windows.

Caracteristicas Generales
La implementacin aqu descrita es para una red de computadoras ficticia de una empresa de
tamao pequeo/mediano. La instalacin del servidor controlador de dominio se realiza en la
distribucin Ubuntu Server 8.04 LTS amd64, el servidor solo tiene una interfaz de red conectado
al switch de la red local.
La Informacin de la red de la empresa EXAMPLE S.A. de C.V se describe a continuacin:
Dominio Samba/NT: EXAMPLE.
Dominio DNS: example.com.
Nombre NetBIOS del servidor PDC: PDC.
Nombre DNS FQDN: pdc.example.com.
Direccin IP de red para el dominio EXAMPLE : 192.168.1.0/24.
Direccin IP del servidor PDC: 192.168.1.3.
Direccin IP del gateway para la red LAN: 192.168.1.254.
Direccin IP del servidor DNS primario: 192.168.1.253.
Direccin IP del servidor DNS secundario: 192.168.1.254.
Direccin IP del servidor WINS: 192.168.1.3.
Es escencial tener a la mano la informacin de nuestra implementacin ya que ser utilizada en
capitulos/secciones posteriores. En el siguiente diagrama se describe la red: Figura 2.1. Mapa de
red Example

Como podemos ver en el diagrama anterior, la red ficticia de la empresa EXAMPLE usa un
esquema clsico, una red local con PCs, Laptops, impresoras y algunos servidores, contando un
firewall que da salida a Internet.
En las siguientes secciones se describen las caracteristicas de la implementacin especficas para
los diferentes entornos.

Capitulo 1. Caractersticas para Entornos Unix/Linux


En esta seccin se describen las funcionalidades que podremos obtener al implementar un servidor
Centralizado de Autenticacin para redes Unix o GNU/Linux.
Para entornos basados en sistemas Unix como GNU/Linux tendremos las siguientes
funcionalidades:

Servidor de Autenticacin Centralizada, la base de datos de usuarios, contraseas y grupos


estar almacenada en un directorio LDAP remoto lo cual permite centralizar y simplificar
la administracin de cuentas de que normalmente esta almacenada en los archivos
/etc/passwd, /etc/shadow y /etc/group en redes con sistemas Unix o GNU/Linux.
Este tipo de implementacin permite reemplazar dominios NIS para autenticacin
centralizada tanto para sistemas Unix y Linux.
En los equipos clientes no se crearan cuentas locales, ya que estn en el servidor LDAP, la
resolucin de nombres de usuarios (UID->Usernames), grupos (GID->Grupos) ser
manejada por las herramientas NSS_LDAP, NSS_LDAP buscar los usuarios y grupos en
el servidor LDAP central.
La autorizacin a los diferentes servicios locales (login, KDM, su, sudo, ssh, samba, cron,
cups) ser manejada por los mdulos de autenticacin PAM_LDAP, mediante estos
mdulos PAM decidir si se autoriza el acceso al usuario de acuerdo a sus credenciales, si
son vlidas se le autoriza el servicio, si no, entonces se deniega el servicio.
La pertenencia a grupos para manejar los permisos y accesos se har centralizado en el
servidor LDAP. Mediante PAM se podr otorgar privilegios a algunos servicios de acuerdo
al grupo que pertenece el usuario, estos permisos se reflejaran de forma transparente para
los usuarios locales.
La misma base de usuarios centralizada podr servicio para autenticar otro tipo de
aplicaciones: Squid, Apache, Correo Electrnico, Mensajera Instantnea, etc.
Soporte para netgroups de NIS, mediante netgroups usted podr crear diferentes
restricciones de acceso sobre los equipos, basados en direccin IP, usuario, grupo.
Fcil integracin con servicios de comparticin de archivos como NFS y/o Samba para
centralizar el almacenamiento de los directorios $HOME de los usuarios.
Se usar un mismo usuario y grupo para autenticarse a los diferentes servicios de red y no
se tendrn que tener cuentas repetidas en varios servidores, esto conlleva a una
administracin centralizada.
Soporte para replicacin de la base de datos de usuarios mediante replicacin LDAP, se
pueden poner ms de un servidor esclavo en la red para balancear las cargas y tener alta
disponibilidad.

Adems del soporte para centralizar la administracin de cuentas de usuarios y grupos en un


directorio LDAP como OpenLDAP y el soporte de autenticacin/autorizacin de NSS_LDAP y
PAM_LDAP y administracin de permisos de acceso a recursos de red para entornos Unix/Linux,
es posible agregar soporte para cuentas de usuarios y grupos de redes Windows, en especfico
cuentas de dominio tipo NT4. Esta integracin permitir acceder a los recursos de la red desde
sistemas con diferentes sistemas operativos.
4

Caractersticas para Entornos Windows

En esta seccin describiremos que funcionalidades obtendremos al configurar un servidor Samba


como Controlador de Dominio para Redes MS Windows. La mayora de las funcionalidades
descritas a continuacin solo podrn ser implementadas en Sistemas Operativos MS WIndows XP
Pro o superior.
Para entornos basados en Sistemas Clientes Windows tendremos las siguientes funcionalidades:

Servidor Centralizado para cuentas de red (Controlador Primario de Dominio - PDC).


Servidor de archivos.
Servidor de Impresoras (Integrado con CUPS).
Soporte para Politicas de Sistema al estilo NT usando poledit (el editor de politicas de
sistema).
Esta caracterstica permite controlar los permisos que el usuario tiene sobre un equipo
Windows, entre las caractersitcas principales se encuentran:
o

Permite/restringe que los usuarios de Dominio puedan cambiar las configuraciones


del Escritorio de Windows. o Permite/restrige que los usuarios puedan cambiar las
configuraciones de red de
Windows
Permite/restringe que los usuarios puedan entrar al Panel de Control de Windows o
Se pueden definir que aplicaciones puede usar el usuario en su estacin de
trabajo.

Nota
Este tipo de polticas pueden ser aplicadas de forma global, (para todos los usuarios del
dominio) por usuario por grupo de Domino.

Soporte para ejecucin de scripts de inicio de sesin (Logon Scripts)


Esta caracterstica permite que cada que vez que un usuario inicie sesin en el Dominio
pueda ejecutar un scripts de inicio (.bat, .vbs) donde se pueden hacer varias tareas, entre
ellas:
o
o

Sincronizar el reloj del sistema con el reloj del servidor de dominio (net time)
Instalar aplicaciones de forma desatendida (usando WKPG) o Mapear unidades
de red automaticamente o Instalar Impresoras en red de forma desatendida en el
equpo local

Nota
Estas opciones se pueden aplicar a nivel global, por usuario o por grupo.
5

Restriccin por usuario o grupo a carpetas compartidas en red.


o

Con esta funcionalidad se pueden crear listas de control de acceso (ACL por sus
siglas en Ings) para permitir no el acceso a ciertas carpetas compartidas en red,
esta restriccin se puede aplicar por usuario o por grupo, as, por ejemplo, solo los
usuarios del grupo Contabilidad y la directora podrn entrar a la carpeta compartida
"contabilidad" y podrn: crear, modificar, borrar archivos o directorios dentro de
dicha carpeta compartida. o Adems se pueden tener permisos ms granulares en
cuanto a los accesos de los archivos y directorios dentro de las carpetas
compartidas, por medio de ACLs. Soporte para Perfiles Mviles (Roaming
Profiles) para clientes Windows.

Con esta caracterstica se puede almacenar el perfil del usuario en un servidor de red, y as,
cada vez que un usuario de dominio inicia sesin en un equpo podr tener sincronizado su
perfil disponible en cualquier equpo en el que inicie sesin.

Soporte para tener ms de un servidor Controlador de Dominio de Respaldo (BDC) por lo


obtendr replicacin de la SAM y alta disponibilidad. En caso de que el servidor PDC no
este disponible el servidor BDC se encargar de las tareas de autenticacin y comparticin
de archivos.

Antes de continuar es importante recordar que la informacin de cuentas de usuario y grupos tanto
para cuentas Unix/Linux o Windows se almacenarn en un directorio LDAP en una estructura de
rbol especfica, en la siguiente seccin veremos la estructura de rbol del directorio LDAP.

Capitulo 2. Estructura del Arbol de Directorio (DIT)


En la jerga LDAP, la estructura del rbol de directorio se define utilizando el termino DIT
(Directory Information Tree) Arbol de Informacin del Directorio.
El DIT en un servidor LDAP normalmente se esquematiza utilizando la estructura de rbol, donde
las ramas del arbol pueden ser contenedores de informacin, en done puede contener otras entradas
o ms ramas/contenedores, por ejemplo una rama para almacenar cuentas de usuario, otra rama
para almacenar grupos, etc. Cada entrada en el rbol posee un identificador nico llamado
Distinguished Name o DN.
El primer paso para disear el DIT es definir el Base DN, el Base DN es el nivel ms alto en el
rbol de directorio, es decir, la base o raz del directorio.
En nuestro caso el Base DN ser definido utilizando los llamados DC Domain Components,
similar a la estrucura del Sistema de Nombres de Dominio (DNS).
A grandes rasgos nuestro DIT quedar como se muestra en la siguiente figura:

Figura 2.2. Diagrama DIT

En la figura de arriba de define:

dc=example,dc=com: Raz del directorio


ou=Users: Contenedor para almacenar cuentas de usuario para sistemas Linux/Unix y
Windows
ou=Computers: Contenedor para las cuentas de Computadoras (Trusted Machine
Accounts) para sistemas Windows
ou=Groups: Contenedor para alamacenar Grupos de sistema para sistemas Unix y
Windows

Este DIT sigue las recomendaciones de el RFC 2307bis. No usamos ou=Hosts para almacenar
cuentas de computadoras ya que hay una diferencia entre hosts TCP/IP y cuentas de computadoras
Microsoft Windows. Usamos el contenedor ou=DSA para almacenar cuentas de seguridad
especficas para clientes LDAP).
No es obligatorio utilzar este DIT para tu propia implementacin, ms sin embargo, se recomienda
seguir estas recomendaciones para la configuracin inicial, en instalaciones posteriores podrs
adaptar el DIT y las configuraciones a tu gusto.

Captulo 3. Requerimientos de Software

La implementacin de este documento ser hecha en la distribucin Ubuntu Server Hardy 8.04, la
mayora de los pasos podrn implementarse en Ubuntu Gutsy, a excepcin de las configuraciones
de NSS_LDAP y PAM_LDAP ya que en Hardy se consolido el archivo de configuracin de
ambos.
Instalaremos el siguiente software:
7

OpenLDAP 2.4.9-0ubuntu0.8.04.1
OpenLDAP es una implementacin libre de los protocolos LDAP.
Samba 3.0.28a-1ubuntu4.7
Samba es la implementacin libre de los protocolos SMB/CIFS el cual funcionar como
servidor Controlador de Dominio usando como base de informacin un directorio LDAP,
adems servir como servidor de impresoras y archivos.
smbldap-tools 0.9.4-1
Herramientas para administrar cuentas Unix/Posix y Samba almacenadas en un servidor
OpenLDAP
libnss-ldap 258-1ubuntu3
NSS son las bibliotecas de resolucin de entidades, servirn para resolver nombres de
usuarios a UID y viceversa, as como nombres de grupos a GID y viceversa usando como
fuente de informacin el directorio LDAP.
libpam-ldap 184-2ubuntu2
PAM son los modulos de autenticacin/autorizacin para otorgar permisos de acceso a
diferentes servicios locales (login, KDM, su, sudo, ssh, samba, cron, cups, etc.) usando
como fuente de informacin el servidor LDAP.
Es importante notar que todo el software usado es libre, todos en su mayora con licencias GPL.

Su rootInstalacin y Configuracin del servidor OpenLDAP

En esta seccin instalaremos y configuraremos un servidor OpenLDAP junto con las herramientas
de administracin y cliente. La instalacin inicial la realizaremos con el asistente de instalacin de
APT.

root@pdc:~# apt-get install slapd ldap-utils


(...)
(...)
(...)
Setting up slapd (2.4.31-1+nmu2ubuntu8) ...
Creating new user openldap done.
Creating initial configuration... done.
Creating LDAP directory... done. Starting
OpenLDAP: slapd.
Setting up ldap-utils (2.4.31-1+nmu2ubuntu8) ...
Processing triggers for libc-bin ...

Cuando se instala el paquete slapd al final nos lanzar un asistente de configuracin del servicio
slapd, ser ver como en la siguiente pantalla:

Aunque despues vamos a reconifgurar el servidor OpenLDAP (slapd), ingresaremos una


contrasea para el usuario administrador del servidor LDAP:

Administrator passwd: uacj


Confirm passwd: uacj
El asistente post instalacin automticamente nos configurar un directorio usando el Base DN en
base al nombre de dominio que tenga configurado nuestro servidor.
9

Se recomienda reconfigurar el paquete slapd para una configuracin ms personalizada, para


reconfigurar el paquete slapd usamos el comando:
root@pdc:~# dpkg-reconfigure -plow slapd

Al reconfigurar el paquete slapd se lanzar el mismo asistente que vimos atras, pero en este caso
ser reconfigurado desde cero.
La primer pantalla nos pregunta si queremos omitir la configuracin inicial del servidor slapd,
contestaremos: NO

10

Despues, nos pregunta el nombre de dominio con el que queremos configurar nuestro arbol de
directorio, este nombre de dominio ser configurado con la base de nuestro directorio (Base DN)
o la base de busqueda de nuestro directorio (Search Base).
Si ingresamos el nombre de dominio example.com entonces en formato Domain Component (DC
por sus siglas en Ingls) nos pondr nuestra base as: dc=example,dc=com.

11

A continuacin nos pregunta el nombre de la organizacin para la que configuraremos el directorio


LDAP. Ingresaremos: Example S.A. de C.V.

Despues de configurar el nombre de dominio y la organizacin nos pide ingresar una contrasea
para el usuario Administrador del directorio LDAP, en este caso el Distinguished Name (DN por
sus siglas en Ingls) de la cuenta ser: cn=admin,dc=example,dc=com, usaremos la contrasea:
uacj
12

Ahora confirmaremos la contrasea para el Administrador del servidor LDAP, usaremos la misma
que se ingreso arriba: uacj

En este paso seleccionaremos el tipo de base de datos (data store) en el que almacenaremos la informacin de nuestro
directorio, utilizaremos el tipo HDB la cual es la opcin recomendada por Ubuntu y por el equipo de desarrollo de
OpenLDAP, anteriormente se recomendaba el tipo BDB pero se han encontrado razones por las cuales no se
recomienda BDB y esas mismas razones son las que han convencido de considerar como pastura el BDB Data Store
para OpenLDAP, podemos encontrar la referenca sobre los problemas presentados en BDB en la siguiente articulo
The King is Dead, Long Live the King.

13

En el siguiente paso nos pregunta si deseamos eliminar la base de datos del directorio cuando
purguemos el paquete slapd, contestaremos: No

Importante
No seleccione la opcin Yes ya que si por error desinstalamos el paquete slapd no perderemos
la base de datos del directorio /var/lib/ldap y podremos recuperar nuestra instalacin
usando dichos archivos.
Si por alguna razn ya existia una base de datos de una instalacin anterior (como en nuestro caso
de re instalacin) el asistente nos pregunta si deseamos mover la base de datos vieja a un directorio
de respaldo (/var/backups/), elejimos la opcin Yes.
14

Y por ultimo nos pregunta si deseamos permitir conexiones al servidor LDAP usando la version
obsoleta del protocolo LDAP 2, por defecto esta desactivado, se recomienda no activarlo ya que
las todas aplicaciones que usaremos usan la versin 3 del protocolo LDAP, as que contestaremos:
No

Cuando el asistente termina de configurar los parametros especificados veremos en la salida de la


consola un mensaje como el siguiente:
15

Stopping OpenLDAP: slapd.


Moving old database directory to /var/backups:
- directory unknown... done.
Creating initial slapd configuration... done.
Creating initial LDAP directory... done.
Reloading AppArmor profiles : done.
Starting OpenLDAP: slapd.

La salida anterior nos dice que detuvo el servicio slapd, hizo un respaldo de la base de datos anterior
en el directorio /var/backups, regener un archivo de conifguracin en base a nuestras respuestas,
inicializa un directorio basico e inicia el servidor slapd con la nueva configuracin y el nuevo
directorio.
En la siguiente seccin veremos como configurar el servidor slapd para nuestros propositos.
Configuracin Inicial del servicio slapd

Cuando instalamos el paquete slapd se cre un grupo y un usuario de nombre openldap, con los
privilegios de este usuario y grupo ser con los que se ejecutar el demonio slapd, as mismo, los
archivos y directorios que utilicemos en nuestra instalacin debern de pertenecer a este usuario y
grupo.
Verificaremos que se creo un grupo de nombre openldap:
root@pdc:~# grep ldap /etc/group openldap:x:130:

Como vemos, nos creo el grupo openldap y tiene el GID: 130 Ahora
confirmaremos que el usuario openldap fue creado:
root@pdc:~# grep ldap /etc/passwd openldap:x:121:130:OpenLDAP Server
Account,,,:/var/lib/ldap:/bin/false

Como vemos nos creo el usaurio openldap, con el ID de Usuario (UID): 121, su grupo primario es
el grupo de ID 130 (openldap), su directorio $HOME es /var/lib/ldap, y esta cuenta no tiene un
shell vlido: /bin/false.
Tambin verificaremos que los permisos del directorio /var/lib/ldap sean los correctos y nos
aseguraremos que el usuario openldap tenga permiso de lectura, escritura y acceso al directorio:
root@pdc:~# ls -ld /var/lib/ldap drwx-xr-x- 2 openldap
openldap 4096 May 28 12:25 /var/lib/ldap

Verificaremos que el demonio slapd sea ejecutado con el usaurio y grupo openldap, esto esta
definido en el archivo /etc/default/slapd, y por defecto est as:
16

root@pdc:~# nano /etc/default/slapd

Este es el contenido del archivo:


# System account to run the slapd server under. If empty the server
# will run as root.
SLAPD_USER="openldap"
# System group to run the slapd server under. If empty the server will
# run in the primary group of its user.
SLAPD_GROUP="openldap"
# Path to the pid file of the slapd server. If not set the init.d script
# will try to figure it out from $SLAPD_CONF (/etc/ldap/slapd.conf)
SLAPD_PIDFILE=

Antes de modificar el archivo principal de configuracin del demonio slapd, nos aseguraremos de
que el demonio no este corriendo, lo verificamos as:
root@pdc:~# ps aux | grep slapd
openldap 9495 0.0 2.7 22124 3560 ? Ssl 23:20 0:00 /usr/sbin/slapd -g openldap
-u openldap -f /etc/ldap/slapd.d

Si el servicio esta en ejecucin, entonces lo detendremos as:


root@pdc:~# sudo /etc/init.d/slapd stop Stopping
OpenLDAP: slapd.

Ms adelante veremos como controlar el servicio slapd.


Agregando los esquemas (schemas) necesarios

Los esquemas (schemas) definen el tipo de objectos (objectClass) que podemos manejar en nuestro
arbol de directorio, adems definen el tipo de atributos que podemos usar as como las reglas de
sintaxis para cada uno de estos atributos.
Los esquemas que vienen por defecto en la configuracin de slapd son los necesarios para poder
almacenar informacin de cuentas Unix/POSIX, almacenar informacin para crear un tipo de
Directorio Amarillo, o una agenda de contactos. Estos esquemas predeterminados no nos permiten
almacenar atributos para cuentas de usuario y dominios Samba/Windows, sin embargo,
OpenLDAP permite la carga de esquemas externos para almacenar diferente tipo de informacin,
el esquema LDAP Samba permite almacenar la siguiente informacin:

El Nombre de Dominio Samba: sambaDomainName


El SID del Dominio Samba: SambaSID
Ruta al directorio del perfil del usaurio Samba: sambaProfilePath
17

Letra de unidad de red asignada al HOME del usuario Samba: sambaHomeDrive


La contrasea NT (MD4 hash) del usuario Samba: sambaNTPassword
La contrasea LanManager del usuario Samba: sambaLMPassword
La ruta del script de inicio de sesin (Logon Script) del usuario Samba:
sambaLogonScript
La Ruta al directorio HOME del usuario Samba: sambaHomePath
El ID del grupo primario al que pertenece el usuario Samba: sambaPrimaryGroupID

El esquema samba define ms atributos, pero los principales son estos que se mencionaron arriba,
para conocer los demas atributos ver el archivo /etc/ldap/schemas/samba.schema.

Los esquemas estan definidos en archivos dentro del directorio /etc/ldap/schema/, el esquema
para samba no viene incluido dentro de la instalacin de slapd, as que tendremos que instalar el
paquete samba-doc, el cual contiene el archivo samba.schema:
# apt-get install samba-doc

El

archivo

del

esquema

de

samba

se

encuentra
en
el
archivo
/usr/share/doc/sambadoc/examples/LDAP/samba.schema.gz en formato comprimido, lo
descomprimiremos al vuelo y lo copiaremos al directorio /etc/ldap/schema/:

root@pdc:~# zcat /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz >


/etc/ldap/schema/samba.schema

Revisamos que tenga los permisos adecuados.


root@pdc:~# ls -l /etc/ldap/schema/samba.schema
-rw-r--r-- 1 root root 19424 2009-01-11 23:41 /etc/ldap/schema/samba.schema

Ahora que ya tenemos el archivo del esquema de samba instalado necesitamos decirle al servidor
slapd que lo utilize, para hacer esto hacemos lo siguiente:
Creamos un archivo que llamaremos schema_convert.conf

y agregamos las siguientes lneas:

include /etc/ldap/schema/core.schema include


/etc/ldap/schema/cosine.schema include
/etc/ldap/schema/inetorgperson.schema include
/etc/ldap/schema/samba.schema
Creamos el siguiente folder temporal:
mkdir /tmp/ldif_output

18

Con el siguiente commando vamos a crear el archivo LDIF que necesitaremos LDIF
slaptest -f schema_convert.conf -F /tmp/ldif_output/
Editamos el archivo /tmp/ldif_output/cn\=config/cn\=schema/cn\=\{3\}samba.ldif

En la primera linea (Seria la 3 si se toman en cuenta los comentarios) cambiamos dn:


cn={3}samba por dn: cn=samba,cn=schema,cn=config .
En la tercera lienas (Seria la 4 con comentarios) la linea que contiene cn: {3}samba dejamos solamente cn:
samba .
Removemos las ultimas 7 lineas del archivo (empezando con: structuralObjectClass:
olcSchemaConfig) y lo grabamos.
Iniciamos nuevamente LDPA con el siguiente comando:
root@pdc:~# sudo /etc/init.d/slapd start
Starting OpenLDAP: slapd.
Agregamos el LDIF al LDAP con el siguiente comando: ldapadd -H ldapi:/// -Y EXTERNAL -f
/tmp/ldif_output/cn\=config/cn\=schema/cn\=\{3\}samba.ldif

Configurando las Listas de Control de Acceso (ACLs)

Vamos a editar el archivo sldap.conf con el siguente comando:


root@pdc:~# nano /usr/share/slapd/slapd.conf

El archivo slapd.conf que tenemos abierto ya viene preconfigurado con algunas reglas de acceso,
entre ellas una donde permite cambiar la contrasea a los usuarios Unix debidamente autenticados.
Ya que nuestro directorio tambin almacenar informacin de cuentas Samba, debemos permitir
que los usuarios Samba plenamente autenticados puedan cambiar su contrasea desde el mismo
cliente Windows. Las contraseas de cuentas Samba estan almacenadas en los atributos
sambaLMPassword y SambaNTPassword, por lo tanto permitiremos a los usuarios autenticados
poder cambiar su contrasea.
En la seccin # Schema and ObjectClass definitions agregamos la lnea
include /etc/ldap/schema/samba.schema

Debe de quedar asi:


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

19

include /etc/ldap/schema/samba.schema

En la seccin de los ACLs, cambiar:


access to attrs=userPassword,shadowLastChange
by dn="@ADMIN@" write
by anonymous
auth
by self write
by * none

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

No cerraremos este archivo ya que lo seguiremos utilzando en las siguientes secciones.


Configurando los Indices de atributos ms usados

Es importante que los atributos ms consultados por los clientes y aplicaciones LDAP esten
debidamente indexados en la base de datos del directorio LDAP, de no ser as podramos sufrir de
penalizaciones en el rendimiento del directorio, en especial en el tiempo de respuesta en las
consultas, para optimizar el rendimiento del directorio agregaremos una lista de atributos a la lista
de atributos a indexar.
En la seccin de Indice de atributos del archivo /usr/share/slapd/slapd.conf (que tenemos
abierto)

Cambiar:

# Indexing options for database #1 index


objectClass eq

Por:
# Indexing options for database #1
index
objectClass,uidNumber,gidNumber
eq index
cn,sn,uid,displayName
pres,sub,eq index
memberUid,mail,givenname
eq,subinitial index
sambaSID,sambaPrimaryGroupSID,sambaDomainName
eq

Si en un futuro desea agregar ms atributos a la lista de indices vea la seccin Agregar nuevos
indices de atributos en OpenLDAP.
No cerraremos este archivo ya que lo seguiremos utilzando en las siguientes secciones.

20

Configuracin de los Registros de Eventos (logs) del servidor Slapd

En esta seccin se vern los parametros requeridos para configurar el servicio slapd para el
resgistro de eventos, los cuales nos ayudarn a analizar la informacin provista por el directorio
LDAP, disgnosticar problemas o simplemente para verificar que todo este funcionando
correctamente. Veremos las configuraciones requeridas para el legendario syslogd o sysklogd y
syslog-ng.
Configuracion de los logs en OpenLDAP

Ya que esta es nuestra primera instalacin de un servidor OpenLDAP, es aconsejable que se


incremente el nivel de severidad del registro de eventos del servidor slapd. El parametro loglevel
define la prioridad de los mensajes registrados, la siguiente tabla muestra los niveles de log
soportados de acuerdo a la pgina del manual de slapd.conf(5):
Tabla 4.1. Niveles severidad logs slapd
Nivel Descripcin
1

(0x1 trace) trace function calls

(0x2 packets) debug packet handling

(0x4 args) heavy trace debugging (function args)

16

(0x10 BER) print out packets sent and received

32

(0x20 filter) search filter processing 64 (0x40 config) configuration file processin

64

(0x40 config) configuration file processing

128

(0x80 acl) access control list processing

256

(0x100 stats) connections, LDAP operations, results (recommended)

512

(0x200 stats2) stats log entries sent

1024 (0x400 shell) print communication with shell backends


2048 (0x800 parse) entry parsing

21

16384 (0x4000 sync) LDAPSync replication


32768 (0x8000 none) only messages that get logged whatever log level is set

En el valor del parametro loglevel podemos usar tanto el valor nmerico o su equivalente en ingls,
para desactivar el registro de eventos de slapd use el valor none.
Para nuestro caso usaremos el nivel stats (256) el cual nos mostrar informacin sobre el servicio
slapd, conexiones, y accesos al servidor.
En la seccin de logs cambiaremos:
# Read slapd.conf(5) for possible values loglevel
none

Por:
# Read slapd.conf(5) for possible values loglevel
stats

No cerraremos este archivo ya que lo seguiremos utilzando en las siguientes secciones.


Configuraciones para sysklogd

En la mayora de distribuciones Linux el sistema de logs esta controlado por el demonio syslog,
en Ubuntu el paquete sysklogd provee el demonio de logs predeterminado. En la configuracin
predeterminada de syslog en Ubuntu, los logs del servidor slapd son enviados con un facility
local4.*, y por default todos los mensajes del servidor slapd son enviados a los archivos
/var/log/debug y /var/log/syslog, esta configuracin hace que los mesajes de ldap se
mezclen con mensajes de sistema generales.
Configuraremos el demonio sysklogd para que los logs referentes a OpenLDAP sean enviados a
un archivo de logs independiente, por ejemplo, al archivo /var/log/ldap.log.
El archivo de configuracin del demonio syslog es /etc/syslog.conf, haremos una copia de respaldo
antes de hacer cambios.
root@pdc:~# cp /etc/rsyslog.d/50-default.conf{,.orig}

Editamos el archivo /etc/rsyslog.d/50-default.conf y al final agregamos lo siguiente:

22

# OpenLDAP Logs local4.*


/var/log/ldap.log

Y tambin agregaremos unas exclusiones a los logs debug y syslog para que no se registren logs
de ldap en ellos.
Cambiando configuracion para el log /var/log/syslog:
Cambiamos en el archivo archivo /etc/rsyslog.d/50-default.conf
*.*;auth,authpriv.none

-/var/log/syslog

Por
*.*;auth,authpriv.none;local4.none

-/var/log/syslog

Ahora cambiamos la configuracin para el log /var/log/debug:


Quitamos el simbolo de # a las lneas de:
*.=debug;\
auth,authpriv.none;\
news.none;mail.none

-/var/log/debug

y las dejamos de esta manera:


*.=debug;\
auth,authpriv.none;\
news.none;mail.none;local4.none

-/var/log/debug

Grabamos el archivo y nos salimos, despus creamos el archivo vacio para los de ldap:
root@pdc:~# touch /var/log/ldap.log
Ahora garbamos y nos salimos del archivo slapd.conf y reiniciamos el servidor syslog para que los cambios tomen
efecto:
root@pdc:~# sudo /etc/init.d/rsyslog restart
* Restarting system log daemon...

[ OK ]

Ahora pruebe hacer un tail -f /var/log/syslog, (termnelo con Ctrl + C) reinicie el servidor slapd y vea que no se
registre ningn evento relacionado al demonio slapd, si no aparece nada en dichos logs confirme que todos los logs se
estan enviando a /var/log/ldap

23

OPCIONAL.- Si usted utiliza logrotate para rotar los logs de OpenLDAP automticamente, cree el archivo de rotacin
para los logs de OpenLDAP:
# nano /etc/logrotate.d/rsyslog

Con el siguiente contenido:


/var/log/ldap.log
{
rotate 7
weekly
missingok
notifempty
compress
postrotate
invoke-rc.d sysklogd reload > /dev/null
endscript
}

Y listo, ahora sus logs se rotarn semanalmente y sern mantenidos durante 7 semanas, al cumplir
la 8a semana los logs sern rotados automticamente.
Configuracin de los lmites de consulta y conexin

Existe un limite de cuantas entradas sern devueltas en las operaciones de busqueda de los clientes
LDAP, este limite por defecto esta configurado a 500 lo que significa que solo sern devueltas 500
entradas a los clientes LDAP aun cuando la consulta no tenga limite.
# The maximum number of entries that is returned for a search operation
sizelimit 500

Nota

Este valor ser incrementado en configuraciones posteriores, en especfico cuando se haga una
replicacin/sincronizacin del DIT.
Revisin de permisos en archivos y directorios de Configuracin

Vamos a parar nuevamente el servicio de slapd


root@pdc:~# sudo /etc/init.d/slapd stop Stopping
OpenLDAP: slapd.

Cambiamos el dueo y los permisos del archivo slapd.conf con los comandos:
root@pdc:~# chown root:openldap /usr/share/slapd/slapd.conf

Y le damos la mascara 640


24

root@pdc:~# chmod 640 /usr/share/slapd/slapd.conf

Antes de volver reiniciar nuestro servidor para que nuestros cambios tomen efecto, verificaremos
que los permisos sean los adecuados:
Verificando que los permisos del archivo /usr/share/slapd/slapd.conf esten como se muestra aqu:
root@pdc:~
-l
# ls -rw23:45
/usr/share/slapd/slapd.conf
r----- 1
/usr/share/slapd/slapd.c
root openldap 5079 2009-01-11
onf

Ejecutando una revisin sintactica del archivo de configuracin slapd.conf

Antes de reiniciar nuestro servidor slapd realizaremos una comprobacin de que nuestras
configuraciones esten correctas, el comando slaptest nos har una revisin sintactica de nuestro
archivo de configuracin /usr/share/slapd/slapd.conf
root@pdc:~# slaptest -v -u config
file testing succeeded
Con la opcin -v habilitamos el modo verbose, esto es para que muestre detalles sobre posibles errores encontrados
en la configuracin.
La opcin -u permite que solo se ejeucta la revisin sintactica aun cuando no se puedan abrir los archivos de bases de
datos del directorio (/var/lib/ldap/).
Si el comando slaptest nos muestra algun error, posiblemente nos dir en que parte del archivo se encuentra el error.
Si no nos es posible diagnosticar el error se recomienda ver el archivo de log /var/log/ldap.log correr el
deminio slapd con el nivel de severidad mayor, por ejemplo:
root@pdc:~# slapd -d 16383

Esto nos mostrar todos los mensajes en la terminal y no en los logs.

Capitulo 4. Iniciando el servidor slapd y haciendo


Pruebas Preliminares
Ahora que ya tenemos nuestro servidor correctamente configurado y todas los permisos estan
correctos podremos iniciar nuestro servidor de forma ordinaria usando el script de inicio, para
iniciar el servidor slapd usamos el comando:
25

root@pdc:~# sudo /etc/init.d/slapd start


* Starting OpenLDAP: slapd

[ OK ]

Si el servidor slapd se inicia correctamente, este registrar en el log /var/log/syslog el siguiente


mensaje:
Jan 11 23:51:06 pdc slapd[9753]: @(#) $OpenLDAP: slapd 2.4.9 (Aug

1 2008 01

begin_of_the_skype_highlighting
1
01 FREE end_of_the_skype_highlighting :08:50) $
^Ibuildd@terranova:/build/buildd/openldap2.32.4.9/debian/build/servers/slapd
Jan 11 23:51:06 pdc slapd[9755]: slapd starting

2008

En el mensaje anterior nos muestra que el proceso slapd con el identificador de proceso (PID)
15795 se inicio correctamente.
Ahora revisaremos que el servidor slapd haya abierto el socket TCP/IP, en especifico veremos que
nos abra el puerto TCP/389.
Con el comando netstat veremos si el proceso slapd con PID 15795 abre el puerto TCP/389.
root@pdc:~# netstat -pltn | grep slapd
tcp
0
0 0.0.0.0:389
4400/slapd
tcp6
0
0 :::389
4400/slapd

0.0.0.0:*

LISTEN

:::*

LISTEN

Ahora haremos una consulta al servidor LDAP para ver si responde con lo ms bsico. Usaremos el comando
ldapsearch para buscar el namingContexts del DIT.
root@pdc:~# ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
# extended LDIF
#
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: namingContexts
#
# dn: namingContexts:
dc=example,dc=com
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1

SI el comando ldapsearch nos muestra algo similar a lo que se muestra arriba significa que nuestro servidor LDAP
esta funcionando correctamente.

26

Ahora haremos una busqueda en el directorio LDAP autenticado como el usuario admin del LDAP y haremos la
buqueda usando como base dc=example,dc=com, esto es para comprobar que la autenticacin y nuestras ACLs
funcionen correctamente, adems, de comprobar que el directorio se haya incializado con la estrucutra bsica..
root@pdc:~# ldapsearch -x -D "cn=admin,dc=example,dc=com" -b "dc=example,dc=com" -W
Enter LDAP Password:uacj
# extended LDIF
#
# LDAPv3
# base <dc=example,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# example.com dn:
dc=example,dc=com
objectClass: top
objectClass: dcObject
objectClass:
organization o: Example
S.A. de C.V.
dc: example
# admin, example.com dn:
cn=admin,dc=example,dc=com
objectClass:
simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator userPassword::
e2NyeXB0fWUwTng4TmRUZk54Wm8=
# search result
search: 2
result: 0 Success
# numResponses: 3
# numEntries: 2

Controlando el servicio Slapd


En esta seccin veremos como controla el servicio slapd, al controlar el servicio nos referimos a
iniciar, detener, reiniciiar el proceso slapd.
Para iniciar el servidor slapd usando los scripts de inicio, usaremos el siguiente comando:
root@pdc:~# invoke-rc.d slapd start Starting
OpenLDAP: slapd.

Para detener el servidor slapd usando los scripts de inicio, usaremos:


root@pdc:~# invoke-rc.d slapd stop Stopping
OpenLDAP: slapd.

Si deseamos que el servidor slapd sea iniciado automticamente al arranque del sistema, usaremos
el comando:
27

root@pdc:~# update-rc.d slapd defaults Adding system startup for


/etc/init.d/slapd ...
/etc/rc0.d/K20slapd -> ../init.d/slapd
/etc/rc1.d/K20slapd -> ../init.d/slapd
/etc/rc6.d/K20slapd -> ../init.d/slapd
/etc/rc2.d/S20slapd -> ../init.d/slapd
/etc/rc3.d/S20slapd -> ../init.d/slapd
/etc/rc4.d/S20slapd -> ../init.d/slapd
/etc/rc5.d/S20slapd -> ../init.d/slapd

Cuando se instala el paquete slapd, este agregar el servicio slapd para que sea iniciado
automaticamente al arranque del sistema, por lo que es posible que reciba un mensaje como el
siguiente:
root@pdc:~# update-rc.d slapd defaults
System startup links for /etc/init.d/slapd already exist.

Si deseamos que el servidor slapd NO sea iniciado al arranque del sistema usaremos el comando:
root@pdc:~# update-rc.d -f slapd remove
Removing any system startup links for /etc/init.d/slapd ...
/etc/rc0.d/K20slapd
/etc/rc1.d/K20slapd
/etc/rc2.d/S20slapd
/etc/rc3.d/S20slapd
/etc/rc4.d/S20slapd
/etc/rc5.d/S20slapd
/etc/rc6.d/K20slapd

Con el comando anterior slapd ya no ser iniciado al arranque del sistema, para controlarlo se
tendr que hacer con los comandos antes mencionados.

Recursos adicionales
Si desea obtener ms informacin sobre los programas y pginas de manual relacionadas se
aconseja que acceda a los siguientes recursos adicionales.
Sitios web

En las paginas listadas a continuacin encontrar mayor informacin sobre los programas
utilizados en este capitulo.

http://www.openldap.org/doc/admin24/ - OpenLDAP Software 2.4 Administrator's Guide


http://download.gna.org/smbldap-tools/docs/samba-ldap-howto/ - The Linux SambaOpenLDAP
Howto
https://help.ubuntu.com/8.04/serverguide/C/openldap-server.html - Ubuntu Server Guide
- OpenLDAP Server

28

Paginas de manual

Para conocer ms sobre el uso y configuracin de los programas utilizados en el capitulo, se


recomienda leer los manuales relacionados.

apt-get (8) - APT package handling utility - command-line interface


dpkg-reconfigure (8) - reconfigure an already installed package
slaptest (8) - Check the suitability of the OpenLDAP slapd.conf file
slapd (8) - Stand-alone LDAP Daemon
ldapsearch (1) - LDAP search tool
syslog.conf (5) - syslogd(8) configuration file
netstat (8) - Print network connections, routing tables, interface statistics, masquerade
connections, and multicast memberships
update-rc.d (8) - install and remove System-V style init script links
update-rc.d (8) - install and remove System-V style init script links

Captulo 5. Configuracin del Cliente LDAP


Las herramientas cliente LDAP como: ldapsearch, ldapmodify, ldapadd y otras usan los
parametros de configuracin definidos en el archivo /etc/ldap/ldap.conf, bsicamente en este
archivo se pueden definir los siguientes parametros:

URI - Direccin del servidor o servidores LDAP predeterminados


BASE - Sufijo de la base de busqueda Base DN
SIZELIMIT - Tamao mximo de las busquedas
TIMELIMIT - Limite de tiempo para las consultas
BINDDN - DN de la cuenta con la que se efectuarn las operaciones

Antes de modificar el archivo de configuracin global del cliente LDAP, respalde el archivo:
root@pdc:~# cp /etc/ldap/{,.orig}

Editemos el archivo de configuracin del cliente LDAP /etc/ldap/ldap.conf:


root@pdc:~# nano /etc/ldap/ldap.conf

Definimos el la direccin del servidor LDAP y la base de busqueda:


BASE
URI

dc=example,dc=com
ldap://127.0.0.1

Y grabamos.

29

Los parametros antes definidos son de uso general, si desea usar parametros diferentes para un
usuario de sistema en particular cree un archivo ~/.ldaprc dentro del directorio home del usuario,
por ejemplo:
root@pdc:~# nano ~/.ldaprc

Con el contenido:
BASE
URI
BINDDN

dc=example,dc=com
ldap://127.0.0.1
cn=admin,dc=example,dc=com

Para ms informacin sobre el archivo /etc/ldap/ldap.conf y ~/.ldaprc ver la pgina del


manual ldap.conf(5).

Captulo
6. Configuracin
herramientas smbldap-tools

de Samba y

las

Instalacin y configuracin del servidor Samba

En esta seccin configuraremos el servidor Samba como un Controlador de Dominio Primario


(PDC) Windows NT con la base de datos SAM almacenada en nuestro directorio LDAP.
Los parmetros Generales que configuraremos son:

Parametros de identificacin de red como: Dominio, Nombre Servidor.


Configuracin para registro de eventos (logs)
Interfaces y direcciones de red a las que esta conectado el servidor
Configuracin de parametros para Controlador de Dominio
Informacion del servidor LDAP y como utilizarlo
Definicin de script para automatizar la administracin de las cuentas samba/ldap.
Directorios compartidos especiales como homes, netlogon y profiles.

La configuracin la realizaremos paso por paso tratando de explicara cada cambio.


En esta seccin instalaremos el servidor samba que en Debian/Ubuntu esta conformado
principalmente por los paquetes: samba y smbclient, el primero contiene los programas para
servidor y el segundo las herramientas de cliente, diagnostico y resolucin de problemas.
Instalamos los paquetes para cliente y servidor Samba:
root@pdc:~# apt-get install samba smbclient

30

El paquete que instala la parte servidor de samba preconfigurado con algunos parmetros, adems
de que importa los usuarios de sistema en /etc/passwd a la base de datos de cuentas samba, en
nuestro caso esta configuracin no nos sirve por lo que eliminaremos la configuracin creada y los
archivos de configuracin que se crearon, para inicializar la configuracin de samba detenemos
los servicios samba siga los siguienes pasos:
root@pdc:~# sudo service smbd stop smbd
stop/waiting

Ahora eliminamos los archivos .tdb y .dat en /var/lib/samba:


root@pdc:~# rm -rfv /var/lib/samba/*.{tdb,dat}

Nota

Todava no iniciaremos el servidor samba hasta que este nuevamente configurado.


Continuaremos con la configuracin de samba.
Configuracines de Samba para Controlador de Dominio

El archivo de configuracin principal de Samba es /etc/samba/smb.conf, ya que iniciaremos


con una configuracin nueva, haremos un respaldo de este archivo antes de iniciar con las
modificaciones.
Creamos el respaldo del archivo /etc/samba/smb.conf por lo que lo vamos a mover
root@pdc:~# mkdir /resp root@pdc:~# mv
/etc/samba/smb.conf /resp

En la siguiente seccin podemos continuar con los parametros que nos intersan.
Parametros Globales del servidor Samba

El archivo de conifguracin de samba define la seccin [global], en esta seccin especificaremos


parametros globales que afectarn el comportamiento del servidor Samba, los parametros
principales son:

El nombre del Grupo de Trabajo/Dominio al que pertenecemos: EXAMPLE


Nombre NetBIOS del Servidor Samba: PDC-SRV
Descripcin del servidor Samba: Servidor PDC-SRV

Adems configuraremos los siguientes parametros extras:


31

Soporte para habilitar privilegios de Grupos de Dominio Samba: enable privileges = yes, este
parametro es til por ejemplo para dar privilegios a los usuarios miembros del grupo Domain
Admins para unir equpos Windows a un Dominio NT.
Crearemos un archivo /etc/samba/smb.conf nuevo con los siguientes parametros:
El inicio de la seccin global quedar as:
[global]
workgroup = EXAMPLE
netbios
name = PDC-SRV
server string =
Servidor PDC-SRV
wins support =
yes
os level = 33

Configurando la autentificacin para el controlador de dominio

Agregamos la seccin ## Authetication ## revisamos que exista:


####### Authetication #######
#enable privileges = yes

map to guest = Bad User

El parametro map to guest = Bad User define que cuando un usuario no existente (en el dominio)
se conecte al servidor, el servidor smbd mapear esa conexin al usuario anonimo, pero las
conexines de usuarios que se autentiquen con una contrasea invalida sern rechazadas.
Configuracines del registro de eventos (logs) del servidor Samb

Ahora configuraremos algunos parmetros para la generacin de mensajes de logs, en la seccin


## Debugging/Accounting ## agregamos las siguientes lneas:
####### Debugging/Accounting #######
syslog = 0
log level = 0
max log
size = 50
log file =
/var/log/samba/%m.log

La configuracin anterior especifica que no se envan los logs al demonio syslog local, el nvel de
severidad de logs es 0 (ms bajo), se define un tamao de logs de 50M y los logs de las conexiones
de los equipos o usuarios clientes se guardan en el directorio /var/log/samba con el formato
MAQUINA.log.

l
32

Configuraciones de Red para el servidor Samba

En la seccin [Networking] configuraremos los parametros de red y algunas configuraciones de


seguridad recomendadas.
####### Networking #######
interfaces = eth0 lo 192.167.1.0/24 148.210.119.0/70
hosts allow = 127.0.0.1 192.168.1.0/24 148.210.119.0/70
hosts deny = 0.0.0.0
smb ports = 139 445
bind
interfaces only = Yes
name resolve order = wins hosts lmhosts bcast
remote announce = 192.168.1.255/EXAMPLE

Configurando los Parametros para Controlador de Dominio

Ahora configuraremos los parametros relacionados con la configuracin de un servidor


Controlador de Dominio ## Domains ##, por lo que agreamos las siguientes lineas.
####### Domains #######
time server = yes
domain logons = yes
preferred master = yes
logon path = logon
home = logon drive =
logon script = case
sensitive = no utmp =
yes

Parametros para interaccin con el servidor LDAP

Ahora definiremos los parametros necesarios para que samba utilice el directorio LDAP, por lo
que en la seccin de ### Misc ###.
####### Misc #######
socket options = TCP_NODELAY SO_RCVBUF=8192
SO_SNDBUF=8192
username map = /etc/samba/smbusers
passdb backend = ldapsam:ldap://127.0.0.1/
ldap admin dn
= cn=admin,dc=example,dc=com
ldap suffix =
dc=example,dc=com
ldap group suffix = ou=Groups
ldap
user suffix = ou=Users
ldap machine suffix = ou=Computers
ldap idmap suffix = ou=Idmap
#idmap backend = ldap:ldap://127.0.0.1
#idmap uid = 10000-20000
#idmap
gid = 10000-20000
winbind trusted
domains only = Yes

33

#ldap ssl = start_tls


ldap passwd sync = Yes
add machine script = /usr/sbin/smbldap-useradd -w "%u"
add user script = /usr/sbin/smbldap-useradd -m "%u"
ldap delete dn = No
#delete user script = /usr/sbin/smbldap-userdel "%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"

Configuraciones de Codificacin y Charset

Ahora configuraremos los parametros para especificar el juego de caracteres predeterminado para
archivos dos y unix en la seccin de ### Misc ### .
dos charset = 850
Unix charset = ISO8859-1

Hasta aqu termina la seccin Global de smb.conf, en las siguientes secciones configuraremos
secciones especiales para nuestro Controlador de Dominio.
El recurso compartido especial [homes]

El recurso compartido [homes] es un recurso compartido especial que es usado para compartir el
directorio $HOME de cada usuario, por ejemplo, tenemos un usuario unix/windows de nombre
jmedina, este usuario tiene un directorio $HOME en la ruta /home/jmedina, con este recurso
compartido, cada vez que el usuario jmedina inicia sesin por Samba, tendr disponible un recurso
compartido en el servidor con el nombre "jmedina" y por medio de l podr entrar a sus archivos
privados en el servidor.
[homes]
comment = Home Directories
valid users = %U
read only
= no
create mask = 0664
directory mask = 0775
browseable = no

La linea valid users = %U indica que este recurso compartido solo esta disponible para los
usuarios Samba autenticados.
En este recurso compartido no se especifica un path ya que podr variar dependiendo del usuario
que haga login.

34

El recurso compartido especial [netlogon]

Este es otro recurso compartido especial, el recurso [netlogon] solo es utilizado cuando Samba
actua como un Controlador de Dominio, el proposito de este recurso compartido es almacenar los
scripts de inico (logon scripts), estos scripts son ejecutados cada vez que un usuario inicia sesin
en el dominio.
[netlogon]
path = /home/samba/netlogon/
browseable = No
read only =
yes

La opcin browseable = No especifica que este recurso compartido no ser visible en la lista de
shares disponibles en el servidor, ms sin embargo, si podr ser accesado para los usuarios que
hacen login en el dominio, el acceso ser de solo lectura.
Grabamos el archivo smb.conf y nos salimos a la terminal.
La

ultima

opcin

que especificamos es username map apuntando al archivo


/etc/samba/smbusers, este archivo sirve para mapear nombres de usuarios (alias), por ejemplo
en este archivo podemos crear un mapeo de usuario para que la cuenta root sea mapeada a
Administrator que es comunmente usada en entornos de red Windows para la cuenta de
administrador. Para hacer esto, abrimos el archivo /etc/samba/smbusers y agregamos el
siguiente contenido:
root = Administrator

TIP (NO HACER): Meter opcin para que los usuarios miembros del grupo "Domain Admins"
tengan permiso de escritura a este recurso compartido, as, estos usuarios podrn crear los logon
scripts.
Ahora creamos el directorio base en el cual almacenaremos los logon scripts:
root@pdc:~# mkdir -p --mode 755 /home/samba/netlogon

TIP(NO HACER): Cambiar los permisos a root:"Domain Admins" con permisos 775
Ahora crearemos un logon script bastante simple que har las siguientes operaciones

Sincronizar el reloj del servidor con el del equipo local


Mapear el recurso de red \\PDC-SRV\homes a la unidad H:

Creamos el archivo /home/samba/netlogon/logon.bat:

35

root@pdc:~# nano /home/samba/netlogon/logon.bat

Y agregue el siguiente contenido:


net time \\PDC-SRV /set /yes net
use h: \\PDC-SRV\homes

Ahora convertimos el archivo a formato DOS con CR/LF


root@pdc:~# sed -i 's/$/\r/' /home/samba/netlogon/logon.bat

TODO: Verificar si el script requiere permisos de ejecucin


TODO: Meter seccin sobre ntlogon.pl o ntlogon.py
Volvemos a editar el archivo /etc/samba/smb.conf
El recurso compartido especial [profiles]

El recurso compartido [profiles] tambin es de uso especial y solo es necesario cuando Samba se
configura como Controlador de Dominio, el proposito de este recurso compartido es almacenar
los Perfiles de Usuarios, en especifico es usado cuando se configura que los usuarios de dominio
utilizen los Perfiles Mviles (Roaming Profiles), por lo que agregamos las siguientes lineas
[profiles]
path =
/home/samba/profiles
read
only = No
create mask =
0600
directory mask = 0700
browseable = No
guest ok =
Yes
profile acls = Yes
csc policy = disable
force
user = %U
valid users = %U @"Domain Admins"

La ruta de este recurso compartido ser usado con el atributo ProfilePath para indicar la ruta en
donde esta almacenado el Perfil del Usuario, por ejemplo, la entrada en la SAM del dominio para
el usuario jmedina especifica: ProfilePath=\\PDC-SRV\profiles\jmedina, lo cual indica que el
perfil del usuario jmedina estar en el directorio local /home/samba/profiles/jmedina.
Creamos el directorio para el recurso compartido profiles desde otra terminal como root ponemos
el siguiente comando:
root@pdc:~# mkdir -p --mode 1777 /home/samba/profiles

Continue editando el archivo para agregar el recurso compartido publico.


36

El recurso compartido publico

Crearemos un recurso compartido pblico con documentos, programas e imagenes en donde


cualquier usuario del dominio puede acceder, incluso usuarios anonimos, el recurso compartido se
llamar pblico, y en samba lo definimos as:
[publico]
comment = Directorio de datos publicos
path = /home/samba/publico
read only =
Yes
guest ok = yes

Ahora si se puede guardar el archivo y continuar con las configuraciones.


Creamos el directorio:
root@pdc:~# mkdir -p /home/samba/publico/{docs,programas,imagenes}

Realizando una Revisin Sintactica del archivo de configuracin smb.conf

Despues de haber editado el archivo de conifguracin smb.conf ejecutaremos el comando


testparm para realizar un revisin sintactica del archivo smb.conf, este comando nos dir si hay
algn error de configuracin, o si algun parametro esta mal escrito.
Para correr la revisn ejecutamos:
root@pdc:~# testparm Load
smb config files from f
Processing section "[homes]"
Processing section "[netlogon]"
Processing section "[profiles]"
Loaded services file OK.
Server role: ROLE_DOMAIN_PDC
Press enter to see a dump of your service definitions
Si le aparece el mensaje "ERROR: the 'unix password sync' parameter is set and the 'passwd program'
(/usr/sbin/smbldap-passwd) cannot be executed (error was No such file or directory)." ignorelo, en la siguiente seccin
instalaremos el paquete smbldap-tools.
Si hubiera algun error en la sintaxis el comando testparm no lo reportar y nos dir en que linea se encuentra el error
y alguna descripcin corta sobre el error.

Nota

Todava no es momento de iniciar el servidor samba.

37

Para ms informacin acerca de los parametros en el archivo de configuracin


/etc/samba/smb.conf ver la pgina del manual smb.conf(5).
Especificando la contrasea del ldap admin dn
Para que Samba pueda agregar/modificar cuentas almacenadas en el directorio LDAP es necesario que sepa la
contrasea del usuario ldap admin dn especificada en el archivo smb.conf. La cuenta del ldap admin dn
debe de tener los suficientes permisos para leer, agregar y modificar entradas en el directorio LDAP.
Para especificar la contrasea del admin dn, usamos el comando:
root@pdc:~# smbpasswd -W
Setting stored password for "cn=admin,dc=example,dc=com" in secrets.tdb
New SMB password:uacj
Retype new SMB password:uacj
La contrasea ser almacenada en el archivo /var/lib/samba/secrets.tdb. Se almacena aqu para no tener
que espcificarla cada vez que se vaya a ejecutar alguna operacin relacionada a cuentas Samba en el directorio LDAP.
El archivo secrets.tdb debe de tener los permisos as:
root@pdc:~# ls -l /var/lib/samba/private/secrets.tdb
-rw------1
root
root
8192
/var/lib/samba/private/secrets.tdb

2008-06-18

23:29

Nota

Para poder manipular los archivos tdb podemos utilizar las herramientas del paquete tdbtools.
Ahora si podemos iniciar el servidor samldaba
root@pdc:~# sudo service smbd start smbd start/running,
process 4306 (puede cambiar este numero)

En la siguiente seccin veremos como configurar las herramientas smbldap-tools para facilitar la
administracin de cuentas de usuario y grupos en sistemas basados en Samba y OpenLDAP.
Instalacin y Configuracin de las smbldap-tools

Ahora configuraremos las herramientas smbldap-tools para predefinir los parametros de


configuracin para la administracin de cuentas Unix y Samba.
Primero instalaremos el paquete smbldap-tools as:
root@pdc:~# apt-get install smbldap-tools

38

Los archivos de configuracin de las herramientas smbldap-tools se encuentran en el directorio


/etc/smbldap-tools, en este directorio deben de existir dos archivos de configuracin, el archivo
smbldap.conf

contiene directivas de configuracin tanto para la creacin y modificacin de

cuentas Unix y Samba y el archivo smbldap_bind.conf contiene el usuario y la contrasea del


usuario con el que nos conectaremos al servidor LDAP para efectura las operaciones de
administracin de usuarios y grupos Unix/Samba.
Ya que el archivo /etc/smbldap-tools/smbldap.conf no existe, usaremos un archivo de
ejemplo que se instala junto con el paquete smbldap-tools, lo copiamos as:
root@pdc:~# 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 utilizaremos el archivo de ejemplo:


root@pdc:~#
cp
/etc/smbldap-tools/

/usr/share/doc/smbldap-tools/examples/smbldap_bind.conf

Antes de empezar a configurar estas herramientas cambiaremos los permisos de acceso para estos
archivos,
Entramos al directorio /etc/smbldap-tools:
root@pdc:~# cd /etc/smbldap-tools

Cambiamos el usuario y grupo propietarios para los archivos, el usaurio dueo debe de ser root y
el grupo dueo debe de ser openldap.
root@pdc:~# chown root:openldap smbldap*

Nadie ms a exepcion del usuario root tendr permiso de lecutra y escritura sobre los archivos, el
grupo openldap solo tendr permisos de lectura.
root@pdc:~# chmod 640 smbldap*

Editaremos el archivo de configuracin smbldap_bind.conf para especificar el usuario con con el


que haremos las operaciones de administracion de usurios y grupos en el servidor LDAP.
root@pdc:~# nano smbldap_bind.conf

Cambiar:
slaveDN="cn=Manager,dc=company,dc=com" slavePw="secret"
masterDN="cn=Manager,dc=company,dc=com"
masterPw="secret"

39

Por:
slaveDN="cn=admin,dc=example,dc=com" slavePw="uacj"
masterDN="cn=admin,dc=example,dc=com"
masterPw="uacj"

Nota

Aunque aun no tengamos configurado un servidor LDAP esclavo usaremos el mismo


cn=admin que en nuestro servidor Maestro.
En el archvo smbldap.conf se debe de especificar el SID del dominio Samba con el que estaremos
trabajando, para obtener el SID de nuestro servidor utilizaremos el comando net.
Obteniendo el SID local:
root@pdc:~# net getlocalsid
SID for domain PDC-SRV is: S-1-5-21-2911508632-2405292923-4115677068

El SID resultante lo copiaremos, en este caso el SID es: S-1-5-21-2911508632-24052929234115677068


Como minimo debemos de configurar los parametros que estan marcados en negritas.
Ahora
editamos
el
archivo
/etc/smbldaptools/smbldap.conf:

principal

de

configuracin

de

smbldap-tools

root@pdc:~# nano /etc/smbldap-tools/smbldap.conf

TODO: Dividir los parametros globales para el dominio Samba y los parametros para especificar
en que servidor LDAP almacenaremos la informacin de cuentas Unix/Samba.
Primero editaremos los parametros 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="ldap://127.0.0.1"

40

# 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="ldap://127.0.0.1"
# Master LDAP port
# If not defined, parameter is set to "389" masterPort="389"

Conifguraciones de TLS/SSL:
Ya que en esta instalacin inicial no usaremos comunicacione seguras por SSL/TLS
desactivaremos el uso de TLS en nuestra configuracin.
# 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"

Ahora especificaremos el Base DN de nuestro directorio LDAP, esta configuracin servir como
variable para otras configuraciones, todos los contenedores para almacenar cuentas y grupos
estarn bajo este Base DN.
# 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 algunos parmetros predeterminados para cuentas de usuario y grupos Unix:

41

# 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 expiracin de contraseas.


Configure la ruta y unidad para el montaje del directorio home automticamente en clientes
windows a travs 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="\\PDCSRV\%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

42

# Ex: userProfile="\\PDC-SMB3\profiles\%U" userProfile="\\PDCSRV\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"

Cerramos y guardamos el archivo, En la siguiente seccin veremos como actualizar el directorio


LDAP con la informacin de Samba requerida para un controlador de dominio.
Llenando el Directorio LDAP con smbldap-populate

Ahora que ya hemos editado los archivos de configuracin de las herramientas smbldap-tools,
inicializaremos nuestro directorio LDAP con la informacin para el dominio NT: EXAMPLE
El comando smbldap-populate inicializar nuestro directorio LDAP con la siguiente informacin:

Base DN: dc=example,dc=com


Contenedor (OU= Unidad Organizativa ) para las cuentas Unix/Samba: ou=Users
En el contenedor para los Usuarios, se crearn por defecto los usuarios: root y nobody los

cuales sern mapeados al usuarios Administrador y Guest Samba respectivamente.


Contenedor (OU= Unidad Organizativa ) para los Grupos Unix/Samba: ou=Groups
En el contenedor de los Grupos, se crearn por defecto los Grupos Predeterminados de un
dominio Samba: Domain Admins, Domain Users, Domain Guests, Domain Computers.

Contenedor (OU= Unidad Organizativa ) para las cuentas de Computadoras Windows:


ou=Computers
Contenedor (OU= Unidad Organizativa ) para los mapeos de Cuentas Unix a Cuentas
Samba/Windows (SID): ou=Idmap

Para inicializar nuestro directorio LDAP con la informacin de arriba usaremos el comando
smbldap-populate de la siguiente manera:

43

root@pdc:~# smbldap-populate
Populating LDAP directory for domain EXAMPLE (S-1-5-21-291150863224052929234115677068)
(using builtin directory structure)
entry dc=example,dc=dev 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 sdamba passwords for root
New password:uacj
Retype new password:uacj

Al final se nos solicita que asignemos una contrasea para el usuario root del dominio, utilizaremos
la contrasea: uacj
Si al llenar el directorio LDAP no se presenta error alguno, entonces al final tendremos nuestro
arbol de directorio con la siguiente estructura.
dc=EXAMPLE,dc=COM
|
,___ ou=Users
Contenedor para almacenar cuentas de
usuario para sistemas Linux/Unix y Windows
|
|
|
,_______uid=root
Usuario Unix/Samba root (Administrador
Unix y Administrador de Dominio Samba)
|
|
|
,_______uid=nobody
d
Usuario Unix/Samba nobody (Cuenta
anonima para entornos Unix y Dominio Samba)
|
,___ ou=Computers
Contenedor para las cuentas de
Computadoras (Trusted Machine Accounts) para sistemas Windows
|
,___ ou=Groups
Contenedor para alamacenar Grupos de
sistema para sistemas Unix y Windows
|
( o para cualquier otro sistema LDAP-aware).
|
,_______cn=Domain Admins
Dominio NT: EXAMPLE
|

Grupo Global para los Administradores del

44

,_______cn=Domain Users
EXAMPLE
|
,_______cn=Domain Computers
del Dominio NT: EXAMPLE

Grupo Global para los Usuarios de Dominio NT:

Grupo Global para las Cuentas de Computadoras

Es importante que se tenga en consideracin la estrucutra de nuestro arbol de Directorio, ya que


esta misma estrucutra podr ser utilizada al configurar otras aplicaciones para que interactuen con
el directorio LDAP.
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, ms informacin sobre
el bug ver el bug 5551 de samba y el bug td18119198 de smbldap-tools.
Use el comando ldapmodify para cambiar los atributos en los dn de los grupos, por lo que vamos
a crar el archivo /tmp/samba-builtin-changetype.ldif:
# nano /tmp/samba-builtin-changetype.ldif

Con el siguiente contenido:


dn: cn=Account
Operators,ou=Groups,dc=example,dc=com changetype:
modify replace: sambaGroupType sambaGroupType: 4
dn:
cn=Administrators,ou=Groups,dc=example,dc=com
changetype: modify replace: sambaGroupType
sambaGroupType: 4
dn: cn=Backup
Operators,ou=Groups,dc=example,dc=com changetype:
modify replace: sambaGroupType sambaGroupType: 4
dn: cn=Print
Operators,ou=Groups,dc=example,dc=com changetype:
modify replace: sambaGroupType sambaGroupType: 4

<Lo grabamos y ahora realizamos la modificacin con el comando ldapmodify usando el DN


cn=admin.

45

root@pdc:~# ldapmodify -h localhost -x -D "cn=admin,dc=example,dc=com" -W -f


/tmp/samba-builtin-changetype.ldif
Enter LDAP Password:uacj
modifying entry "cn=Account Operators,ou=Groups,dc=example,dc=com"
modifying entry "cn=Administrators,ou=Groups,dc=example,dc=com"
modifying entry "cn=Backup Operators,ou=Groups,dc=example,dc=com"
modifying entry "cn=Print Operators,ou=Groups,dc=example,dc=com"

Despues de haber llenado el directorio con los usuarios y grupos de dominio predeterminados, es
necesario reiniciar samba para que tenga conocimiento de la nueva informacin.
root@pdc:~# sudo service smbd restart
smbd stop/waiting smbd
start/running.process 25663

Verificando la instalacin y configuracin de Samba y LDAP

En esta seccin veremos algunos comandos que nos podrn servir para verificar que las cuentas de
samba sean las almacenadas en el directorio ldap, y tambin se hace una prueba de conexin al
servidor samba.
Probando Samba con Cuentas en el Directorio LDAP

El comando pdbedit nos servir para hacer un listado de usuarios Samba, el comando pdbedit se
conectar al servidor LDAP para obtener la informacin, si todo fue configurado correctamente
nos deber de mostrar lo siguiente:
root@pdc:~# pdbedit -L
root:0:root nobody:65534:nobody

nota si llegara a salir el error Failed to issue the StartTLS instruction: Protocol error,
editamos el archivo smb.conf y agregamos la siguiente lnea:
ldap ssl = off

ahcemos un reinicio del servicio de samba:


PREGUNTA
root@pdc:~# sudo service smbd restart
* Stopping Samba daemons
* Starting Samba daemons

[ OK ]
[ OK ]

46

Como se vio antes, los usuarios samba deben de estar mapeados al UID de un usuario Unix, en
este caso el usuario root Samba esta mapeado al usuario root Unix con UID 0 y el usuario nobody
Samba esta mapeado al usuario nobody Unix con UID 65534.
Si deseamos mostrar los detalles de informacin de un usuario samba usamos el comando pdbedit
de la siguiente manera:
root@pdc:~# 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-SRV\root
HomeDir Drive:
H:
Logon Script:
Profile Path:
\\PDC-SRV\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

Este comando nos muestra a detalle la informacin/atributos de una cuenta Samba


La cuenta root que se creo en el directorio LDAP, es la que se usar como usuario root local y
como administrador de dominio, se debe de cambiar la ruta al $HOME de root y asignarle el shell
/bin/bash.
root@pdc:~# smbldap-usermod -d /root -s /bin/bash root

Deshabilite el uso de perfil mvil para la cuenta Samba root:


root@pdc:~# smbldap-usermod -C "" root root@pdc:~#
smbldap-usermod -D "" root root@pdc:~# smbldapusermod -F "" root

Si desea cambiar la contrasea de la cuenta root/Administrator use el comando:


root@pdc:~# smbldap-passwd root

47

Listo, podemos continuar.


Verificando el mapeo del grupos unix a grupos Samba

En un sistema controlador de dominio basado en Samba, las cuentas de usuario de


Windows/Samba son mapeadas a una cuenta de usuario Unix, es decir, se mapea el SID (Security
Identifier) de la cuenta Windows/Samba con el UID (User ID) de la cuenta Unix, as mismo se
mapean los grupos Wwindows/Samba a grupos Unix a travs del SID del grupo Windows/Samba
al GID del grupo Unix, para validar que el mapeo de grupos se haya realizado correctamente use
el comando net, por ejemplo:

PREGUNTA
root@pdc:~# net groupmap list
Domain Admins (S-1-5-21-2911508632-2405292923-4115677068-512) -> 512
Domain Users (S-1-5-21-2911508632-2405292923-4115677068-513) -> 513
Domain Guests (S-1-5-21-2911508632-2405292923-4115677068-514) -> 514
Domain Computers (S-1-5-21-2911508632-2405292923-4115677068-515) -> 515
Administrators (S-1-5-32-544) -> 544
Account Operators (S-1-5-32-548) -> 548
Print Operators (S-1-5-32-550) -> 550
Backup Operators (S-1-5-32-551) -> 551
Replicators (S-1-5-32-552) -> 552

En la salida anterior, la informacin del grupo Windows/Samba se encuentra del lado izquierdo
separada de la informacin del grupo Unix del lado derecho. Por ejemplo, podemos ver que el
grupo Domain Admins con SID S-1-5-21-2911508632-2405292923-4115677068-512 esta
mapeado al grupo Unix con GID 512.
Si desea conocer una lista de los SID bien conocidos en sistemas Windows ver el articulo
Wellknown security identifiers in Windows operating systems.
En el captulo siguiente Configuracin de la resolucin de Identidades con NSS_LDAP veremos
como obtener la informacin de los grupos Unix va LDAP usando NSS_LDAP para la
centralizacin de usuarios y grupos Unix en un directorio OpenLDAP y as tener un mapeo
consistente de informacin de usuarios y grupos WIndows y Unix almacenados en un servidor de
directorio centralizado con OpenLDAP.
Probando conexiones al servidor Samba usando cuentas en LDAP

Cuando realizamos el llenado el directorio con smbldap-populate se creo la cuenta de usuario


Windows de nombre root mapeada al administrador del dominio, realicemos una prueba de
conexin utilizando la cuenta root del dominio, deberemos de utilizar la contrasea que se asigno
al llenar el directorio con el comando smbldap-populate y no la contrasea del usuario root local.
48

PREGUNTAEXAMEN
root@pdc:~# smbclient //localhost/netlogon -U root
Password:uacj
Domain=[EXAMPLE] OS=[Unix] Server=[Samba 3.0.28a] smb: \> quit root@pdc:~#

Ya que configuramos el uso del archivo /etc/samba/smbusers para el mapeo de usuarios,


podremos hacer una prueba utilizando la cuenta Administrator, deberemos de utilizar la misma
contrasea del usuario root.
root@pdc:~# smbclient //localhost/netlogon -U Administrator
Password:uacj
Domain=[EXAMPLE] OS=[Unix] Server=[Samba
3.0.28a] smb: \> quit root@pdc:~#

Pruebe realizando una conexin annima al recurso compartido pblico:


PREGUNTAEXAMEN
# smbclient //localhost/publico -N
Anonymous login successful
Domain=[EXAMPLE] OS=[Unix] Server=[Samba 3.0.28a] smb: \> quit

Si las ltimas pruebas no funcionan entonces debe de revisar su configuracin y probablemente


volver a empezar verificando que todo se haya seguido al pie de la letra.

Captulo 7. Configuracin de la resolucin de


Identidades con NSS_LDAP
En los sistemas Unix como GNU/Linux los nombres comnes de las cuentas de usuario y grupo
son mapeadas a un identificador nmerico llamado UID (User ID) y GID (Group ID)
respectivamente, el mapeo de un nombre comn a uno nmerico es llevado a cabo por la biblioteca
de sistema NSS (Name Service Switch), la cual es invocada cada vez que algn comando o
aplicacin realizan alguna operacin que requiera la resolucin de un nombre, sea un usuario, un
grupo, un nodo de red, entre otras entidades, tambin es usada cuando se realizan operaciones
relacionadas con permiso de archivos y autenticacin de usuarios.
Por default la bibliteca de sistema NSS realiza la consulta de usuarios, grupos y shadow usando
archivos locales, es decir, /etc/passwd, /etc/group y /etc/shadow respectivamente, ya que
nuestro sistema usar un directorio LDAP para almacenar la informacin de los usurios y grupos
ser necesario indicarle a la biblioteca NSS que debe usar un directorio LDAP para obtener
informacin sobre dichas identidades, es aqu donde entra el paquete nss_ldap, el paquete nss_ldap
es un plugin para la biblioteca de sistema NSS para podere realizar la resolucin de identidades
usando como fuente de origen un directorio LDAP.

49

En Debian/Ubuntu el plugin LDAP para la biblioteca NSS es provisto por el paquete libnss-ldap,
lo instalaremos en el sistema va apt-get usando el siguiente el comando:
root@pdc:~# aptitude install libnss-ldap

Al instalar el paquete libnss-ldap se instalarn otros paquetes como libpam-ldap que lo


utilizaremos en la siguiente seccin para configurar la autorizacin a los servicios del sistema.
NOTA si ya esta instalado no lanzara el asistente de configuracion
El sistema de administracin de paquetes apt nos lanzar un asistente para configuracin, la
configuracin del asistente no es exactamente como nosotros la necesitamos, por lo que solo
contestaremos las preguntas con cualquier cosa para despues reconfigurar libnss-ldap
manualmente.
Deberemos de contestar lo siguiente:

LDAP server Uniform Resource Identifier: ldap://127.0.0.1


Distinguished name of the search base: dc=example,dc=com
LDAP version to use: 3
Make local root Database admin: No
Does the LDAP database require login?: No

Este asistente genero un archivo de configuracin /etc/ldap.conf, ya que nosotros crearemos


una configuracin nueva este archivo lo podemos renombrar o cambiar de lugar.
root@pdc:~# mv /etc/ldap.conf{,.orig}

Importante

No confundir con el archivo de los clientes LDAP /etc/ldap/ldap.conf.


Ahora editamos el archivo de configuracin /etc/ldap.conf:
root@pdc:~# nano /etc/ldap.conf

Agregamos el siguiente contenido solamente y grabamos:

50

# Informacin del servidor LDAP


uri ldap://127.0.0.1/ ldap_version
3
# Base de busqueda base
dc=example,dc=com
# Contenedores para cuentas de usuario, grupos y
computadoras nss_base_passwd
ou=Users,dc=example,dc=com?sub nss_base_passwd
ou=Computers,dc=example,dc=com?sub nss_base_shadow
ou=Users,dc=example,dc=com?sub nss_base_group
ou=Groups,dc=example,dc=com?sub
# Tipo binding bind_policy
soft
nss_initgroups_ignoreusers
daemon,bin,sys,sync,games,man,lp,mail,news,uucp,proxy,wwwdata,backup,list,irc,gnats,nobody,libuuid,dhcp,syslog,klog,sshd,ntp,snmp,open
ldap
# Filtros PAM pam_login_attribute
uid pam_member_attribute memberuid
pam_filter objectclass=posixAccount
# Cambio contrasea via passwd(1) pam_password
exop

Nota

El parmetro nss_initgroups_ignoreusers define una lista de usuarios para los cuales se van a
ignorar los grupos almacenados en el directorio LDAP, esto necesario para servicios que
inician antes del servidor OpenLDAP o la red.
Los permisos del archivo /etc/ldap.conf deben de ser 644, como se muestra a continuacin:
root@pdc:~# ls -l /etc/ldap.conf
-rw-r--r-- 1 root root 467 2008-06-18 23:37 /etc/ldap.conf

Ahora debemos de configurar la resolucin de entidades va LDAP en el archivo de configuracin


de la biblioteca NSS: /etc/nsswitch.conf y modificar las entradas para las entidades: passwd,
group y shadow.
Antes de modificar el archivo de configuracin de resolucin de entidades haremos una copia de seguridad:
root@pdc:~# cp /etc/nsswitch.conf{,.FILES}

51

Ahora editamos el archivo para decirle que para obtener la informacin de usuarios, grupos
tambin consulte el directorio LDAP especificado en el archivo /etc/ldap.conf.
root@pdc:~# nano /etc/nsswitch.conf

Cambiar:
passwd:
group:
shadow:

compat
compat
compat

Por:
passwd:
group:
shadow:

compat ldap
compat ldap
compat ldap

hosts:

files wins dns

Nota

Tambin aprovechamos para que la resolucin de nombres de hosts incluya al servidor WINS
incorporado con Samba para resolver nombres netbios.
Despues de guardar los cambios haremos unas pruebas con el comando getent para verificar que
si este haciendo las consultas al directorio LDAP.
Verificando la resolucin de usuarios:
root@pdc:~# getent passwd | grep -E 'root|nobody'
root:x:0:0:root:/root:/bin/bash
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh root:x:0:0:Netbios
Domain Administrator:/root:/bin/bash
nobody:x:65534:514:nobody:/nonexistent:/bin/false

En la salida del comando anterior deberemos de ver dos resultados para root y nobody, una fue
obtenida del archivo /etc/passwd y otra del directorio LDAP.
Ahora haremos una prueba para que podamos obtener la lista de grupos tanto del archivo
/etc/group como del directorio LDAP.
root@pdc:~# getent group | grep -E 'root|Domain' root:x:0:
Domain Admins:*:512:root
Domain Users:*:513:
Domain Guests:*:514:
Domain Computers:*:515:

52

En la salida del comando anterior la entrada para el grupo root fue obtenida del archivo
/etc/group y las entradas de los grupos Domain XXXX fueron obtenidas del directorio LDAP.
Podemos utilizar el comando id para verificar que la resolucin de entidades muestre a que grupos
pertenece el usuario root.
Inicie una nueva sesin como root en el equipo ya sea por ssh o localmente en una TTY, y despues
ejecute lo siguiente:
PREGUNTAEXAMEN root@pdc:~#
id root
uid=0(root) gid=0(root) groups=0(root),512(Domain Admins)

En este caso, el usuario root pertenece al grupo 512 (Domain Admins) que esta en el directorio
LDAP.
Importante

Si agrego el usuario root al parmetro nss_initgroups_ignoreusers del archivo de


configuracin /etc/ldap.conf no ver los grupos Samba que estan en el directorio LDAP,
como por ejemplo Domain Admins.
Ahora verifique que el mapeo de grupos Windows a grupos Unix se realice correctamente,
mostrando el nombre comn del grupo Unix en la salida del comando net groupmap list, por
ejemplo:
root@pdc:~# net groupmap list
Domain Admins (S-1-5-21-2911508632-2405292923-4115677068-512) -> Domain Admins
Domain Users (S-1-5-21-2911508632-2405292923-4115677068-513) -> Domain Users
Domain Guests (S-1-5-21-2911508632-2405292923-4115677068-514) -> Domain Guests
Domain Computers (S-1-5-21-2911508632-2405292923-4115677068-51id 5) -> Domain Computers
Administrators (S-1-5-32-544) -> Administrators
Account Operators (S-1-5-32-548) -> Account Operators
Print Operators (S-1-5-32-550) -> Print Operators
Backup Operators (S-1-5-32-551) -> Backup Operators Replicators (S-1-5-32-552) -> Replicators

El archivo /etc/ldap.conf tambin es usado por el mdulo ldap de las bibliotecas de


autenticacin PAM, en la siguiente seccin veremos como configurar PAM con soporte LDAP
para la autorizacin de usuarios y grupos a los servicios del sistema..

53

Captulo 8. Configuracin de la Autenticacin con


PAM_LDAP
Introduccin a los Modulos de Autenticacin PAM

Que es PAM?
PAM son las siglas de Plugable Authentication Modules que basicamente es un mecanismo
flexible para autenticar usuarios.
Cada linea de los archivos de configuracin de PAM contiene tres columnas ms argumentos
opcionales, a continuacin se muestra un ejemplo:
password

requisite

pam_unix.so

nullok obscure md5

A continuacin se explica que es cada elemento: password


La primer columna sirve para indicar el tipo de modulo de autenticacin
requisite

La segunda columna (Control Flag) sirve para indicarle a PAM como es que debe de actuar
d pam_unix.so
La tercer columna se usa para especificar el nombre del modulo a usar nullok
obscure md5

La cuarta columna (opcional) sirve para especificar argumentos a los modulos.

A continuacin se describe cada una de las columnas involucradas en las configuraciones de PAM:
Tipos de Modulos
Hay cuatro tipos de modulos PAM que a continuacin se describen.
authentication (autenticacion) .- Tareas encaminadas a comprobar que, efectivamente, o el
usuario es realmente quien dice ser. A menudo, cuando se habla de PAM, slo o se tiene en cuenta
esta tarea, ignorando las demas. Estas tareas ofrecen incluso un sistema de credenciales que
permiten al usuario ganar ciertos privilegios fijados por el administrador.

Estos modulos proveen dos formas de autenticar el usuario.


54

1. Los modulos establecen que el usuario es quien dice ser instruyendo la aplicacion
(servicio) que le pregunte al usuario una contrasea u otro mecanismo de
identificacin.
2. El modulo puede otorgar membrecia a un grupo u otros privilegios a traves de las
propiedades de las credenciales del usaurio.
account (cuenta) .- En este grupo se engloban tareas que no estan relacionadas a directamente
con la autenticacion. Algunos ejemplos son permitir/denegar el acceso o en funcion de la hora,
los recursos disponibles o, incluso, la localizacion. Ofrece o o verificacion de cuentas de usuario.
Por ejemplo, se encarga de determinar si el usuario o tiene o no acceso al servicio, si su contrasena
ha caducado, etc.

Estos modulos realizan nonauthentication based account management.


Estos modulos son tipicamente usados para restringuir o permitir el acceso a un servicio
basado en la hora del da, los recursos del sistemas actualmente disponibles (mximo
nmero de usuarios) o quizaso quizas la localizacin de el usuario ( por ejemplo, para
limitar el login al usuario root en la consola).
password (contrasea) .- Se encarga de mantener actualizado el elemento de autenticacion
asociado a cada usuario por ejemplo, su contrasena. Acciones como comprobar la fortaleza
de una clave son tpicas de este grupo.

Este ltimo tipo de modulo es requerido para actualizar el token de autenticacin asociado
a un usuario.
session (sesin) .- En este grupo se engloban tareas que se deben llevar a cabo antes o de iniciarse
el servicio y despues de que este finalice. Es especialmente util para e mantener registros de
acceso o hacer accesible el directorio home del usuario.

Estos modulos estan asociados a las realizacin de tareas que necesitas que sean hechas
para el usuario antes de que se le pueda dar acceso a un servicio o despues de que el servicio
ha sido provisto.
Tales tareas incluyen registrar (logging) informacin correspondiente al usuario, montar
directorios, y abrir y cerrar archivos o intercambio de datos con otro usuario
Respaldando la configuracin de PAM

Ya que la configuracin de PAM y sus modulos es muy importante, y cualquier configuracin mal
hecha podra causar que ya no podamos iniciar sesin localmente (ni como root), haremos un
respaldo antes de realizar nuestras modificaciones:
Todas las configuraciones de PAM estan en el directorio /etc/pam.d/, respaldaremos todo el
directorio
55

root@pdc:~# cp -va /etc/pam.d{,.FILES}

Nuestro respaldo tendr el sufijo .FILES para indicar que son las configuraciones que usan los
archivos /etc/passwd, /etc/group y /etc/shadow.
Configurando los modulos de autenticacin PAM con LDAP

El mdulo de autenticacin pam_ldap debe ser llamado por el nombre pam_ldap.so en los archivos
de configuracin, el mdulo pam_ldap.so utiliza los parmetros de configuracin definidos en el
archivo /etc/ldap.conf para conectarse y consultar el servidor LDAP en donde buscar la
informacin de cuentas UNIX.
Para nuestro usaremos los parmetros definidos en la seccin anterior ya que los parmetros para
NSS LDAP y PAM LDAP son los mismos.
Configuracin del modulo auth

Para configurar el mdulo auth con pam_ldap.so edite el archivo /etc/pam.d/common-auth:


root@pdc:~# nano /etc/pam.d/common-auth

Solo agregue el siguiente contenido:


YConfiguracin del modulo account

Para

configurar

el

mdulo

account

con

pam_ldap.so

edite

el

archivo

/etc/pam.d/commonaccount:
nanroot@pdc:~# nano /etc/pam.d/common-account

Solo agregue el siguiente contenido:


account
sufficient

required
pam_ldap.so

pam_unix.so account

Configuracin del modulo session

Para configurar el mdulo session con pam_ldap.so edite el archivo /etc/pam.d/commonsession:


root@pdc:~# nano /etc/pam.d/common-session

Solo agregue el siguiente contenido:


56

session
optional

required
pam_ldap.so

pam_unix.so session

Configuracin del modulo password

Para

configurar

el

mdulo

password

con

pam_ldap.so

edite

el

archivo

/etc/pam.d/commonpassword:
root@pdc:~# nano /etc/pam.d/common-password

Solo agregue el siguiente contenido:


password
password
required

sufficient
sufficient
pam_deny.so

pam_unix.so nullok use_authtok md5 shadow


pam_ldap.so use_authtok password

Instalando el modulo Cracklib de PAM

En el modulo de autenticacin password especificamos que es requerido el uso de pam_cracklib,


cracklib es un conjunto de bibliotecas que nos servirn para verificar que las contraseas
suministradas por usuarios unix sean lo suficientemente fuertes, el chequeo lo hace contra un
diccionario de palabras, as, si un usuario ingresa una contrasea basada en alguna palabra del
diccionario cracklib nos alertar. Por medio del modulo pam_cracklib tambien podemos
especificar el tamao minimo de una contrasea.
Para habilitar el soporte instale el paquete libpam-cracklib, as:
root@pdc:~# apt-get install libpam-cracklib

Y edite el archivo de configuracin del mdulo password:


root@pdc:~# nano /etc/pam.d/common-password

Al inicio del archivo y antes de la carga del mdulo pam_unix.so agregue la carga del modulo
pam_cracklib.so, por ejemplo:
password
required
ocredit=2 retry=3
password
sufficient
password
sufficient
required
pam_deny.so

pam_cracklib.so difok=2 minlen=8 dcredit=2


pam_unix.so
pam_ldap.so use_authtok password

Probando la autenticacin de usuarios de sistema va PAM_LDAP

Crear usuario con smbldap-useradd


root@pdc:~# smbldap-useradd -m -s /bin/bash -P jmedina

57

Changing UNIX password for jmedina


New password:123456
Retype new password:123456

Nota

Si sale el siguiente error:


Failed to execute: /usr/sbin/smbldap-passwd.cmd: No such file or directory at
/usr/sbin/smbldap-useradd line 665.

Hacemos lo siguiente:
ln -s /usr/sbin/smbldap-passwd /usr/sbin/smbldap-passwd.cmd

Para ms informacin de como crear cuentas unix con las herramientas smbldapt-tools ver la
Seccin Administracin de cuentas Unix y Samba va smbldap-tools.

Mostrando la informacin del nuevo usuario:


root@pdc:~# smbldap-usershow jmedina dn:
uid=jmedina,ou=Users,dc=example,dc=com
objectClass:
top,person,organizationalPerson,inetOrgPerson,posixAccount,shadowAccount cn: jmedina
sn: jmedina givenName: jmedina uid: jmedina uidNumber: 1008 gidNumber: 513
homeDirectory:
/home/jmedina loginShell:
/bin/bash gecos: System
User
userPassword:
{SSHA}dFAiW/BAWzSnLVuQXfrtN3Ne/RxHSlgz
shadowLastChange: 14049 shadowMax: 99999

Verificando resolucin de identidades:


PEGYNTAEXAMEN
root@pdc:~# id jmedina
uid=1002(jmedina) gid=513(Domain Users) groups=513(Domain Users)

Verificando que no existe localmente (archivos)


root@pdc:~# grep jmedina /etc/passwd

58

Realizamos una conexin SSH al localhost para probar el login:


root@pdc:~# ssh jmedina@localhost jmedina@localhost's
password:
Linux pdc 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
To access official Ubuntu documentation, please visit:
http://help.ubuntu.com/
Last login: Thu Jun 19 18:16:12 2008 from localhost
jmedina@pdc:~$ pwd
/home/jmedina

Verificando que los UID y GID sean consistentes con los del LDAP:
jmedina@pdc:~$ id
uid=1008(jmedina) gid=513(Domain Users) groups=513(Domain Users)

Probando crear archivos y directorios y ver que reporte los UID y GID en los archivos y dirs creados:
jmedina@pdc:~$ mkdir DirPrueba
jmedina@pdc:~$ touch
ArchivoPrueba jmedina@pdc:~$ ls l total 4
-rw-r--r-- 1 jmedina Domain Users
0 2008-07-17 21:24 ArchivoPrueba drwxr-xrx 2 jmedina Domain Users 4096 2008-07-17 21:24 DirPrueba

El usuario puede cambiar su propia contrasea desde un shell usando el comando passwd.
jmedina@pdc:~$ passwd
Enter login(LDAP) password:123456
New UNIX password:NuevaContraseA
Retype new UNIX password:NuevaContraseA LDAP password information changed for jmedina passwd:
password updated successfully jmedina@pdc:~$

Nota

Recuerde que el comando passwd esta ligado a la bilioteca NSS y NSS a su vez con LDAP y realizar una operacin de cambio de
contrasea en el directorio LDAP.
Si utiliza una nueva contrasea debil el sistema (con ayuda de pam_cracklib) le notificar, por ejemplo:

59

jmedina@pdc:~$ passwd
Enter login(LDAP)
password:
New UNIX password:
BAD PASSWORD: it's WAY too short
New UNIX password:
BAD PASSWORD: it is based on your username
New UNIX password:
BAD PASSWORD: it is too simplistic/systematic
New UNIX password:
BAD PASSWORD: it is based on a dictionary word passwd:
Authentication token manipulation error passwd:
password unchanged

Note que las reglas de cracklib estan funcionando ya que no permite contraseas simples e
inseguras.

Captulo 9. Migracin de usuarios y grupos Unix/Posix al


directorio LDAP
Tabla de contenidos
Migracin de Usuarios (/etc/passwd y /etc/shadow)
Migracin de Grupos (/etc/group)

En este cpitulo explicaremos como migrar las cuentas locales de sistema (/etc/passwd) y los
grupos locales (/etc/group) a nuestro directorio LDAP.
En Ubuntu no se incluyen las herramientas necesarias para migrar cuentas Unix a LDAP, sin
embargo, estas herramientas estan como ejemplos en el directorio
necesitaremos
/usr/share/doc/smbldaptools/examples/migration_scripts/,
copiar estas herramientas a /usr/sbin/, lo haremos as:
Instalando el script para migrar cuentas unix:
root@pdc:~# zcat /usr/share/doc/smbldap-tools/examples/migration_scripts/smbldap-migrateunixaccounts.gz > \ /usr/sbin/smbldap-migrate-unix-accounts

Instalando el script para migrar grupos Unix:


root@pdc:~# zcat /usr/share/doc/smbldap-tools/examples/migration_scripts/smbldap-migrateunixgroups.gz > \
/usr/sbin/smbldap-migrate-unix-groups

Ahora le configuraemos los permisos a estos dos scripts para que puedan ser ejecutados sin
probleas:
root@pdc:~# chmod 755 /usr/sbin/smbldap-migrate-unix-*

60

Y por ltimo verificamos que los permisos se hayan puesto correctamente:


root@pdc:~# ls -l /usr/sbin/smbldap-migrate-unix-*
-rwxr-xr-x 1 root root 11640 2008-07-18 00:49 /usr/sbin/smbldap-migrate-unix-accounts
-rwxr-xr-x 1 root root 5533 2008-07-18 00:50 /usr/sbin/smbldap-migrate-unix-groups

Ahora que ya tenemos los scripts para migrar cuentas locales al directorio LDAP seguiremos con
las secciones para migrar cuentas y grupos.
Migracin de Usuarios (/etc/passwd y /etc/shadow)

La informacin de cuentas de usuario estan almacenadas en el archivo /etc/passwd, y en el archivo


/etc/shadow principalmente esta almacenado el hash de la contrasea del usuario. Migraremos la
informacin de ambos archivos siguiendo el siguiente procedimiento:
1. Hacer una copia de los archivos /etc/passwd y /etc/shadow en un directorio temporal:
root@pdc:~# cp /etc/passwd /etc/shadow /tmp/

2. Eliminar de ambos archivos todas las cuentas que no quieras importar en el directorio
LDAP
root@pdc:~# for user in root nobody bin daemon
do

export user

perl -i -pes@^$ENV{user}:(.*)\n@@
/tmp/passwd

perl -i -pes@^$ENV{user}:(.*)\n@@
/tmp/shadow done

3. Ahora migramos las cuentas de /tmp/passwd y /tmp/shadow a nuestro directorio:


root@pdc:~# smbldap-migrate-unix-accounts -a -P /tmp/passwd -S /tmp/shadow

Nota

Con la opcin -a de smbldap-migrate-unix-accounts, el atributo


sambaSAMAccount ser agregado a los usuarios importados. Todos los usuarios que
previamente tenan definido un shell valido en /etc/passwd entonces sern capaces
de conectarse a el servidor y actualizar su contrasea Windows usando el script
/usr/sbin/smbldap-passwd el comando passwd.
4. Eliminando los archivos temporales

61

root@pdc:~# rm -i /tmp/passwd /tmp/shadow


rm: remove regular file `/tmp/passwd'? y
rm: remove regular file `/tmp/shadow? y

En la siguiente seccin veremos como migrar los grupos.


Migracin de Grupos (/etc/group)

Ahora migraremos los grupos del archivo /etc/group. El proceso de Migracin deber de hacerse
como sigue:
1. Hacer una copia del archivo /etc/group a un directorio temporal:
root@pdc:~# cp /etc/group /tmp/

2. Elimina todos los grupos que no quieres que se importen al directorio LDAP
root@pdc:~# for group in root bin daemon
do

export group

perl -i -pes@^$ENV{group}:(.*)\n@@ /tmp/group done

3. Ahora si migramos los grupos al directorio LDAP


root@pdc:~# smbldap-migrate-unix-groups -a -G /tmp/group

4. Eliminando el archivo temporal


root@pdc:~# rm -i /tmp/group rm:
remove regular file `/tmp/group'? y

Nota

Con la opcin -a de smbldap-migrate-unix-groups, el atributo sambaGroupMapping


ser agregado a los grupos de manera que ellos podrn ser usados como grupos
Windows (entonces Samba mapeara los grupos Unix a los grupos Windows). Deberas
de eliminar esta opcin si no deseas hacer el mape de grupos unix a windows.
Podemos usar el comando getent para verificar que los usuarios y grupos migrados esten en el
directorio LDAP.

62

Captulo 10. Administracin de cuentas Unix y Samba


va smbldap-tools
En este capitulo veremos los comandos y archivos involucrados en la administracin de usuarios
y grupos tanto unix como samba, para cada comando veremos las opciones disponibles con su
descripcin y ejemplos de como utilizarlos para casos reales.
Introduccin

Normalmente la informacin de las cuentas de usuario y grupos de sistema (Posix) y Samba estn
almacenadas en una serie de archivos comunes, como /etc/passwd, /etc/group,
/etc/shadow

y /etc/samba/smbpasswd, pero en esta instalacin toda esta informacin esta


almacenada en una base de datos de usuarios y grupos centralizada, es decir, en un directorio
LDAP.

Para administrar los usuarios y grupos ya no podremos utilizar las herramientas ordinarias como:
useradd, passwd, groupadd, etc, en su lugar usaremos las herramientas smbldap-tools, estas
herramientas estn especialmente diseadas para administrar usuarios y grupos de sistema y samba
almacenados en un directorio LDAP.
A continuacin se describirn estas herramientas para realizar las tareas comunes de
administracin de usuarios y grupos.
Atributos predefinidos para la creacin de usuarios

Las herramientas smbldap-tools tienen algunos archivos de configuracin que son usados para
configurar las cuentas en el directorio LDAP, adems se pueden establecer valores predefinidos
para algunos atributos de cuentas y grupos, tanto Posix como Samba. El archivo principal de
configuracin de las smbldap-tools es: /etc/smbldap-tools/smbldap.conf. Este archivo fue
generado en el cpitulo Configuracin de Samba y las herramientas smbldap-tools en la seccin
Instalacin y Configuracin de las smbldap-tools.
Creacin de cuentas de usuarios

Para la administracin de usuarios, en especifico agregar usuarios, usaremos el comando smbldapuseradd. Una lista de las opciones que podemos usar a la hora de crear usuarios se muestran en la
siguiente tabla. Como ya vimos arriba, muchas opciones las podemos predeterminar en el archivo
/etc/smbldap-tools/smbldap.conf, algunas cadenas que inician con $ se refieren a parmetros
variables definidas en archivo de configuracin /etc/smbldaptools/smbldap.conf.

Tabla 10.1. Tabla de opciones disponibles para el comando smbldap-useradd


63

Opcin Descripcin
-a

Crea una cuenta Windows, si no se especifica


esta opcin el comando smbldap-useradd
solo crear una cuenta Unix/POSIX

-w

Crea una cuenta de Computadora Windows


(Windows Workstation)

-u -u
-g

Ejemplo

Establece el valor del User ID (UID) del


1003 Primer siguiente UID disponible

Valor Predeterminado

usuario

Estable el valor para el Group ID (GID). Este -g 1003


ser el grupo primario del usuario

Primero

disponible

siguiente

GID

Agrega la cuenta a uno o ms grupos suplementarios (Secundarios),


si se van a
-G -G

512,550

establecer varios grupos suplementarios, cada nombre de grupo va


seprado por coma.
-d

Establece la ruta del directorio $HOME del


usuario

-d /var/usuario

$userHomePrefix/usuario

-s

Estable el shell de login para el usuario

-s /bin/ksh

$userLoginShell

-c

Establece el campo gecos del la cuenta de -c "Usuario Administrador"


usuario, preferiblemente usar -N y -S para
asignar Nombre y Apellido

-m

Crea el directorio $HOME para el nuevo


usuario y copia el contenido de /etc/skel
dentro del directorio.

-P

$userGecos

Al terminar el comando smbldap-useradd,


smbldap-passwd es invocado para establecer
la contrasea del usuario
-A 1

-A

El usuario puede cambiar su contrasea: 0 =


No, 1 = S

-B

El usuario debe cambiar su contrasea la -B 1


primer vez que inicia sesin: 0 = No, 1 = S

64

Opcin Descripcin

Ejemplo

Establece la ruta para el recurso compartido -C \\PDC\homes


homes en el servidor Samba, usado por la
opcin -D

-C

Valor Predeterminado
$userSmbHome

NOTA: Si se desea desactivar el mapeo del -C ""


directorio home en el servidor al usuario, se
asigna un valor vaco:
Estable la letra de la unidad de red con la que se mapear el $HOME
del usuario en el
-D

servidor (-C) al usuario cuando inicie sesin -D H:


en el dominio. NOTA: Hay que agregar los ":" (dos puntos) al final de
la letra.

$userHomeDrive

NOTA: Si no se desea mapear el home del -D ""


usaurio, debemos de asignar un valor vaco.
Establece la ruta al directorio (el el servidor) -F \\PDC\profiles\usuario
del perfil de Windows para uso con perfiles
mviles (Roaming Profiles)

-F

$userProfile

NOTA: Si no se desea activar el uso de -F ""


roaming profiles para el usuario se debe de
asignar un valor vacio.
-N

Establece el nombre cannico del usuario

-N Juan

-S

Establece el surname (apellido) del usuario

-S Perez

Por ejemplo, Agregaremos uno usuario a Usuario Red 1 con el login usuariored1 el cual:

Es un usuario de Windows (-a)


El grupo primario del usuario ser el grupo con el GID 512 (Domain Users) (-g)

Tiene un directorio home en /home/usuariored1 (-d)


No tiene un login shell (-s)
La cuenta NO tendr soporte para perfiles mviles (roaming profiles) (-F "")
Y al final del comando se preguntar la contrasea del usuario (-P)
El nombre cannico es Juan (-N)
El apellido es Red 1 (-S)

65

Lo hacemos con el siguiente comando:


PREGUNTAEXAMEN
root@pdc:~# smbldap-useradd -a -g 512 -m -N "Usuario" -S "Red 1" -s /bin/false -d
/home/usuariored1 -F "" -P usuariored1
Changing UNIX and samba passwords for usuariored1
New password: 123456
Retype new password:123456

Ya que algunos atributos ya los predefinimos, entonces podemos obviarlos y ejecutar:


root@pdc:~# smbldap-useradd -a -m -P usuariored1
Changing UNIX and samba passwords for usuariored1
New password:123456
Retype new password:123456

Digamos que para agregar un usuario que solo sera usado para ejecutar comandos
administrativos y agregar maquinas al dominio, entonces deber de pertenecer al grupo Domain
Admins: Ejecutamos:
root@pdc:~# smbldapuseradd -a -m -G 512
/bin/bash
-s Changing UNIX
and
samba passwords for
usuarioadmin
New
password:123456
Retype new
password:123456

-P
usuarioadmin

Nota

Para conocer acerca de las dems opciones del comando smbldap-useradd ver la pgina del
manual del comand smbldap-useradd(8).
Hay opciones como -C, -D, -E y -F que sera mejor desactivarlas de forma global en el archivo
/etc/smbldap-tools/smbldap.conf.

Para ver como configurar los privilegios para que usuarioadmin pueda unir maquinas al dominio
ver la seccin Delegando tareas y privilegios a los miembros del dominio.
Eliminacin de cuentas de usuarios

Para eliminar una cuenta de usuario, se usa el comando smbldap-userdel, por ejemplo:
root@pdc:~# smbldap-userdel usuariored1

66

Si deseas eliminar la cuenta usuariored1 del directorio LDAP, y si tambin deseas eliminar el
directorio $HOME, use el parmetro -r, por ejemplo: comando:
root@pdc:~# smbldap-userdel -r usuariored1

Otros parmetros para eliminar cuentas de usuario:


Tabla 10.2. Tabla de opciones disponibles para el comando smbldap-userdel
Opcin Descripcin
-r

Elimina el directorio $HOME del usuario

-R

Elimina el directorio $HOME del usuario de forma interactiva

Aviso

El usar la opcin -r es peligroso ya que puede eliminar datos importantes del usaurio, usalo
con cuidado.
Cambiando la contrasea de un usuario

Para cambiar la contrasea de un usuario usamos el comando smbldap-passwd como se muestra


en el siguiente ejemplo:
root@pdc:~# smbldap-passwd usuariored1
Changing UNIX and samba passwords for usuariored1
New password:654321
Retype new password:654321

Si desea permitir que los usuarios Windows puedan cambiar su contrasea desde el mismo
Windows vea la seccin Permitiendo que usuarios Windows cambien su contrasea de dominio.
Modificacin de cuentas de usuario

Para modificar una cuenta de usuario, usamos el comando smbldap-usermod. Las opciones
disponibles estn listadas en la siguiente tabla:
Tabla 10.3. Tabla de opciones disponibles para el comando smbldap-usermod
67

Opcin Descricpcin

Ejemplo

-c

Establece el campo gecos del la cuenta de usuario

-c
"Usuario
Administrador"

-d

Establece la ruta del directorio $HOME del usuario

-d /var/user

-u

Estable el valor del User ID (UD) del usuario

-u 1003

Opcin Descricpcin

Ejemplo
-g 1003

-g

Estable el valor para el Group ID (GID). Este ser el grupo primario del usuario

-G

Agrega la cuenta a uno o ms grupos suplementarios (Secundarios), si se van a establecer varios -G 512, 550
grupos suplementarios, cada nombre de grupo va seprado por coma.

-s

Estable el shell de login para el usuario

-N

Estable el nombre cannico del usaurio

-S

Estable el surname (apellido) del usaurio

-P

Al terminar el comando smbldap-useradd, smbldap-passwd es invocado para establecer la


contrasea del usuario

-a

Agrega el objectClass sambaSAMAccount a la cuenta, es decir, le agrega los atributos necesarios


para que el usuario pueda conectarse a recursos compartidos en red (SMB/CIFS) y pueda hacer
login en el dominio NT/Samba.

-e

Establece la fecha de expiracin para la contrasea del usuario, (Formato: YYYY-MM-DD


HH:MM:SS)

-A

El usuario puede cambiar su contrasea: 0 = No, 1 = S

-A 1

-B

El usuario debe cambiar su contrasea la primer vez que inicia sesin: 0 = No, 1 = S

-B 1

-C

Establece la ruta para el recurso compartido homes en el servidor Samba, usado por la opcin -C \\PDC\homes
D

-s /bin/ksh

68

NOTA: Se se desea desactivar el mapeo del directorio home en el servidor al usuario, se asigna -C ""
un valor vaco:

-D

Estable la letra de la unidad de red con la que se mapear el $HOME del usuario en el servidor -D H:
(-C) al usuario cuando inicie sesin en el dominio. NOTA: Hay que agregar los ":" (dos puntos)
al final de la letra.
NOTA: Si no se desea mapear el home del usaurio, debemos de asignar un valor vaco.

-E

-D ""

Nombre del script batch (DOS) para ejecutarse al inicio de sesin del usuario. NOTA: La ruta al -E common.bat
logon script debe de ser relativa a la ruta del recurso [netlogon]
NOTA: Si no se desea ejecutar un logon script para el usuario se debe de especificar un valor -E ""
vaco.

Opcin Descricpcin
-F

Ejemplo

Establece la ruta al directorio (el el servidor) del perfil de Windows para uso con perfiles mviles -F
\\PDC\profiles\usuario
(Roaming Profiles)
NOTA: Si no se desea activar el uso de roaming profiles para el usuario se debe de asignar un -F ""
valor vacio.

-I

Desabilita (desactiva) la cuenta de usuario

-I 1

-J

Habilita (despues de haber sido desactivada) la cuenta de usaurio

-J 1

Tambin puedes usar el comando smbldap-userinfo para actualizar la informacin del usuario.
Este comando tambin puede ser usado por los usuarios para actualizar su propia informacin, la
informacin que pueden cambiar los usaurios esta listada en la siguiente tabla:
Nota

Si se permite que los usuarios modifiquen su propia informacin, entonces se debern de


configurar los ACL (Listas de Control de Acceso) apropiadamente en el servidor LDAP.
Tabla 10.4. Tabla de opciones disponibles para el comando smbldap-userinfo
Opcin Descipcin

Ejemplo

69

-f

Estable el nombre completo -f Mi Nombre con Apellidos


del usuario

-w

Establece
el
nmero
-w 55 44 33 22 11 begin_of_the_skype_highlighting
telefnico del Trabajo
33 22 11 FREE end_of_the_skype_highlighting

-h

Establece
el
telefnico de Casa

-s

Establee el login shell -s /bin/bash


predeterminado del usuario

55 44

nmero -h 22 11 22 33 44

Hay opciones como -C, -D, -E y -F que sera mejor desactivarlas de forma global en el archivo
/etc/smbldap-tools/smbldap.conf.

70

Administracin de Grupos de Sistema y Grupos Samba

Para la administracin de grupos se usarn diferentes comandos que se explican a continuacin.


Agregando Grupos

Para agregar un nuevo grupo usaremos el comando smbldap-groupadd. Una lista de opciones
disponibles que se encuentran en la siguiente tabla:
Tabla 10.5. Tabla de opciones disponibles para el comando smbldap-groupadd
Opcin Descipcin
-a

El grupo ser automaticamente mapeado a un grupo de Dominio


(Windows). El mapeo de GID a SID es automatico.

-g gid

Establece el Group ID (GID) del grupo

-o

El GID del grupo no es nico.

Ejemplo

-g 1002

-r
RID- Establece el ID Relativo (RID) para el grupo Samba
GRUPO

-r 1002

-s
SID- Establece el SID del grupo a SID-GRUPO
GRUPO

-s S-1-5-21-3703471949371859183823245856961002

-t

Establece el tipo de grupo (solo grupos samba), Los valores -t 4


disponibles son: 2 (domain group), 4 (local group) y 5 (builtin
group). El tipo de grupo predeterminado es el tipo 2 (grupo de
dominio).

-p

Imprime el GID a la salida estandar (stdout)

Por ejemplo, si queremos agregar un grupo llamado contabilidad, el cual:

Automaticamente se mapeara a un grupo de Samba (Windows) (-a)


Se le asignar el ID de Grupo (GID) 3000 (-g 3000)
Y le agregaremos el RID 300, al igual que el GID (-r 3000)

71

Ejecutamos el siguiente comando:


PREGUNTAEXAMEN root@pdc:~# smbldap-groupadd -a -g 3000 -r
3000 contabilidad

Normalmente no es necesario especificar el gid ni el rid manualmente, ya que dejaremos que elija
el siguiente disponible, por lo que solamente podemos ejecutar:
root@pdc:~# smbldap-groupadd -a contabilidad

Para visualizar la informacin del nuevo grupo podemos usar el comando smbldap-groupshow,
por ejemplo:
PREGUNTAEXAMEN
root@pdc:~# smbldap-groupshow contabilidad dn:
cn=contabilidad,ou=Groups,dc=example,dc=com
objectClass: top,posixGroup,sambaGroupMapping
cn: contabilidad gidNumber: 1001
sambaSID: S-1-5-21-1482872308-118742792-23177566043003 sambaGroupType: 2 displayName: contabilidad

Eliminando Grupos

Para eliminar grupos, usaremos el comando smbldap-groupdel, por ejemplo, para eliminar el
grupo contabilidad usaremos el siguiente comando:
root@pdc:~# smbldap-groupdel contabilidad

Este comando no requiere de opcin alguna.


Agregando usuarios a Grupos

Para agregar un usuario a un grupo usamos el comando smbldap-groupmod, por ejemplo,


queremos agregar el usuario jmedina al grupo recin creado contabilidad, usaremos el comando:
root@pdc:~# smbldap-groupmod -m jmedina contabilidad adding
user jmedina to group contabilidad

Si queremos agregar ms de un usuario a un grupo deberemos de separar cada nombre de usuario


por coma, por ejemplo:
Queremos agregar el usuario miguel, carlos y sara al grupo contabilidad
root@pdc:~# smbldap-groupmod -m miguel,carlos,sara contabilidad
adding user miguel to group contabilidad adding user carlos to
group contabilidad

72

adding user sara to group contabilidad

Eliminando Usuarios de Grupos

Para eliminar algn usuario miembro de un grupo usamos el comando:


root@pdc:~# smbldap-groupmod -x miguel contabilidad deleting
user miguel from group contabilidad

Si queremos eliminar ms de un usuario a la vez separamos cada nombre de usuario por coma,
como en el siguiente ejemplo:
root@pdc:~# smbldap-groupmod -x carlos,sara contabilidad
deleting user carlos from group contabilidad
deleting user sara from group contabilidadEliminando Usuarios de Grupos

Revisando usuarios en Grupos

Para saber a que grupo pertence un usuario usamos el comando:


root@pdc:~# groups sara sara :
Domain Users contabilidad

73

Captulo 11. Tareas de Mantenimiento de OpenLDAP y


Samba
Cambiar o asignar contrasea al Root DN de OpenLDAP

En OpenLDAP el DN definido en la directiva rootdn del archivo slapd.conf(5) no es sujeto a las


restricciones impuestas por las ACLs, ya que esta es una cuenta privilegiada se recomienda que se
asigne una contrasea fuerte y que dicha cuenta solo se use para tareas que requieran privilegios
elevados.
En nuestro ejemplo en el archivo slapd.conf tenemos nuestra definicin de base de datos tenemos
las siguientes directivas:
rootdn "cn=Manager,dc=example,dc=com" rootpw
secret

En este ejemplo la contrasea del rootdn esta en texto plano, para cambiarla y protegerla usando
un hash criptogrfico siga los siguientes pasos:
1. Genere el hash de la contrasea usando slappasswd:
# slappasswd
New password:
Re-enter new password:
{SSHA}VanYekdrphCkbjDffLCXbBsxsg3QJBI6

Nota

El hash predefinido es SSHA, si desea cambiar el tipo de hash use la opcin -h para
definir un hash diferente, por ejemplo: -h {CRYPT}, para ms informacin vea la
pagina del manual de slappasswd(8).
2. Copie el HASH {SSHA}VanYekdrphCkbjDffLCXbBsxsg3QJBI6 y cambielo en el
valor rootpw del archivo /usr/share/slapd/slapd.conf por ejemplo:
rootdn "cn=Manager,dc=example,dc=com" rootpw
{SSHA}VanYekdrphCkbjDffLCXbBsxsg3QJBI6

Importante

74

Asegurese de que el archivo /usr/share/slapd/slapd.conf tenga los permisos


adecuados, por ejemplo en Debian/Ubuntu se recomiendan los permisos:
root:openldap / 640 (que para este ejemplo ya los tiene).

Para que el cambio tome efecto reinicie el servicio LDAP:


# /etc/init.d/slapd restart
* Stopping OpenLDAP slapd
* Starting OpneLDAP slapd

[ OK ]
[ OK ]

OPCIONAL
Tambien
puede
mantener
la
contrasea
del
rootdn
fuera
del
archivo
/usr/share/slapd/slapd.conf, es decir, puede eliminar la directiva rootpw del archivo
/usr/share/slapd/slapd.conf y agregar una entrada para el DN en el directorio LDAP.
Los beneficios que obtenemos al mantener la entrada el rootdn en el directorio son:

Puede actualizar la contrasea de forma dinamica sin reiniciar el servicio usando una
operacin de modificacin desde cualquier cliente LDAP.
Si olvida la contrasea siempre puede realizar la configuracin manual usando
slappasswd(8) y slapd.conf(5).

Para mantener la entrada del RootDN en el directorio LDAP siga este procedimiento:
1. Cree el archivo /tmp/rootdn.ldif con la entrada para la cuenta del root dn en formato
LDIF:
dn: cn=Manager,dc=example,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole cn:
Manager
description: LDAP Manager
userPassword: {SSHA}VanYekdrphCkbjDffLCXbBsxsg3QJBI6

2. Agrega el LDIF usando ldapadd:


# ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f /tmp/rootdn.ldif

Se recomienda que no use la cuenta cn=Manager,dc=example,dc=com en sus tareas de


administracin de rutina, en su lugar se recomienda que cree una cuenta privilegiada para tales
propositos, por
ejemplo
en
Debian/Ubuntu
se
usa
el
DN
de
la
cuenta cn=admin,dc=example,dc=com la cual ya tiene los ACLs predefinidos para
que tenga permisos completos sobre la base de datos predefinida.
75

Referencias adicionales:

man slapd.conf(5)
man slapd(8)
man slappasswd(8)
man slapadd(8)
OpenLDAP Software 2.4 Administrators Guide - Directory Backups

Agregar nuevos indices de atributos en OpenLDAP

Cuando usa OpenLDAP con backends basados en Berkeley DB por ejemplo el backend tipo hdb
debe de tener indexados los atributos ms utilizados en las consultas LDAP y as incrementar el
rendimiento en las consultas desde las aplicaciones y clientes LDAP, un ejemplo de un atributo no
indexado lo podemos ver en los logs de OpenLDAP:
slapd[4164]: <= bdb_equality_candidates: (uniqueMember) not indexed

El mensaje anterior nos muestra que se estan haciendo consultas para el atributo uniqueMember y
no esta indexado lo cual se puede reflejar en bajo rendimiento del servicio LDAP.
Para agregar uno o ms atributos a la lista de indices para una base de datos en OpenLDAP debe
de seguir el siguiente procedimiento:
1. Agregar definicin de indice para los atributos deseados al archivo de configuracin del
servicio OpenLDAP:
# nano /usr/share/slapd/slapd.conf

Nota

Estas tareas se realizan sobre distribuciones basadas en Debian como Unbuntu.


Bajo la definicin de la base de datos en cuestion agregue los indices:
index memberUid,uniqueMember eq

En este caso agregamos los atributos memberUid y uniqueMember de tipo Equality.


Si solo reinicia el servicio slapd solo se indexarn los atributos para las nuevas entradas,
para que los atributos existentes tambin sean indexados debe detener el servicio slapd y
ejecutar el programa slapindex
2. Detener servicio slapd:
76

# /etc/init.d/slapd stop

3. Establecer permisos para archivos de bases de datos de slapd para root:


# chown -R root:openldap /var/lib/ldap

4. Indexar los atributos memberUid y uniqueMember:


# slapindex -v memberUid uniqueMember

5. Re establecer permisos para archivos de bases de datos de slapd:


# chown -R openldap:openldap /var/lib/ldap

6. Ahora ya puede iniciar el servicio slapd con todos los atributos indexados.
# /etc/init.d/slapd start

Referencias adicionales:
slapindex(8)
FAQ de OpenLDAP sobre Performance Tunning
Respaldar los archivos de configuracin de OpenLDAP

Se recomienda respaldar los directorios de configuraciones tanto de Samba, OpenLDAP, smbldaptools, NSS LDAP y PAM.
En la siguiente tabla se muestra una lista:
Tabla 11.1. Directorios de configuracin a respaldar
Servicio

Archivos y Directorios

OpenLDAP

/etc/ldap/, /etc/default/slapd

Samba

/etc/samba

smbldap-tools /etc/smbldap-tools/

77

libnss-ldap

/etc/ldap.conf, /etc/ldap.secret, /etc/nsswitch.conf

PAM

/etc/pam.d

Incluya los archivos y directorios mencionados en la tabla de arriba en su sistema de respaldos.

Respaldar y Restaurar una base de datos de OpenLDAP (OPCIONAL)

En esta seccin explicar como crear una copia de seguridad de una base de datos en un servidor
OpenLDAP, generaremos respaldos en frio y en caliente, los respaldos sern generados en formato
LDIF. Suponiendo que en el archivo /usr/share/slapd/slapd.conf tenemos una definicin de
base de datos as:
# Specific Backend Directives for hdb:
backend hdb
# Specific Directives for database #1, of type hdb:
database hdb
# The base of your directory in database #1
suffix "dc=example,dc=com"
# Where the database file are physically stored for database #1
directory "/var/lib/ldap"

El programa slapcat(8) lee la informacin de la base de datos en orden secuencial y genera la


salida correspondiente en formato LDIF incluyendo atributos de usuario y operacionales, el
programa slapcat solo respaldara las entradas que se leyeron en el momento de la ejecucin, si en
el momento de que slapcat esta ejecutandose se realiza una operacin de escritura sobre alguna
entrada dicho cambio no ser incluido en el respaldo.
En OpenLDAP las bases de datos de tipo hdb y bdb pueden ser respaldadas mientras el servicio
slapd(8) esta en ejecucin usando el programa slapcat, a este tipo de respaldo se le llama en
caliente.
Si no esta seguro de que no habr modificacioens en los datos de las bases de datos de OpenLDAP
y no sabe si dichos cambios puedan afectar las aplicaciones o clientes LDAP se recomienda que
detenga el servicio slapd antes de generar el respaldo con slapcat, a este tipo de respaldo se le llama
en frio.
Para crear un respaldo en frio de una base de datos de OpenLDAP siga el siguiente procedimiento:
1. Detener el servicio slapd:
# /etc/init.d/slapd stop

78

2. Respaldar la base de datos usando el programa slapcat:


# slapcat -b dc=example,dc=com -l respaldo-dc=example,dc=com-`date
+%d%b-%Y`.ldif

El comando slapcat generar un respaldo de la base de datos dc=example,dc=com


definida por el parametro -b en el archivo respaldo-dc=example,dc=com-`date +%d%b%Y`.ldif definido por el parametro -l.
Para crear un respaldo en caliente de una base de datos de OpenLDAP solo ejecute el
comando slapcat como en el paso dos del ejemplo anterior.
Se recomienda que el archivo del respaldo sea movido a un lugar fuera del servidor.
Para restaurar la base de datos a partir del archivo LDIF generado por slapcat siga el siguiente
procedimiento:
1. Apagar el servicio slapd:
# /etc/init.d/slapd stop

2. Limpiar el directorio de base de datos de slapd:


# (cd /var/lib/ldap/; rm -fv alock __db.* *.bdb log.*)

3. Restaurar directorio a partir del archivo LDIF:


# slapadd -v -b dc=example,dc=com -l respaldo-dc=example,dc=com-`date +%d-%b-%Y`.ldif

4. Opcionalmente Re indexe todos los atributos:


# slapindex -v

5. Re establecer permisos al directorio de datos:


# chown -R openldap:openldap /var/lib/ldap

6. Iniciar el servicio slapd:


# /etc/init.d/slapd start

Y listo, puede usar el comando slapcat para verificar los datos, y no olvide verificar sus
aplicaciones cliente.
79

Referencias adicionales:
El formato LDIF man
slapd.conf(5) man
slapd(8) man slapcat(8)

man slapadd(8)
OpenLDAP Software 2.4 Administrators Guide - Directory Backups
Respaldando archivos importante de Samba

Respaldar los archivos en el directorio /etc/samba/ y /var/lib/samba/


TODO: Meter ejemplo real: detener samba, crear directorio de respaldos mkdir -p
/var/backups/samba/, cp -va /var/lib/samba/* /var/backups/samba/var/lib/samba/, cp -va
/etc/samba/* /var/backups/samba/etc/samba/
Respaldando el SID del Dominio Samba

Es prudente almacenar el SID de la maquina y/o dominio en un archivo por seguridad, Porque?
Porque un cambio en el nombre de la maquina (hostname) o en el nombre de dominio (workgroup)
puede resultar en un cambio en el SID. As, cuando tienes el SID a la mano, es simple restaurarlo.
La alternativa sera sufrir el dolor de tener que recuperar los perfiles de los usuarios de escritorio
y quizas re-unir todos las maquinas miembras del dominio.
Primero, no olvides almacenar el SID local a un archivo. Es una buena idaa ponerlo en el directorio
en el que el archivo smb.conf esta almacenado, un ejemplo simple seria:
root@pdc:~# net getlocalsid > /etc/samba/EXAMPLE-SID

Para restaurar el SID usamos el comando:


root@pdc:~# net setlocalsid S-1-5-21-1482872308-118742792-2317756604

Captulo 12. Integrando Clientes Windows al Dominio


Samba
En este capitulo veremos como unir un equipo windows a una red basada en un dominio
Samba/NT. Cuando el equipo windows es unido al dominio se dice que es un equipo miembro de

80

dominio, el procedimiento para unir un equipo Windows a un Dominio Samba/NT incluye los
siguientes pasos:

Configurar los parmetros de red en el equipo Windows.


Configuracin del nombre de equipo Windows.
Unir el equipo al dominio Samba.
Iniciar sesin en el dominio Samba.

Adems de unir el equipo windows al dominio samba, veremos algunas otras operaciones que se
deben o pueden realizar en un entorno de red windows con un controlador de dominio samba
relacionados a la comparticin de recursos como archivos e impresoras.
Antes de continuar con el procedimiento debe asegurarse de cumplir con los requerimientos de red
y de sistema que se listan en la siguiente seccin.
Requerimientos del sistema

Para que un equipo Windows pueda ser unido al dominio es necesario que cumpla con los
siguientes requerimientos:

Debe de ser un sistema operativo Windows 2000 Professional o Windows XP Profesional,


los equipos con Windows Home Edition no pueden participar por completo en un Dominio
de Red por lo tanto no se podr utilizar el siguiente procedimiento.
Debe de tener una interfaz de red funcional y tener conectividad con el servidor de PDC.
Se debe de tener una cuenta de usuario con privilegios administrativos en el equipo local,
por ejemplo, la cuenta root/Administrator.
Se debe tener una cuenta de usuario de dominio que sea miembro del grupo de red Domain
Users.

En las siguientes secciones se describen los procedimientos antes mencionados para unir un equipo
windows al dominio Samba.

Configuracin de los parmetros de red en el equipo Windows

En esta seccin se describe como verificar que los parmetros de red en nuestro equipo Windows
estn correctamente configurados.
Informacin necesaria para configurar los parmetros de red

Antes de unir un equipo Windows al dominio, verificaremos que los parmetros de red estn
correctamente configurados, recuerde que la informacin de red de la red de la empresa es:

Nombre de empresa: EXAMPLE S.A. de C.V.


Dominio Samba/NT: EXAMPLE.
81

Dominio DNS: example.com.


Nombre NetBIOS del servidor PDC: PDC-SRV.
Nombre DNS FQDN: pdc.example.com.
Direccin IP de red para el dominio EXAMPLE : 192.168.1.0/24.
Direccin IP del servidor PDC: 192.168.1.3. (TU DIRECCION IP UBUNTU)
Direccin IP del gateway para la red LAN: 192.168.1.254.
Direccin IP del
servidor DNS primario: 192.168.1.253.
Direccin IP del servidor DNS secundario: 192.168.1.254.
Direccin IP del servidor WINS: 192.168.1.3. (TU DIRECCION IP UBUNTU)
La
informacin del equipo windows que se va a unir al dominio es la siguiente:
Nombre NetBIOS del cliene Windows: WINPC001.
Nombre DNS FQDN: winpc001.example.com. Direccin IP: 192.168.1.50/24.

El soporte NetBIOS sobre TCP/IP debe estar activado en el cliente windows.


Configurando correctamente los parmetros de red

Para verificar o cambiar estos parmetros ir a Panel de Control=>Conexiones de Red e


Internet=>Conexiones de Red.
Dar click derecho al icono de Conexin de rea local, seleccionar el elemento Protocolo Internet
(TCP/IP) y dar click en el botn Propiedades
Dentro del cuadro de dialogo Propiedades de Protocolo Internet (TCP/IP) dar click en el botn de
Opciones Avanzadas

82

Figura 12.1. Propiedades de Protocolo Internet (TCP/IP) General

En el cuadro de dialogo Configuracin avanzada de TCP/IP despus damos click en la pestaa


de nombre WINS
En esta pestaa vamos a agregar la direccin IP de nuestro servidor WINS (NetBIOS Name Server
NBNS), para agregar el servidor WINS damos click en el botn Agregar como se muestra en la
imagen de abajo.

83

Figura 12.2. Propiedades de Protocolo Internet (TCP/IP) Configuraciones WINS

Agregamos la direccin IP de nuestro servidor Samba WINS como se muestra en la imagen de


abajo

84

Figura 12.3. Propiedades de Protocolo Internet (TCP/IP) Configuraciones WINS - Agregar

Despus de agregar la direccin IP del servidor WINS damos click en el botn Agregar y el
servidor WINS aparecer en la lista.
Nota

Podemos agregar ms de un servidor WINS, el sistema los evaluar en el orden en que


aparecen.

85

Para terminar nuestras configuraciones damos click en el botn Aceptar para regresarnos al cuadro
de dialogo de configuraciones avanzadas, estando en el cuadro de dialogo de Propiedades de
Protocolo Internet (TCP/IP) General damos click en el botn Aceptar y por ultimo damos click
en el botn Cerrar para que nuestros cambios tomen efecto.
Verificacin de los Parmetros de Red

Solo para confirmar que la configuracin si hay tomado efecto damos doble click sobre el icono
de Conexin de rea local.
Despus damos click en la pestaa Soporte.
Ah nos muestra una parte de la configuracin de red. damos click en el botn Detalles... para ver
la informacin completa de la configuracin de red.
Figura 12.4. Viendo los detalles de la conexin de red

Si despus de verificar los detalles de los parmetros de red todo esta bien, entonces podemos
continuar con el paso de configuracin del nombre de equipo.
86

Configuracin del nombre de equipo Windows

Verificacin de nombre de equipo y grupo de trabajo.


Esta es una computadora recin instalada y en el proceso de instalacin se le asigno el nombre de
equipo: winpc001.
Para verificar el nombre de nuestro equipo vamos al Panel de Control=>Rendimiento y
mantenimiento=>Sistema
Estando en el cuadro de dialogo Propiedades del sistema vamos a la pestaa de Nombre de
equipo donde veremos algo ai:
Figura 12.5. Propiedades del sistema, Nombre de Equipo

87

Si se desea cambiar el nombre del equipo (recordar que este nombre ser como nos vern en la
red), podemos dar click en el botn Cambiar... y nos aparecer una ventana como la siguiente.
Figura 12.6. Propiedades del sistema, Cambios en el nombre de equipo

Importante

No use un nombre de equipo que sea igual a un usuario local o de dominio ya que no esta
permitido.
Se cambia el nombre donde dice Nombre de equipo: y se da click en Aceptar.
El nombre de Grupo de trabajo Dominio no es necesario cambiarlo en este paso ya que puede
ser cambiado en el proceso de unir la maquina al dominio.

88

Uniendo el equipo Windows al Dominio Samba


Para unir el equipo al dominio podemos usar el Asistente para identificacin de red el cual nos llevar paso a paso
en el proceso para que el equipo sea un miembro del dominio de red Samba/NT.
Lanzamos el asistente de identificacin de red dando click en el botn Id. de red. Figura
12.7. Usando el Asistente de Identificacin de red

jperezx

La primer pantalla nos da la bienvenida al asistente para conectar el equipo a una red.

89

Figura 12.8. Asistente de identificacin de red, paso 1

Para continuar con el asistente damos click en el botn Siguiente >


El siguiente paso nos pregunta que tipo de equipo tenemos, en nuestro caso seleccionamos la
opcin que dice: El equipo forma parte de una red organizativa y lo utilizo para conectarme
a otros equipos en el trabajo y damos en el botn Siguiente > para continuar.

90

Figura 12.9. Asistente de identificacin de red, paso 2

En el siguiente paso nos pregunta el tipo de red de nuestra organizacin, elegimos la opcin: Mi
compaia utiliza una red con dominio y damos click en el botn Siguiente >.

91

Figura 12.10. Asistente de identificacin de red, paso 3

En el siguiente paso del asistente nos da un da un resumen de la informacin de red que


necesitamos para unir este equipo al dominio

92

Figura 12.11. Asistente de identificacin de red, paso 4

A continuacin se muestra la informacin requerida junto con la informacin correspondiente a


nuestro dominio:

Nombre de usuario: jperez.


Contrasea de usuario: 123456.
Cuenta de usuario del dominio: jperez.

Es posible que tambin necesite:

Nombre del equipo: winpc001.


Dominio del equipo: EXAMPLE.

Adems necesitaremos la contrasea del usuario root/Administrator del dominio, esta cuenta ser
necesaria para poder unir la maquina al dominio y crear la cuenta de computadora correspondiente
a winpc001. Configuramos esta informacin como se muestra en la siguiente imagen:

93

Figura 12.12. Asistente de identificacin de red, paso 5

Despus de ingresar la informacin damos click en el botn Siguiente >.


Al dar click en Siguiente el asistente tratar de encontrar una cuenta de equipo de nombre winpc001
en el dominio EXAMPLE, si no la encuentra nos mostrar un cuadro como el siguiente, donde nos
avisa que no encontr la cuenta de equipo en el dominio, nos pide escribir nuevamente el nombre
de equipo y el dominio.

94

Figura 12.13. Asistente de identificacin de red, paso 6

Damos click en el botn Siguiente >, ya que la cuenta de equipo no se encontr en el dominio
EXAMPLE, necesitaremos usar una cuenta con privilegios administrativos de dominio y su
contrasea para que por medio del asistente de identificacin de red se cree la cuenta de equipo
winpc001 en el dominio EXAMPLE.

95

Figura 12.14. Asistente de identificacin de red, paso 7

Ya que no tenemos cuentas con privilegios administrativos de dominio, usaremos la cuenta de


root/Administrator que se creo con smbldap-populate, ingresamos su contrasea y el nombre
de dominio EXAMPLE como se muestra en la imagen de arriba, despus damos click en el botn
Aceptar para continuar.
Si las credenciales que presentamos fueron correctas, en la siguiente ventana, nos dir que podemos
agregar un usuario al equipo, cuando se agrega un usuario a este equipo se le concede acceso a
todos los recursos del equipo y a todos los recursos compartidos en la red.

96

Figura 12.15. Asistente de identificacin de red, paso 8

Usaremos el nombre de usuario: jperez y el nombre de dominio: EXAMPLE, como se muestra


en la imagen de arriba y damos click en el botn Siguiente > para continuar.
En la siguiente ventana nos solicita asignar un nivel de acceso que el usuario jperez tendr sobre
el equipo WINPC001, por defecto esta seleccionado el nivel de acceso: Usuario estndar.

97

Figura 12.16. Asistente de identificacin de red, paso 9

El nivel de acceso Usuario estndar permite que los usuarios pueden cambiar muchas
configuraciones del sistema e instalar programas que no afecten a los archivos del sistema de
Windows. Digamos que este es el nivel intermedio.
El nivel de acceso Usuario restringido permite que los usuarios pueden utilizar el equipo y
guardar documentos, pero no pueden instalar programas o cambiar la configuracin del sistema.

98

En Otros: podemos elegir otros niveles de acceso, por ejemplo, podemos dar acceso de
Administrator al usuario, esto quiere decir que el usuario jperez tendr todos los privilegios sobre
el equipo WINPC001, lo cual significa que puede cambiar configuraciones, puede instalar y
desinstalar programas que afecten el sistema, es decir, puede hacer lo que le de la gana sobre el
equipo, incluso formatear :D.
Por ahora seleccionamos el nivel de acceso Usuario estndar y damos click en el botn Siguiente
> para finalizar.
Figura 12.17. Asistente de identificacin de red, Ultimo Paso

El ltimo paso nos dice que ya hemos completado con xito el asistente para identificacin de red,
y nos solicita re iniciar el equipo para que los cambios tengan efecto. Damos click en el botn
Finalizar.

99

Figura 12.18. Asistente de identificacin de red, Re iniciar el equipo

Damos click en el botn Aceptar y nos lleva a la siguiente imagen:


Figura 12.19. Asistente de identificacin de red, Alerta de re iniciar el equipo

100

Para que los cambios que hicimos en el asistente de identificacin de red tenga efecto es necesario
re iniciar el equipo, damos click en el botn Aceptar para terminar y re iniciar.
Si el equipo se uni satisfactoriamente al dominio, Samba crear una cuenta de computadora, la
cual autoriza al equipo para acceder a los recursos de la red. Puede ver la lista de cuentas de
computadoras con el comando pdbedit, por ejemplo:
root@pdc:~# pdbedit -L
# pdbedit -L root:0:root
nobody:65534:nobody
jperez:1009:Juan Perez
winpc001$:1011:WINPC001$

Las cuentas de computadora terminan con el simblo $, use el parmetro -V para ver ms
informacin acerca de la cuenta, por ejemplo:
root@pdc:~# pdbedit -Lv winpc001$
Unix username:
winpc001$
NT username:
winpc001$
Account Flags:
[W
]
User SID:
S-1-5-21-1482872308-118742792-2317756604-1001
Primary Group SID:
S-1-5-21-1482872308-118742792-2317756604-515
Full Name:
WINPC001$
Home Directory:
HomeDir Drive:
Logon Script:
logon.bat
Profile Path:
Domain:
EXAMPLE
Account desc:
Computer
Workstations:
Munged dial:
Logon time:
0
Logoff time:
never
Kickoff time:
never
Password last set:
0
Password can change: 0
Password must change: 0
Last bad password
: 0
Bad password count : 0
Logon hours
: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Nota

Las cuentas de computadora tienen el Account Flags W, el cual significa que es un workstation
no una cuenta de usuario.
Las cuentas de computadora se crean en la OU=Computers. En la siguiente seccin veremos como
iniciar sesin en un dominio de red.
101

Como Iniciar Sesin el Dominio Samba

Despues de reiniciar el equipo nos cambiar la ventana de inicio de sesin a como se muestra a
continuacin.
Figura 12.20. Inicio de sesin de Windows - Pantalla inicial

Para poder iniciar sesin presionamos la combinacin de teclas Ctrl+Alt+Supr y nos mostrar
una ventana como la siguiente:

102

Figura 12.21. Inicio de sesin de Windows - Pantalla predeterminada de login

Si queremos ver en que equipo o dominio queremos iniciar sesin podemos dar click en el botn
"Opciones" y nos mostrar algo as:

103

Figura 12.22. Inicio de sesin de Windows - Pantalla con opciones activa

Nota

Si queremos conectarnos al equipo local, damos click en el men desplegable de Conectarse


a: y elegimos: WINPC001 (este equipo).
Despus de iniciar sesin en el dominio el men de inicio se ver as:

104

Figura 12.23. Inicio de sesin - Men inicio

Ahora que el usuario a iniciado sesin en el equipo usando las credenciales del dominio, el usuario
podr acceder a los recuros a los que esta autorizado.
Como permitir que un usuario cambie la contrasea de dominio

Es posible dar acceso a que el usuario pueda actualizar su contrasea de dominio desde el sistema,
esto es recomendable cuando se manejan politicas de expiracin de contraseas.
Para autorizar a un usuario a cambiar su contrasea de dominio desde windows use el comando
smbldap-usermod con el parmetro -A 1 para darle acceso, por ejemplo:
# smbldap-usermod -A 1 jperez

105

Ahora el usuario debe teclear Ctrl+Alt+Supr para que le aparezca el siguiente men:

Seleccine el botn Cambiar contrasea..., y entonces ver el siguiente cuadro:

Escriba su contrasea actual y la nueva dos veces para actualizarla, presione Aceptar para aplicar
la nueva contrasea.
106

Si la contrasea es actualizada satisfactoriamente, recibir el siguiente mensaje de confirmacin:

Cuando cambia la contrasea desde windows Samba actualiza la contrasea en los atributos
sambaLMPassword y sambaNTPassword, as como la contrasea Unix/LDAP en el atributo
userPassword automticamente.
Para desactivar el cambio de contrasea a una cuenta que previamente le dio acceso use smbldapusermod con el parmetro -A 0, por ejemplo:
# smbldap-usermod -A 0 jperez

Si el usuario intenta cambiar su contrasea de dominio y no tiene autorizacin para hacerlo recibir
el siguiente mensaje.

107

Como mapear una unidad de disco en red al directorio home en el servidor

En esta seccin veremos como conectar una unidad de disco en red en un cliente de dominio
windows, esta funcionalidad permite que los usuarios del dominio puedan acceder a sus archivos
personales que se encuentran en el directorio $HOME del servidor Samba desde cualquier lugar
en la red.
Hay dos formas de mepear el directorio $HOME a una unidad de disco en los clientes windows,
uno es hacerlo de forma global para todos los usuarios del dominio y la otra es de forma individual
por cada usuario.
Para el mtodo global debe definir el parmetro logon home y logon drive en la seccin
[global] del archivo de configuracin de samba /etc/samba/smb.conf, por ejemplo:
logon home = \\PDC\homes
logon drive = H:

Si no desea definir el logon home y logon drive de forma global use como valor una caden vaca,
por ejemplo:
logon home =
logon drive =

108

Para definir el logon home de forma individual para un usuario del dominio puede usar el comando
smbldap-usermod con el parmetro -C --sambaHomePath, y para definir el logon drive de
forma individual use el parmetro -D o --sambaHomeDrive, por ejemplo:
root@pdc:~# smbldap-usermod -C '\\PDC\jperez' -D 'H:' jperez

Use el comando pdbedit para verificar los cambios:


root@pdc:~# pdbedit -Lv jperez
Unix username:
jperez
NT username:
jperez
Account Flags:
[U
]
User SID:
S-1-5-21-1482872308-118742792-2317756604-3018
Primary Group SID:
S-1-5-21-1482872308-118742792-2317756604-513
Full Name:
Juan Perez
Home Directory:
\\PDC\jperez
HomeDir Drive:
H:
Logon Script:
Profile Path:
Domain:
EXAMPLE
Account desc:
Workstations:
Munged dial:
Logon time:
0
Logoff time:
never
Kickoff time:
never
Password last set:
Mon, 21 Mar 2011 21:26:39 CST
Password can change: Mon, 21 Mar 2011 21:26:39 CST
Password must change: never
Last bad password
: 0
Bad password count : 0
Logon hours
: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Inicie una nueva sesin con el usuario jperez y use el Explorador de archivos para verificar que la
unidad de disco H: esta conectada al directorio $HOME del servidor.

109

Figura 12.24. Mapeo de $HOME en Servidor al unidad H: Local

El usuario puede usar la unidad H para almacenar documentos personales y estos sern
almacenados en su directorio $HOME (/home/jperez) en el servidor.
Para desactivar el logon home para un usuario use el comando smbldap-usermod con el
parmetro -C, y para desactivar el logon drive use el parmetro -D o --sambaHomeDrive con un
valor nlo, por ejemplo:
root@pdc:~# smbldap-usermod -C '' -D '' jperez

Para ms informacin de como conectar unidades de red ver el articulo Cmo conectar y
desconectar una unidad de red en Windows XP.

110

Como compartir archivos en la red a usuarios y grupos de dominio

En esta seccin se explicar como un usuario de dominio puede compartir una carpeta en su equipo
local a ciertos miembros y grupos del dominio, la carpeta compartida tendr las siguientes
caracteristicas:

La carpeta C:\ParaGrupoContabilidad ser compartida.


Los miembros del grupo de dominio contabilidad tendrn acceso total.
El usuario de dominio efuentes del departamento Direccin tendr acceso total.
El usuario de dominio hperez del departamento Finanzas tendr acceso de solo lectura.

Creamos la carpeta ParaGrupoContabilidad en el disco C:\, abajo se ve un ejemplo:


Figura 12.25. Listado Carpeta a compartir

Despues damos clic con el botn derecho sobre la carpeta y damos clic en Compartir y
seguridad..., esto nos llevar al men para configurar los parametros para compartir la carpeta, as
como los permisos que tendrn los usuarios y grupos de red.

111

Configuraremos el nombre de la carpeta y opcionalmente un comentario, como se muestra en la


imagen de abajo.
Figura 12.26. Parametros de carpeta compartida

Ahora veremos como configurar los controles de acceso que definimos arriba.
Damos clic en el botn Permisos, nos aparecer el siguiene cuadro de dialogo:

112

Figura 12.27. Permisos de carpeta compartida

Primero agregaremos el grupo contabilidad, el usuario efuentes y el usuario hperez, adelante


veremos como asignar los permisos a cada uno.
Nota

Los nombres de usuarios y grupos de dominio se deben de escribir usando la siguiente


notacin:

Nombre de grupo: EXAMPLE\contabilidad.


Nombre de usuario: EXAMPLE\efuentes.
Nombre de usuario: EXAMPLE\hperez.

113

Damos clic en el botn Agregar.... Y en el recuadro que dice: Escriba los nombres de objecto
que desea seleccionar cada uno de los objectos va separado por un punto y coma ;, como se
muestra en la imagen de abajo:
Figura 12.28. Seleccionar Usuarios o Grupos

Despues damos clic en Aceptar y nos regresa a la venana anterior con los usuarios y gruipos en la
lista, como se muestra en la siguiente imagen:

114

Figura 12.29. Permisos por usuario y gruipo

Ahora que ya estan los usuarios y grupos en la lista, seleccionaremos cada uno para asignarle sus
permisos. Asignaremos los permisos de la siguiente forma:
1. Eliminar el grupo Todos ya que solo se da acceso a algunos miembros del dominio
2. Seleccionar contabilidad (EXAMPLE\contabilidad) y en el recuadro de abajo
seleccionar Control Total.

115

Figura 12.30. Permisos para grupo EXAMPLE\contabilidad

3. Seleccionar el usuario efuentes (EXAMPLE\efuentes) y verifique que solo tiene permisos


de Leer.
Figura 12.31. Permisos para EXAMPLE\efuentes

4. Seleccionar el usuario hperez (EXAMPLE\hperez) y verifique que solo tiene permisos


de Leer tal y como se hizo con EXAMPLE\efuentes.
5. Para terminar de clic en Aceptar y otra vez en Aceptar para que los cambios tomen efecto.
Puede probar directamente desde otra maquina windows en la que hay iniciado sesin algn
usuario miembro del grupo contabilidad.

116

Como habilitar el uso de scripts de inicio de sesin en un dominio Samba

Hay dos formas de habilitar la ejecucin de un logon sript a los usuarios del dominio Samba, uno
es hacerlo de forma global para todos los usuarios del dominio y la otra es de forma individual por
cada usuario.
Para el mtodo global debe definir el parmetro logon script en la seccin [global] del archivo
de configuracin de samba /etc/samba/smb.conf, por ejemplo:
logon script = logon.bat

Si no desea definir el logon home y logon drive de forma global use como valor una caden vaca,
por ejemplo:
logon script =

La ruta absoluta al script de inicio de sesin es relativa a la ruta del recurso compartido
[netlogon], en la seccin de instalacin de samba se creo uno de prueba con el siguiente
contenido:
# nano /home/samba/netlogon/logon.bat

Tiene el siguiente contenido:


net time \\PDC /set /yes net
use p: \\PDC\publico

Para habilitar el uso de el logon script logon.bat para un usuario de dominio use el comando
smbldap-usermod con el parmetro -E --sambaLogonScript, por ejemplo:
# smbldap-usermod -E logon.bat jperez

Use el comando pdbedit para validar el cambio:

117

# pdbedit -Lv jperez


Unix username:
NT username:
Account Flags:
User SID:
Primary Group SID:
Full Name:
Home Directory:
HomeDir Drive:
Logon Script:
Profile Path:
Domain:
Account desc:
Workstations:
Munged dial:
Logon time:
Logoff time:
Kickoff time:
Password last set:
Password can change:
Password must change:
Last bad password
:
Bad password count :
Logon hours
:

jperez
jperez
[U
]
S-1-5-21-1482872308-118742792-2317756604-3018
S-1-5-21-1482872308-118742792-2317756604-513
Juan Perez
\\PDC\jperez
H:
logon.bat
EXAMPLE

0
never
never
Mon, 21 Mar 2011 22:29:31 CST
Mon, 21 Mar 2011 22:29:31 CST
never
0
0
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Ahora inicie una nueva sesin y verifique que el reloj del sistema esta sincronizado con el servidor
PDC y que se creo la unidad de red P: que esta mapeada al directorio publico \\PDC\publico.
Para desactivar el logon script para un usuario use el comando smbldap-usermod con el
parmetro -E con un valor nlo, por ejemplo:
root@pdc:~# smbldap-usermod -E '' jperez

118

Captulo
13. Integrando Clientes
Dominio Samba

Linux/Unix al

En este capitulo veremos los procedomiento requeridos para integrar un sistema cliente Linux al
dominio EXAMPLE.COM usando NSS_LDAP, NSS_PAM, SAMBA y otras herramientas.
Informacin preliminar del equipo cliente Linux

Explicar como unir un cliente unix/linux a nuestro dominio.


Tenemos un cliente Linux que tiene su autenticacin independiente usando los archivos
/etc/passwd, /etc/shadow y /etc/group principalmente
Queremos unir este equipo al dominio, es decir, el equipo ser un miembro del dominio, y podr
participar en la autenticacin centralizada y comunicarse con los otros hosts, sean servidores linux
o windows.
Configurando la resolucin de Identidades con NSS_LDAP
Esta mquina se llama LNXDSKT01
Tiene la direccin IP: 192.168.1.81
Configuracin de la autenticacin de usuarios y grupos UNIX va PAM_LDAP
VER CAPITULO Configuracin de la resolucin de Identidades con NSS_LDAP
Instalando el software necesario para unir cliente Linux a Dominio LDAP

Instale el paquete libnss-ldap:


root@lnxdskt01:~# apt-get install libnss-ldap

Configurando la resolucin de cuentas de usuario y grupos mediante LDAP en clientes Linux

Para la resolucin de cuentas de usuario y grupos Unix mediante LDAP usaremos el paquete
libnss-ldap, la configuracin es similar al servidor, solo cambiar la direccin IP del servidor
LDAP.
Configuramos el archivo /etc/ldap.conf para libnss-ldap:
# Config file for libnss-ldap and libpam-ldap
uri
ldap://192.168.1.10/
ldap_version 3 scope
sub

119

base dc=example,dc=com
pam_filter objectclass=posixAccount
pam_login_attribute uid pam_member_attribute
memberuid
pam_password exop
nss_base_passwd
nss_base_passwd
nss_base_shadow
nss_base_group

ou=Users,dc=example,dc=com
ou=Computers,dc=example,dc=com
ou=Users,dc=example,dc=com
ou=Groups,dc=example,dc=com

bind_policy soft nss_initgroups_ignoreusers


backup,bin,daemon,dhcp,games,gnats,irc,klog,libuuid,list,lp,mail,man,news,ope
nldap,proxy,root,sshd,sync,sys,syslog,uucp,www-data
nss_initgroups_ignoreusers
backup,bin,daemon,dhcp,games,gnats,irc,klog,libuuid,list,lp,mail,man,news,ope
nldap,proxy,root,sshd,sync,sys,syslog,uucp,www-data

Cambiamos el archivo de configuracin /etc/nsswitch.conf para que utilize la fuente LDAP que
recien configuramos:
passwd:
group:
shadow:

compat ldap
compat ldap
compat ldap

hosts:

wins files mdns4_minimal [NOTFOUND=return] dns mdns4

Probando la resolucin de usuarios va archivos y LDAP:


root@jmlap:~# getent passwd | grep root
root:x:0:0:root:/root:/bin/bash root:x:0:0:Netbios Domain
Administrator:/home/root:/bin/false

Tamben podemos probar la resolucin para grupos:


root@jmlap:~# getent group | grep -E 'root|Domain' root:x:0:jmedina Domain
Admins:*:512:root
Domain Users:*:513:
Domain Guests:*:514:
Domain Computers:*:515:

Si despues de hacer las pruebas anteriores obtienes los mismos resultados significa que la
resolucin de cuentas de usuario y grupo mediante LDAP esta funcionando correctamente en el
sistema. El siguiente paso es la configuracin de la autorizacin mediante PAM y las bibliotecas
PAM-LDAP.

120

Configurando la Autorizacin de cuentas de usuario y grupos mediante LDAP en clientes Linux


con PAM

Instale los paquetes requeridos:


root@jmlap:~#apt-get install libpam-ldap libpam-cracklib

Antes de iniciar con los cambios en la configuracin de los modulos de autenticacin PAM,
haremos un respaldo del directorio /etc/pam.d/
Todas las configuraciones de PAM estan en el directorio /etc/pam.d/, respaldaremos todo el
directorio
root@ushldap:~# cd /etc/

Nuestro respaldo tendr el sufijo .FILES para indicar que son las configuraciones que usan los
archivos /etc/passwd, /etc/group y /etc/shadow.
root@ushldap:~# cp -va pam.d pam.d.FILES

Configuracin del modulo auth

Configurar los archivos de acuerdo a:


root@ushldap:~#
auth
auth
required

cat /etc/pam.d/common-auth
sufficient
pam_unix.so likeauth nullok
sufficient
pam_ldap.so use_first_pass auth
pam_deny.so

Configuracin del modulo account config

de
root@ushldap:~# cat /etc/pam.d/common-account
account
required
pam_unix.so account
sufficient
pam_ldap.so

Configuracin del modulo session azdfasf

Connfigurando la Autorizacin (Authz) con PAM LDAP:


root@ushldap:~# cat /etc/pam.d/common-session
session
required
pam_mkhomedir.so skel=/etc/skel/ umask=0022
session
required
pam_unix.so session
optional
pam_ldap.so

121

Configuracin del modulo password


root@ushldap:~# cat /etc/pam.d/common-password
password
required
pam_cracklib.so difok=2 minlen=8 dcredit=2
ocredit=2 retry=3
password
sufficient
pam_unix.so nullok use_authtok md5
shadow password
sufficient
pam_ldap.so use_authtok password
required
pam_deny.so

Probando la autorizacin mediante PAM LDAP en cliente Linux

Realice prueba de login local va TTY, remoto SSH y login grfico con GDM y KDM.
Configurando resolucin de cuentas de dominio mediante Samba

Ahora configuraremos la Autorizacin de cuentas de usuarios y grupos LDAP mediante los


modulos de autenticacin PAM. Para ms detalles acerca de la configuracin de PAM y LDAP en
el cliente Linux seguir los pasos descritos en la seccin "Configurando los modulos de
autenticacin de PAM"
Ahora mostraremos solo los archivos que se modifican.
Autenticacin de usuarios y grupos de dominio Samba en clientes Linux

Instale los paquetes samba y smbclient:


root@jmlap:~# apt-get install samba smbclient

Ahora creamos el archivo de configuracin con el siguiente contenido:


#
# Archivo de configuracin para desktop miembro de dominio
#
[global]
workgroup =
EXAMPLE
netbios
name = jmlap
server string = jmlap en EXAMPLE
security = DOMAIN
username map = /etc/samba/smbusers
#========== Configuraciones de Red ===========================
socket options = TCP_NODELAY SO_RCVBUF=8192
SO_SNDBUF=8192
interfaces = ath0 lo
bind interfaces
only = Yes
smb ports = 139 445

122

hosts allow = 192.168.1. 127.


hosts deny = 0.0.0.0
remote announce =
192.168.1.255
wins server =
192.168.1.10
name resolve order = wins hosts lmhosts bcast
#========= Opciones para registro de eventos (Logging)======
log level =
1
syslog = 0
log file =
/var/log/samba/%m.log
max log
size = 50
utmp = Yes
#========= Opciones para la codificacin ===================
Dos charset = 850
Unix
charset = ISO8859-1
display charset = ISO8859-1
#========= Configuraciones para LDAP =======================
passdb backend =
ldapsam:ldap://192.168.1.10/
ldap admin dn =
cn=admin,dc=example,dc=com
ldap suffix =
dc=example,dc=com
ldap group suffix =
ou=Groups
ldap user suffix = ou=Users
ldap
machine suffix = ou=Computers
ldap idmap
suffix = ou=Idmap
idmap backend =
ldap:ldap://192.168.1.10/
idmap uid =
10000-20000
idmap gid = 10000-20000
winbind trusted domains only = Yes

Guardamos el archivo y el siguiente paso es agregar la contrasea del admin ldap:


root@jmlap:~# smbpasswd -W
Setting stored password for "cn=admin,dc=example,dc=com" in secrets.tdb
New SMB password:uacj
Retype new SMB password:uacj

Reiniciamos samba para que los cambios tomen efecto:


root@jmlap:~# /etc/init.d/samba
restart
*
Stopping
[ OK ]
*
Starting
[ OK ]

Samba

daemons

Samba

daemons

Ahora verificamos que samba pueda leer las cuentas de dominio:


root@jmlap:~# pdbedit -L

123

root:0:root nobody:65534:nobody
elconta:1000:Nombre Contador
asistenteconta:1001:asistenteconta
directora:1002:directora
jamdvwxpp$:1003:JAMDVWXPP$
asistentefinanzas:1004:asistentefinanzas

Solo como ultima medida verificamos que los UID de samba corresponden a los devueltos por nssldap:
root@jmlap:~# id asistentefinanzas
uid=1004(asistentefinanzas) gid=1004(finanzas) groups=1004(finanzas)
root@jmlap:~# id elconta uid=1000(elconta) gid=1000(contabilidad)
groups=1000(contabilidad)

Ahora unimos el equipo samba al dominio con el siguiente comando:


root@jmlap:~# net rpc join -U root
Password:uacj
Joined domain EXAMPLE.

Podemos utilizar el mismo comando net para obtener infomacin del dominio al que nos unimos:
root@jmlap:~# net rpc info -U Administrator
Password:
Domain Name: EXAMPLE
Domain SID: S-1-5-21-2911508632-2405292923-4115677068
Sequence number: 1232322213
Num users: 6
Num domain groups: 7 Num local groups: 0

Montaje automtico de carpetas compartidas mediante pam_mount

En esta seccin veremos como configurar un sistema cliente Linux para que cuando inicie sesion
en el sistema se monte automticamente un recurso compartido en red, como por ejemplo un
directorio SAMBA (cifs) o NFS, y que se desmonte automticamente cuando el usuario cierra la
sesin.
El montaje automtico lo realizaremos con el modulo PAM pam-mount, con pam-mount es posible
montar de forma automtica recursos compartidos en red cuando el usuario inicia sesin en el
sistema.
Para poder automontar volumens samba primero instalaremos el paquete libpam_mount y
despues crearemos una configuracin para montar el volumen.
Instale el paquete libpam_mount:

124

$ sudo apt-get install libpam_mount

Agregar al archivo de configuracin /etc/security/pam_mount.conf.xml las siguientes lineas:


<volume user="jmedina" fstype="cifs" server="truzka" path="jmedina"
mountpoint="/home/jmedina/truzka" options="serverino,iocharset=utf8"/>

Configuraciones de Samba para pam_mount


Agregar a /etc/pam.d/common-session:
Al final:
session optional

pam_mount.so

Por ejemplo:
session
optional
optional

required
pam_unix.so session
pam_ldap.so session
pam_mount.so

Agregar a /etc/pam.d/common-auth:
auth

optional

pam_mount.so

use_first_pass

Por ejemplo:
auth
sufficient
pam_unix.so likeauth nullok
auth
sufficient
pam_ldap.so use_first_pass auth
optional
pam_mount.so
use_first_pass auth
required
pam_deny.so

Con esto, al hacer login grfico co KDE automaticamente pasar la contrasea al modulo
pam_mount y montar el volumen. podemos ver que el directorio si se haya montado.
//truzka/jmedina on /home/jmedina/truzka type cifs (rw,mand)

No es necesario crear el directorio del punto de montaje manualmente, ya que la configuracin de


pam_mount crear el directorio automticamente si no existe. El parametro de configuracin para
la creacin automtica de directorios de puntos de montaje es mkmountpoint y esta activada por

125

default en el archivo de conifguracin instalado por default en Ubuntu, podemos ver un ejemplo
de la configuracin de mkmountpoint en /etc/security/pam_mount.conf.xml:
<!-Create mountpoint if it does not exist yet. This is a good thing.
If enabled, and a mountpoint was created by pam_mount, the mountpoint will be
removed again on logout. To disable this behavior, use remove="false".
-->
<mkmountpoint enable="1" remove="true" />

Si no esta activado en su sistema cambie enable="0" por enable="1", note que tambin puede
configurar si usted desea que el directorio del punto de montaje sea eliminado automticamente al
cerrar la sesin.
Carpetas compartidas con ACL a usuarios y grupos de dominio

Ejemplos para compartir carpetas usando ACLs:


Escenario con un servidor miembro de dominio, el servidor LSFS001 ya esta integrado en el
dominio y tiene una particin /finanzas chown root:finanzas /finanzas chmod 770 /finanzas
Ver si usar Set GUID, o usarlo desde samba con create mode:
Asignando el ACL por default setfacl -d -m
Asignando permisos de rwx a al grupo contabilidad setfacl
-m
Asignando permisos de r-x a la directora
Asignando permisos r-x a la asistente de finanzas
Quizas poner ejemplo de una subcarpeta con otros ACL o dejar que los hagan desde windows, un
dueo
Escenario
por

para

compartir

una

carpeta

en

el

home del

usuario

ejemplo /home/jmedina/Reportes_Tickets crear directorio

mkdir ~/Reportes_Tickets

126

Autenticando cuentas de usuario de dominio de forma desconectada

Un problema muy frecuente es que los usuarios no pueden hacer login en su equipo local ya que
no tiene red o el servidor LDAP esta fuera de linea y por lo tanto es imposible autenticar el usuario.
Existe la posibilidad de permitir el login disconnected.

127

Vous aimerez peut-être aussi