Específica para GOsa

GOsa añade varios esquemas para el control de ciertos servicios y características de los usuarios.

Los esquemas necesarios para GOsa están en el paquete, en la seccion contrib, lo ideal será copiarlos todos a /etc/ldap/schema

Una configuración recomendada de /etc/ldap/slapd.conf es la siguiente:

Configuración Específica para GOsa
# Schema and objectClass definitions, configuración básica
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/openldap.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/misc.schema
# Estos esquemas deberían estar presentes en GOsa. En el caso de samba3
# se deben cambiar samba.schema y gosa.schema por samba3.schema
# y gosa+samba3.schema.
include /etc/ldap/schema/samba3.schema
include /etc/ldap/schema/pureftpd.schema
include /etc/ldap/schema/gohard.schema
include /etc/ldap/schema/gofon.schema
include /etc/ldap/schema/goto.schema
include /etc/ldap/schema/gosa+samba3.schema
include /etc/ldap/schema/gofax.schema
include /etc/ldap/schema/goserver.schema
#Obliga al cumplimiento de los ObjectClass
schemacheck on
# Password hash, tipo de encriptación de la clave
# Puede ser: {SHA}, {SMD5}, {MD4}, {CRYPT}, {CLEARTEXT}
password-hash {CRYPT}
# Base de busqueda por defecto
defaultsearchbase " dc=CHAOSDIMENSION,dc=ORG"
#Utilizado por init scripts para parar e iniciar el servidor.
pidfile /var/run/slapd.pid
# Argumentos pasados al servidor.
argsfile /var/run/slapd.args
# Nivel de logs
loglevel 1024
# Donde y que módulos cargar
modulepath /usr/lib/ldap
moduleload back_bdb # Berkeley BD versión 4
# Algunos parámetros de rendimiento
threads 64
concurrency 32
conn_max_pending 100
conn_max_pending_auth 250
reverse-lookup off
sizelimit 1000
timelimit 30
idletimeout 30
# Limitaciones específicas
limits anonymous size.soft=500 time.soft=5
# Definiciones de la base de datos
database bdb
cachesize 5000
checkpoint 512 720
mode 0600
# La base del directorio
suffix " dc=CHAOSDIMENSION,dc=ORG"
# Aquí definimos al administrador del directorio y su clave
# En este ejemplo es " tester"
# La clave se puede sacar con
# makepasswd -crypt -clearfrom fichero_con_nombre usuario
rootdn "cn=ldapadmin,dc=CHAOSDIMENSION,dc=ORG"
rootpw {crypt}OuorOLd3VqvC2
# Que atributos indexamos para hacer busquedas
index default sub
index uid,mail eq
index gosaMailAlternateAddress,gosaMailForwardingAddress eq
index cn,sn,givenName,ou pres,eq,sub
index objectClass pres,eq
index uidNumber,gidNumber,memberuid eq
index gosaSubtreeACL,gosaObject,gosaUser pres,eq
# Indexing for Samba 3 index sambaSID eq
index sambaPrimaryGroupSID eq
index sambaDomainName eq
# Quienes pueden cambiar las claves de usuario
# Solo por el propio usuario si está autentificado
# o por el administrador
access to attr=sambaPwdLastSet,sambaPwdMustChange,sambaPwdCanChange
by dn="cn=ldapadmin,dc=CHAOSDIMENSION,dc=ORG" write
by dn.regex="uid=[^{}/]+/admin\+(realm=CHAOSDIMENSION.LOCAL)?" write
by anonymous auth
by self write
by * none
access to attr=userPassword,shadowMax,shadowExpire
by dn="cn=ldapadmin,dc=CHAOSDIMENSION,dc=ORG" write
by dn.regex="uid=[^{}/]+/admin\+(realm=CHAOSDIMENSION.LOCAL)?" write
by anonymous auth
by self write
by * none
# Denegar acceso a las claves imap, fax o kerberos guardadas en
# LDAP
access to attr=goImapPassword
by dn="cn=ldapadmin,dc=CHAOSDIMENSION,dc=ORG" write
by dn.regex="uid=[^{}/]+/admin\+(realm=CHAOSDIMENSION.LOCAL)?" write
by * none
access to attr=goKrbPassword
by dn="cn=ldapadmin,dc=CHAOSDIMENSION,dc=ORG" write
by dn.regex="uid=[^{}/]+/admin\+(realm=CHAOSDIMENSION.LOCAL)?" write
by * none
access to attr=goFaxPassword
by dn="cn=ldapadmin,dc=CHAOSDIMENSION,dc=ORG" write
by dn.regex="uid=[^{}/]+/admin\+(realm=CHAOSDIMENSION.LOCAL)?" write
by * none
# Permite que el servidor escriba el atributo LastUser
access to attr=gotoLastUser
by * write
#Las claves samba por defecto pueden ser cambiadas
#por el usuario si se ha autentificado.
access to attr=sambaLmPassword,sambaNtPassword
by dn="cn=ldapadmin,dc=CHAOSDIMENSION,dc=ORG" write
by dn.regex="uid=[^{}/]+/admin\+(realm=CHAOSDIMENSION.LOCAL)?" write
by anonymous auth
by self write
by * none
# Permite acceso de escritura para administrador de terminales
access to dn=" ou=incoming,dc=CHAOSDIMENSION,dc=ORG"
by dn="cn=terminal-admin,dc=CHAOSDIMENSION,dc=ORG" write
by dn="cn=ldapadmin,dc=CHAOSDIMENSION,dc=ORG" write
by dn.regex="uid=[^{}/]+/admin\+(realm=CHAOSDIMENSION.LOCAL)?" write
access to dn.subtree=" ou=incoming,dc=CHAOSDIMENSION,dc=ORG"
by dn="cn=terminal-admin,dc=CHAOSDIMENSION,dc=ORG" write
by dn="cn=ldapadmin,dc=CHAOSDIMENSION,dc=ORG" write
by dn.regex="uid=[^{}/]+/admin\+(realm=CHAOSDIMENSION.LOCAL)?" write
# Directorio donde se guarda la base de datos
directory " /var/lib/ldap"
# Indicamos si deseamos guardar la fecha de la ultima modificación
lastmod off
# Acceso del administrador
access to *
by dn="cn=ldapadmin,dc=CHAOSDIMENSION,dc=ORG" =wrscx
by dn.regex="uid=[^{}/]+/admin\+(realm=CHAOSDIMENSION.LOCAL)?" =wrscx
by * read
Fin

aescanero AT gmail.com