Está en la página 1de 32

Samba + LDAP + MDS Debian Lenny

En este manual se mostrar el proceso de implantacin de un servidor con LDAP (servicio de directorio), Samba (Acceso Windows), servidor DNS (Bind), servidor DHCP y una interfaz grfica de configuracin (MDS) desde la que gestionar todos los servicios anteriores. Tambin se indicar cmo aadir clientes Windows y Linux para que usen Samba o LDAP para la autentificacin. Tambin se instalar un servicio de trabajo en grupo basado en web, Horde, adems de la configuracin de diversos clientes software (Outlook, Evolution, Thunderbird, Sunbird) para mantener sincronizados los datos entre la web y estos programas. Si necesita integrar un servidor de correo y sistema de trabajo en grupo basado en un servidor Active Directory ya existente, consulte este manual. Los pasos a seguir sern los siguientes: Introduccin Requisitos Suposiciones Copias de seguridad (visin general) Instalacin comn Introduccin Configuracin del sistema tras la instalacin Instalacin de software adicional Gestin de LOGs Instalacin del agente de MMC Instalacin y configuracin del servidor LDAP Instalacin y configuracin del cliente LDAP en el servidor Configuracin del agente de MMC Instalacin y configuracin de la interfaz web de MMC Instalacin y configuracin de phpLDAPadmin Copias de seguridad Samba Introduccin Instalacin de Samba Instalacin y configuracin del antivirus para Samba Configuracin de Samba Instalacin y configuracin de smbldap-tools Cambio de nombre a los grupos de Samba

Instalacin y configuracin del plugin de Samba a MDS Creacin del primer usuario Creacin y asignacin de polticas de grupo Adicin de un cliente Windows XP al dominio Samba Adicin de un cliente Linux (Debian/Ubuntu y derivados) para usar autentificacin por LDAP Copias de seguridad Servicio de fax Introduccin Instalacin de Hylafax Configuracin de Hylafax Clientes Windows Clientes Linux Copias de seguridad DNS/DHCP Introduccin DNS / DHCP - Instalacin y configuracin de los servidores con soporte LDAP Instalacin y configuracin del plugin de red a MDS Instalacin y configuracin de los servidores DNS y DHCP con soporte LDAP Primeros pasos con los servidores de red Copias de seguridad Correo Introduccin Instalacin y configuracin del plugin de correo a MDS Instalacin y configuracin de ClamAV (antivirus) Instalacin y configuracin de SpamAssassin (antispam) Instalacin y configuracin de Amavisd (proxy antivirus y antispam) Instalacin y configuracin de Postfix Postfix - Traduccin de los mensajes de respuesta Instalacin y configuracin de Dovecot Primeras tareas con las opciones de correo Comprobacin del funcionamiento del sistema antispam y antivirus Sistema de gestin de cuarentena

Copias de seguridad Webmail / Horde Introduccin FIXME Instalacin de webmail bsico (Nocc) Horde Instalacin de extensiones de PHP Instalacin de Horde (componente base) Instalacin y configuracin de la base de datos Configuracin de Horde IMP (mdulo de correo) Kronolith (mdulo de agenda) Turba (mdulo de libreta de direcciones) Nag (tareas) Mnemo (notas) Ingo (filtros) FIXME Passwd (cambiar la contrasea) Sam (mdulo para configurar SpamAssassin / Amavisd-new) Notas sobre la configuracin de SPAM con Horde Instalacin de nuevos temas Acceso a la aplicacin y primeras tareas Sincronizacin con Outlook Sincronizacin con Evolution Notas Copias de seguridad Mensajera instantnea Introduccin Instalacin de Openfire Configuracin de la base de datos Configuracin de Openfire Instalacin de plugins adicionales Primeras tareas de administracin Acceso al cliente web

Instalacin de cliente de MI Copias de seguridad FTP Introduccin Instalacin del servidor FTP Pure-FTPd Configuracin general del servidor FTP Configuracin de la autentificacin LDAP Adicin de usuarios virtuales Comandos de administracin Copias de seguridad Apache Introduccin Instalacin Configuracin de Apache para publicacin de directorios de usuario Copias de seguridad Comandos tiles y consejos Referencias FIXME En clientes Linux, que se monte el directorio /home por NFS desde el servidor, de tal forma, que desde cualquier mquina se tenga acceso al directorio personal al iniciar sesin.

Samba
Que cuando se cambie la contrasea desde Windows, tambin se cambie la contrasea de Linux. FIXME Que cuando se cambie la contrasea desde Linux, tambin se cambie la contrasea de Windows (smbk5pwd). FIXME Instalacin automatizada de software ( WPKG)

Correo
Habilitacin / Deshabilitacin de las opciones de antispam / antivirus por dominio y por usuario FIXME Gestin de listas de correo, gestin por pgina web. Que cuando llegue un mensaje calificado como SPAM se meta en la carpeta de SPAM o Correo no deseado, crendola si no existe. Que Horde reconozca la carpeta de SPAM o Correo no deseado como tal, y no como una carpeta creada manualmente. Que cuando desde un cliente de correo (Horde, Outlook, etc) se mueva un mensaje a la carpeta de SPAM, el sistema antispam lo analice para que aprenda que ese mensaje es SPAM (se puede

hacer con un mdulo de Dovecot). Que cuando desde un cliente de correo (Horde, Outlook, etc) se saque un mensaje de la carpeta de SPAM, el sistema antispam lo analice para que aprenda que ese mensaje NO es SPAM (se puede hacer con un mdulo de Dovecot). Que desde Horde se pueda cambiar la contrasea (cambiara tanto la contrasea de Linux como de Samba) Tener una libreta de contactos personal creada automticamente por cada usuario. Poder tener libretas de direcciones personales adicionales. Libreta de direcciones global de slo lectura con los usuarios y los grupos de LDAP. Administracin de listas blancas y listas negras del antispam a travs de la web. Administracin de los correos en cuarentena a travs de web ( MailZu). Limitacin por parte del administrador del tamao mximo del mensaje que puede enviar o recibir un usuario ( policyd).

Limitacin por parte del administrador del tamao mximo del buzn de un usuario.

Para el futuro
Authenticacin bajo Linux y Windows con Kerberos. Impresora PDF a travs de Samba, que deje los PDF en formato YYYYMMDDHHmmSS_titulo.pdf en un directorio en concreto de la carpeta de usuario, crendose esta automticamente si no existe; envo de confirmacin de la generacin del PDF a travs de un mensaje emergente (net send, smbclient -M); posibilidad del envo del PDF por correo electrnico, cogiendo la direccin del usuario directamente desde el directorio LDAP. Impresin de faxes a travs de Samba con Hylafax. Confirmacin a travs de email. Gestin web.

Copias de seguridad (visin general)


Las copias de seguridad se realizarn de forma modular. Se crear un script principal que ejecutar todos los scripts almacenados en un directorio (que se supone que se corresponder cada script con cada mdulo o parte de este manual; poe ejemplo, un script para LDAP, otro script para Samba, etc.). Comenzaremos por el script general. En este script se definirn una serie de variables generales, se realizarn tareas de mantenimiento general, y posteriormente se ejecutarn los scripts del directorio de mdulos:
# mkdir -p ~/backup mkdir -p ~/backup/modules nano ~/backup/backup.sh #!/bin/bash # Variables DIR=$(dirname $0) DIR=$(perl -e "use Cwd 'realpath'; print realpath('${DIR}')")

MODULEDIR=${DIR}/modules HOST=$(hostname -f) DATE=$(date +%Y-%m-%d_%H-%M-%S) USER=$(whoami) # Incluir archivo de configuracin . ${DIR}/conf.sh BACKUPDIR=${CONFBACKUPDIR}/${DATE} # Inicio del script echo echo echo echo echo echo echo echo echo echo "" "===============================================================================================" " SCRIPT PARA COPIAS DE SEGURIDAD DEL SERVIDOR \"${HOST}\"" "===============================================================================================" "" "El "El "El "El "" directorio directorio directorio directorio del script principal es: ${DIR}" de mdulos es: ${MODULEDIR}" donde se guardan las copias de seguridad es: ${CONFBACKUPDIR}" donde se guardar la copia de seguridad actual es: ${BACKUPDIR}"

echo "El usuario que est ejecutando el script es : ${USER}" echo "La hora actual es: ${DATE}" echo "" # Ejecucin de mdulos for i in ${MODULEDIR}/*.sh; do # Nos aseguramos de que el mdulo sea ejecutable chmod +x ${i} # Obtiene slo el nombre del archivo del mdulo MODULE=$(basename ${i}) # Le quita la extensin MODULE=${MODULE%%.*} echo "===============================================================================================" echo "========= Ejecutando mdulo ${MODULE}" echo "" # Creacin del directorio de copia de seguridad del mdulo MODULEBACKUPDIR=${BACKUPDIR}/${MODULE} echo "Comprobando si el directorio de copias de seguridad del mdulo existe..." if [ -d ${MODULEBACKUPDIR} ]; then echo "El directorio '${MODULEBACKUPDIR}' ya existe."; else echo "El directorio '${MODULEBACKUPDIR}' NO existe. Creando el directorio..." mkdir -p "${MODULEBACKUPDIR}" fi echo "" echo "Vaciando directorio de copias de seguridad del mdulo..." rm -Rf ${MODULEBACKUPDIR}/* echo "" # Por fin se ejecuta realmente el script . ${i} echo "Copia de seguridad del mdulo ${MODULE} finalizada." echo "" echo "" done

# Fin del script echo echo echo echo "===============================================================================================" "" "Script principal finalizado." ""

# chmod +x ~/backup/backup.sh

A continuacin crearemos el archivo de configuracin, donde deberemos especificar los parmetros de ejecucin de los mdulos. Por ahora, slo contendr la variable CONFBACKUPDIR, que indica el directorio donde se almacenarn las copias de seguridad, y los parmetros del mdulo BACKUPREMOVE, que se encarga de eliminar las copias de seguridad ms antiguas y que crearemos tras el archivo de configuracin; tambin crearemos el script del mdulo BACKUPCOMPRESS (que no tiene opciones) cuya funcin consiste en comprimir la copia de seguridad realizada.
# nano ~/backup/conf.sh #!/bin/bash CONFBACKUPDIR=/var/backup # Opciones para los mdulos # ======================================================================================================= ================ # BACKUP COMPRESS # Sin opciones # ======================================================================================================= ================ # BACKUP REMOVE BACKUPREMOVEMODE=files BACKUPREMOVECOUNT=5 # all, days or files

# ======================================================================================================= ================ # chmod +x ~/backup/conf.sh # nano ~/backup/modules/98_backup_compress.sh #!/bin/bash # Compresin de la copia de seguridad echo "Comprimiendo copia de seguridad..." tar -pczvf ${CONFBACKUPDIR}/${DATE}.tar.gz ${BACKUPDIR} rm -Rf ${BACKUPDIR} echo "" # nano ~/backup/modules/99_backup_remove.sh #!/bin/bash # Eliminacin de copias de seguridad antiguas echo "Borrando copias de seguridad antiguas..." if [ "x${BACKUPREMOVEMODE}" == "xfiles" ]; then echo "Se mantendrn las ${BACKUPREMOVECOUNT} ltimas copias de seguridad." rm -Rf $(ls --directory -t ${CONFBACKUPDIR}/* | sed -e 1,${BACKUPREMOVECOUNT}d) elif [ "x${BACKUPREMOVEMODE}" == "xdays" ]; then echo "Se mantendrn las copias de seguridad de los ltimos ${BACKUPREMOVECOUNT} das." find ${CONFBACKUPDIR}/* -maxdepth 1 -mtime +${BACKUPREMOVECOUNT} -exec rm -Rf {} \;

elif [ "x${BACKUPREMOVEMODE}" == "xall" ]; then echo "Se mantendrn todas las copias de seguridad guardadas hasta ahora." else echo "Valor de \$BACKUPREMOVEMODE no vlido (${BACKUPREMOVEMODE}). Revise su archivo de configuracin." echo "NO SE ELIMINAR NINGUNA COPIA DE SEGURIDAD." fi echo ""

Instalacin comn - Introduccin


En esta primera parte se configurar el sistema a partir de una instalacin bsica de la distribucin Linux Debian. Tambin se instalar y configurar el software necesario para el uso del resto de mdulos, como es el directorio LDAP.

Gestin de LOGs
Modificaremos el archivo /etc/syslog.conf para que enve los LOGs del servidor de LDAP a un archivo distinto; reiniciamos despus el servidor de LOGs:
# nano /etc/syslog.conf # Aadimos al final del archivo lo siguiente: local4.* /var/log/ldap.log # /etc/init.d/sysklogd restart

Instalacin del agente de MMC


Instalaremos los paquetes bsicos necesarios de MDS; lo dejaremos sin configurar hasta que hayamos instalado y configurado correctamente el resto de componentes; es necesario instalar los paquetes de MDS ya que los siguientes componentes necesitan algunos de los archivos suministrador por MDS:
# aptitude install mmc-agent python-mmc-plugins-tools python-mmc-base mkisofs

Posiblemente al final de la instalacin intente iniciar el agente MMC, dando un error al intentar conectar al servidor LDAP, ya que an no est instalado, ni el agente MMC est configurado correctamente. La salida del comando (en parte) es la siguiente:
Configurando mmc-agent (2.3.0-1) ... Starting Mandriva Management Console XML-RPC Agent: mmc-agent starting... Error while trying to load plugin base {'desc': "Can't contact LDAP server"} Traceback (most recent call last): File "/var/lib/python-support/python2.4/mmc/agent.py", line 344, in agentService if (func()): File "/var/lib/python-support/python2.4/mmc/plugins/base/__init__.py", line 112, in activate ldapObj = ldapUserGroupControl() File "/var/lib/python-support/python2.4/mmc/plugins/base/__init__.py", line 646, in __init__ self.l.simple_bind_s(username, password) File "/usr/lib/python2.4/site-packages/ldap/ldapobject.py", line 175, in simple_bind_s msgid = self.simple_bind(who,cred,serverctrls,clientctrls) File "/usr/lib/python2.4/site-packages/ldap/ldapobject.py", line 169, in simple_bind return self._ldap_call(self._l.simple_bind,who,cred,EncodeControlTuples(serverctrls),EncodeControlTuples(clien tctrls))

File "/usr/lib/python2.4/site-packages/ldap/ldapobject.py", line 94, in _ldap_call result = func(*args,**kwargs) SERVER_DOWN: {'desc': "Can't contact LDAP server"} MMC agent can't run without the base plugin. Exiting. failed. Configurando python-mmc-plugins-tools (2.3.0-1) ...

No nos preocuparemos de error, ya que todo se configurar ms adelante,

Instalacin y configuracin del servidor LDAP


Para instalar el servidor de LDAP ejecutaremos el siguiente comando:
# apt-get install slapd

Durante el proceso de instalacin se nos pedir una contrasea; simplemente pulsamos Intro en las dos ocasiones, ya que ms adelante la cambiaremos. El siguiente paso consiste en generar los archivos de esquema necesarios por el servidor de LDAP, suministrador por los paquetes de MDS:
# cd /etc/ldap/schema cp /usr/share/doc/python-mmc-base/contrib/ldap/mmc.schema . zcat /usr/share/doc/python-mmc-base/contrib/ldap/samba.schema.gz > samba.schema zcat /usr/share/doc/python-mmc-base/contrib/ldap/printer.schema.gz > printer.schema cp /usr/share/doc/python-mmc-base/contrib/ldap/mail.schema . zcat /usr/share/doc/python-mmc-base/contrib/ldap/dnszone.schema.gz > dnszone.schema zcat /usr/share/doc/python-mmc-base/contrib/ldap/dhcp.schema.gz > dhcp.schema wget http://wiki.nutum.es/_media/linux/samba/samba_ldap_mds/amavis.schema -P /etc/ldap/schema/

El archivo amavis.schema que acabamos de descargar desde esta web es el mismo archivo que el que se puede bajar desde la web de amavisd-new, aunque con un campo ms, amavisReminderFrequency, que permitir guardar en el directorio LDAP ,la frecuencia con la que el usuario recibir los recordatorios de los mensajes que tiene en cuarentena. Esto slo ser necesario en caso de usar las opciones del servidor de correo que veremos ms adelante. A continuacin debemos modificar el archivo de configuracin del servidor LDAP, ajustando los valores en negrita a nuestras necesidades:
# cp /etc/ldap/slapd.conf /etc/ldap/slapd.conf.$(date +%Y-%m-%d_%H-%M-%S) echo "" > /etc/ldap/slapd.conf nano /etc/ldap/slapd.conf # This is the main slapd configuration file. See slapd.conf(5) for more # info on the configuration options. ####################################################################### # Global Directives: # Features to permit #allow bind_v2 # Schema and objectClass definitions include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema

include include include include include include include include

/etc/ldap/schema/inetorgperson.schema /etc/ldap/schema/printer.schema /etc/ldap/schema/mail.schema /etc/ldap/schema/mmc.schema /etc/ldap/schema/samba.schema /etc/ldap/schema/dhcp.schema /etc/ldap/schema/dnszone.schema /etc/ldap/schema/amavis.schema

# Where the pid file is put. The init.d script # will not stop the server if you change this. pidfile /var/run/slapd/slapd.pid # List of arguments that were passed to the server argsfile /var/run/slapd/slapd.args # Read slapd.conf(5) for possible values loglevel none # Where the dynamically loaded modules are stored modulepath /usr/lib/ldap moduleload back_hdb # The maximum number of entries that is returned for a search operation sizelimit 1000 # The tool-threads parameter sets the actual amount of cpu's that is used # for indexing. tool-threads 1 ####################################################################### # Specific Backend Directives for hdb: # Backend specific directives apply to this backend until another # 'backend' directive occurs backend hdb ####################################################################### # Specific Backend Directives for 'other': # Backend specific directives apply to this backend until another # 'backend' directive occurs #backend <other> ####################################################################### # Specific Directives for database #1, of type hdb: # Database specific directives apply to this databasse until another # 'database' directive occurs database hdb # The base of your directory in database #1 suffix "dc=ruizypaez,dc=local" # rootdn directive for specifying a superuser on the database. This is needed # for syncrepl. # rootdn "cn=admin,dc=dc=ruizypaez,dc=local" # Where the database file are physically stored for database #1 directory "/var/lib/ldap" # The dbconfig settings are used to generate a DB_CONFIG file the first # time slapd starts. They do NOT override existing an existing DB_CONFIG # file. You should therefore change these settings in DB_CONFIG directly # or remove DB_CONFIG and restart slapd for changes to take effect. # For the Debian package we use 2MB as default but be sure to update this # value if you have plenty of RAM dbconfig set_cachesize 0 2097152 0 # Sven Hartge reported that he had to set this value incredibly high # to get slapd running at all. See http://bugs.debian.org/303057 for more # information. # Number of objects that can be locked at the same time.

dbconfig # Number dbconfig # Number dbconfig

set_lk_max_objects 1500 of locks (both requested and granted) set_lk_max_locks 1500 of lockers set_lk_max_lockers 1500

# Indexing options for database #1 ##index objectClass eq index objectClass,uidNumber,gidNumber eq index cn,sn,uid,displayName pres,sub,eq index memberUid,mail,givenname eq,subinitial index sambaSID,sambaPrimaryGroupSID,sambaDomainName eq index zoneName,relativeDomainName eq index dhcpHWAddress,dhcpClassData eq # Save the time that the entry gets modified, for database #1 lastmod on # Checkpoint the BerkeleyDB database periodically in case of system # failure and to speed slapd shutdown. checkpoint 512 30 # Where to store the replica logs for database #1 # replogfile /var/lib/ldap/replog # The userPassword by default can be changed # by the entry owning it if they are authenticated. # Others should not be able to see it, except the # admin entry below # These access lines apply to database #1 only ##access to attrs=userPassword,shadowLastChange access to attrs=userPassword,sambaLMPassword,sambaNTPassword by dn="cn=admin,dc=ruizypaez,dc=local" write by anonymous auth by self write by * none # Ensure read access to the base for things like # supportedSASLMechanisms. Without this you may # have problems with SASL not knowing what # mechanisms are available and the like. # Note that this is covered by the 'access to *' # ACL below too but if you change that as people # are wont to do you'll still need this if you # want SASL (and possible other things) to work # happily. access to dn.base="" by * read # The admin dn has full write access, everyone else # can read everything. access to * by dn="cn=admin,dc=nodomain" write by * read # For Netscape Roaming support, each user gets a roaming # profile for which they have write access to #access to dn=".*,ou=Roaming,o=morsnet" # by dn="cn=admin,dc=nodomain" write # by dnattr=owner write ####################################################################### # Specific Directives for database #2, of type 'other' (can be hdb too): # Database specific directives apply to this databasse until another # 'database' directive occurs #database <other> # The base of your directory for database #2 #suffix "dc=debian,dc=org"

Tras esto, debemos modificar el fichero /etc/ldap/ldap.conf. Cuando se realice una consulta al servidor LDAP, si no especificamos ciertos valores, se cogern los valores por defecto especificados en este

archivo:
# cp /etc/ldap/ldap.conf /etc/ldap/ldap.conf.$(date +%Y-%m-%d_%H-%M-%S) echo "" > /etc/ldap/ldap.conf nano /etc/ldap/ldap.conf # $OpenLDAP: pkg/ldap/libraries/libldap/ldap.conf,v 1.9 2000/09/04 19:57:01 kurt Exp $ # # LDAP Defaults # # See ldap.conf(5) for details # This file should be world readable but not world writable. #BASE #URI dc=example, dc=com ldap://ldap.example.com ldap://ldap-master.example.com:666 12 15 never

#SIZELIMIT #TIMELIMIT #DEREF

host 127.0.0.1 base dc=nutum,dc=local

A continuacin debemos generar la contrasea que queremos asignar al usuario admin del servidor LDAP; para ello generamos el siguiente comando:
# slappasswd -s secret {SSHA}0ybXXTY7TKsVvvi6zUIlTg+FgqLMaMrZ

Tras esto, debemos generar un archivo con el siguiente texto, teniendo en cuenta que debemos modificar los valores en negrita segn hallamos especificado en el archivo slapd.conf o el valor devuelto por el comando anterior:
# nano /tmp/initial.ldif dn: dc=nutum,dc=local objectClass: top objectClass: dcObject objectClass: organization dc: nutum o: nutum dn: cn=admin,dc=nutum,dc=local objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: Administrador LDAP userPassword: {SSHA}0ybXXTY7TKsVvvi6zUIlTg+FgqLMaMrZ

Tras esto, eliminamos los datos del directorio que hubiera hasta ahora e importamos los datos del archivo anterior. Para concluir reiniciamos el servidor de LDAP:
# /etc/init.d/slapd stop rm -Rf /var/lib/ldap/* cp /usr/share/doc/slapd/examples/DB_CONFIG /var/lib/ldap/ slapadd -l /root/initial.ldif rm /tmp/initial.ldif chmod 644 /var/lib/ldap/DB_CONFIG chown -R openldap:openldap /var/lib/ldap/* chown -R openldap:openldap /etc/ldap/slapd.d/ /etc/init.d/slapd restart

Instalacin y configuracin del cliente LDAP en el servidor


En primer lugar hay que instalar los paquetes necesarios para la autentificacin de un cliente mediante un servidor LDAP:
# aptitude install libnss-ldap

Identificador de recursos para el servidor LDAP: ldap://127.0.0.1/ El nombre distintivo (DN) de la base de bsquedas: dc=nutum,dc=local Versin de LDAP a utilizar: 3 Cuenta LDAP para root: cn=admin,dc=nutum,dc=local Contrasea para la cuenta LDAP de root: secret

A continuacin instalaremos y configuraremos el paquete libpam-ldap:


# apt-get install libpam-ldap

Antes las preguntas que nos realizar, responderemos con los siguientes valores: Make local root Database admin: S Hace falta un usuario para acceder a la base de datos LDAP?: No LDAP account for root: cn=admin,dc=nutum,dc=local Contrasea para la cuenta LDAP de root: secret

Tras esto, deberemos modificar los siguientes archivos para terminar de configurar el sistema como cliente LDAP:
# cp /etc/pam.d/common-account /etc/pam.d/common-account.$(date +%Y-%m-%d_%H-%M-%S) echo "" > /etc/pam.d/common-account nano /etc/pam.d/common-account account account sufficient required pam_ldap.so pam_unix.so try_first_pass

# cp /etc/pam.d/common-auth /etc/pam.d/common-auth.$(date +%Y-%m-%d_%H-%M-%S) echo "" > /etc/pam.d/common-auth nano /etc/pam.d/common-auth auth auth sufficient required pam_ldap.so pam_unix.so nullok_secure try_first_pass

# cp /etc/pam.d/common-password /etc/pam.d/common-password.$(date +%Y-%m-%d_%H-%M-%S) echo "" > /etc/pam.d/common-password nano /etc/pam.d/common-password password password sufficient required pam_ldap.so pam_unix.so nullok obscure min=4 max=8 md5 try_first_pass

# cp /etc/pam.d/common-session /etc/pam.d/common-session.$(date +%Y-%m-%d_%H-%M-%S) echo "" > /etc/pam.d/common-session nano /etc/pam.d/common-session session sufficient pam_ldap.so

session

required

pam_unix.so

Por ltimo debemos modificar el fichero /etc/nsswitch.conf de la siguiente forma:


# cp /etc/nsswitch.conf /etc/nsswitch.conf.$(date +%Y-%m-%d_%H-%M-%S) echo "" > /etc/nsswitch.conf nano /etc/nsswitch.conf # # # # # /etc/nsswitch.conf Example configuration of GNU Name Service Switch functionality. If you have the `glibc-doc-reference' and `info' packages installed, try: `info libc "Name Service Switch"' for information about this file. compat ldap compat ldap compat ldap files dns files db db db db files files files files

passwd: group: shadow: hosts: networks: protocols: services: ethers: rpc: netgroup:

nis

Configuracin del agente de MMC


Para configurar el agente de MMC deberemos editar el siguiente archivo:
# cp /etc/mmc/plugins/base.ini /etc/mmc/plugins/base.ini.$(date +%Y-%m-%d_%H-%M-%S) echo "" > /etc/mmc/plugins/base.ini nano /etc/mmc/plugins/base.ini [ldap] # LDAP we are connected to # If ldapurl starts with "ldaps://", use LDAP over SSL on the LDAPS port. # LDAPS is deprecated, and you should use StartTLS. # If ldapverifypeer = demand, always use the server hostname instead of its IP # address in the LDAP URL. This hostname must match the CN field of the server # certificate. ldapurl = ldap://127.0.0.1:389 # Network timeout in seconds for LDAP operations. No default timeout set. #network_timeout = # TLS connection parameters when LDAPS is not used: # off - never use TLS (default value) # start_tls - Use the LDAPv3 StartTLS extended operation (better) #start_tls = off # If start_tls != off or LDAPS, specify check to perform on server certificate: # never - don't ask certificate # demand - request certificate. If none or bad certificate provided, stop the # connection (recommended) #ldapverifypeer = demand # Client certicates to use (default are empty) for LDAPS or TLS connections: # For example: /etc/ssl/certs #cacertdir = # For example: /etc/mmc/certs/demoCA/cacert.pem #cacert = # For example: /etc/mmc/certs/client.cert #localcert = # For example: /etc/mmc/certs/client.key #localkey =

# Accepted ciphers # Use this for more security: TLSv1+SHA1+AES+DH:CAMELLIA:!NULL:!ADH #ciphersuites = TLSv1:!NULL # LDAP debug level - set this to 255 to debug LDAP connection problems #ldapdebuglevel = 0 # LDAP base DN baseDN = dc=ruizypaez, dc=local # Users location in the LDAP baseUsersDN = ou=Usuarios, %(basedn)s # Groups location in the LDAP baseGroupsDN = ou=Grupos, %(basedn)s # LDAP manager rootName = cn=admin, %(basedn)s password = secret # If enabled, the MMC will create/move/delete the home of the users # Else will do nothing, but only write user informations into LDAP userHomeAction = 1 # Skeleton directory to populate a new home directory skelDir = /etc/skel # If set, all new users will belong to this group when created defaultUserGroup = Usuarios del dominio # Default home directory for users defaultHomeDir = /home # user uid number start uidStart = 10000 # group gid number start gidStart = 10000 # LDAP log file path logfile = /var/log/ldap.log # FDS log file path # logfile = /opt/fedora-ds/slapd-hostname/logs/access # # # # you can specify here where you can authorized creation of your homedir default is your defaultHomeDir example: authorizedHomeDir = /home, /home2, /mnt/depot/newhome

# LDAP user password scheme to use # Possible values are "ssha", "crypt" and "passmod" # "passmod" uses the LDAP Password Modify Extended Operations to change # password. The password encryption is done by the LDAP server. passwordscheme = passmod [backup-tools] # Path of the backup tools path = /usr/lib/mmc/backup-tools # Where are put the archives destpath = /home/samba/archives # # # # # # # # # # # # # # # # # Computer inventory plugin to use (Pulse 2 related option) [computers] method = glpi method = inventory Audit system configuration If commented, the audit module will be disabled [audit] method = database dbhost = localhost MySQL and PostgreSQL backends are available dbdriver = postgres dbport = 5432 dbdriver = mysql dbport = 3306 dbuser = audit dbpassword = audit dbname = audit

# User authentication configuration #[authentication] # Authenticators chain #method = baseldap externalldap

# baseldap authenticator configuration #[authentication_baseldap] # Set a list of login that will only be authentified using this authenticator #authonly = root # Externalldap authenticator configuration #[authentication_externalldap] # Login list that won't be authenticated with this authenticator. #exclude = # If set, only the speficied logins will be authenticated with this # authenticator. #authonly = # Set whether this authenticator is mandatory. If it is mandatory and can't be # validated during the mmc-agent activation phase, the mmc-agent exits with an # error. #mandatory = True # LDAP server URLs. The LDAP server are selected in the given order when # authenticating a user. #ldapurl = ldap://192.168.0.1:389 ldap://192.168.0.2:389 # LDAP connection timeout in seconds. If the LDAP connection failed after this # timeout, we try the next LDAP server in the list or give up if it the last. #network_timeout = # LDAP suffix where to search for user #suffix = cn=Users,dc=mandriva,dc=com # How to bind to the LDAP. Empty if anonymous #bindname = cn=account, cn=Users, dc=linboxad, dc=com #bindpasswd = s3cr3t #bindname = #bindpasswd = # User filter #filter = objectClass=* # User attribute containing her/his login #attr = cn # User provisioning configuration #[provisioning] #method = externalldap # externalldap provisioner configuration #[provisioning_externalldap] # Login list that won't be provisioned with this provisioner #exclude = root # These attributes are mandatory to create a user #ldap_uid = cn #ldap_givenName = sn #ldap_sn = sn # Other attributes to fill in #ldap_mail = mail #... # We are able to fill the ACL fields the user logs in according to the value of # an attribute from the external LDAP. # What is the field name ? #profile_attr = # Here we define two profiles: profile1 and profile2 # profile1 allows the user to log in and change her/his password in the web # interface #profile_acl_profile1= :base#users#passwd/ # profile2 disallows the user to do anything (no ACL defined) #profile_acl_profile2 = # ... You can define as much profile_acl_* options as you need # For each profile, we can create a group of user, and put users with a given # profile in the corresponding group automatically when they log in. # Set the next line to True to activate profile to group mapping #profile_group_mapping = False # A prefix for the created group can be set #profile_group_prefix = # # # # Example userdefault settings to support Kerberos [userdefault] objectClass = +krb5KDCEntry,krb5Principal krb5KeyVersionNumber = 1

# krb5KDCFlags = 126 # krb5PrincipalName = %uid%@DOMAIN

Tambin es aconsejable, aunque no obligatorio, el cambiar tanto el nombre de usuario como la contrasea con los que la interfaz web se comunicar con el agente (opcionalmente tambin el puerto de comunicaciones). Para esto modificaremos el siguiente archivo:
# cp /etc/mmc/agent/config.ini /etc/mmc/agent/config.ini.$(date +%Y-%m-%d_%H-%M-%S) echo "" > /etc/mmc/agent/config.ini nano /etc/mmc/agent/config.ini [main] enablessl = 1 privkey = /etc/mmc/agent/keys/privkey.pem certfile = /etc/mmc/agent/keys/cacert.pem host = 127.0.0.1 port = 7080 login = mmc password = s3cr3t [log] name = mmc-agent pidfile= /var/run/mmc-agent.pid [loggers] keys=root [handlers] keys=hand01,hand02 [formatters] keys=form01 [logger_root] level=NOTSET handlers=hand01 [handler_hand01] class=FileHandler level=INFO formatter=form01 args=("/var/log/mmc/mmc-agent.log",) [handler_hand02] class=StreamHandler level=DEBUG args=(sys.stderr,) [formatter_form01] format=%(asctime)s %(levelname)s %(message)s

A continuacin, deberemos crear el directorio donde se almacenarn las copias de seguridad iniciadas desde la interfaz web:
# mkdir -p -m 0755 /home/samba/archives

Por ltimo, debemos reiniciar el agente para que aplique los cambios; debera dar la siguiente salida:
# /etc/init.d/mmc-agent restart Restarting Mandriva Management Console XML-RPC Agent: mmc-agent starting... Created OU ou=Usuarios,dc=nutum,dc=local Created OU ou=Grupos,dc=nutum,dc=local Created OU ou=Sistema,dc=nutum,dc=local The default user group Usuarios del dominio does not exist. Please create it before adding new users.

Registering authenticator baseldap / base.BaseLdapAuthenticator Registering authenticator externalldap / mmc.plugins.base.externalldap.ExternalLdapAuthenticator Registering provisioner externalldap / mmc.plugins.base.externalldap.ExternalLdapProvisioner Registering computer manager baseldap / base.Computers Plugin base loaded, API version: 5:0:1 build(572) Selecting authenticator baseldap / base.BaseLdapAuthenticator Authenticator baseldap successfully validated Selecting provisioners: None Selecting computer manager: none done.

Al ejecutar el comando anterior, nos dar el siguiente aviso:


The default user group Usuarios del dominio does not exist. Please create it before adding new users.

Esto es debido a que el grupo por defecto que se asignar a los usuarios que se creen todava no existe. Este grupo (y otros grupos tambin necesarios) se crearn automticamente durante el paso de instalacin y configuracin de smbldap-tools. Por tanto, hasta no llegar a ese punto, no se deben crear usuarios, ya que dar un error.

Instalacin y configuracin de la interfaz web de MMC


En primer lugar debemos instalar el paquete que contiene los archivos base de la interfaz web:
# aptitude install mmc-web-base

Si hemos cambiado en el apartado anterior el puerto, el usuario o la contrasea por defecto del agente de MMC, tambin deberemos cambiarlo en el archivo de configuracin de la interfaz web:
# cp /etc/mmc/mmc.ini /etc/mmc/mmc.ini.$(date +%Y-%m-%d_%H-%M-%S) echo "" > /etc/mmc/mmc.ini nano /etc/mmc/mmc.ini [global] # RPC backend to use backend = xmlrpc # HTTP basic authentication credentials to use for XMLRPC communication login = mmc password = s3cr3t # Root URL where the MMC web pages are installed # root= /mmc/ for http://127.0.0.1/mmc/ root = /mmc/ # Filesystem path where the MMC web modules are installed rootfsmodules = /usr/share/mmc/modules/ # Number of items to display in lists maxperpage = 10 # Debug section [debug] # 0 : no information # 1 : XMLRPC calls and results are displayed by the web interface level = 0 # Login page title # UTF-8 strings must be used [logintitle] # Default page title for English and non-translated languages C =

# French title fr_FR = # Spanish title es_ES = [server_01] description = localhost url = https://127.0.0.1:7080

En este punto, ya deberamos poder acceder a la interfaz web de MMC mediante la direccin http://127.0.0.1/mmc (o similares) usando como usuario root y la contrasea del usuario admin del servidor LDAP.

Configuracin de Samba
A continuacin, configuraremos Samba:
# cp /etc/samba/smb.conf /etc/samba/smb.conf.$(date +%Y-%m-%d_%H-%M-%S) echo "" > /etc/samba/smb.conf nano /etc/samba/smb.conf [global] ### Configuracin bsica del servidor ### workgroup = NUTUM netbiosname = PDC-SERVER server string = Servidor Samba PDC %v socket options = SO_KEEPALIVE TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=8192 SO_RCVBUF=8192 ### Configuracin para que la maquina sea el PDC Master ### os level = 65 prefered master = yes local master = yes domain master = yes domain logons = yes ### Configuracin de seguridad y conexin ### enable privileges = yes security = user encrypt passwords = yes obey pam restrictions = no null passwords = yes wins support = yes name resolve order = wins lmhosts host bcast dns proxy = no time server = yes ### Otras configuraciones varias para SAMBA ### log file = /var/log/samba/log.%m log level = 2 max log size = 50 hide unreadable = yes hide dot files = yes Dos Charset = 850 printing = cups printcap name = cups map acl inherit = yes ### Parametros para el soporte de LDAP ### passdb backend = ldapsam:ldap://127.0.0.1/ ldap suffix = dc=nutum,dc=local ldap admin dn = cn=admin,dc=nutum,dc=local ldap group suffix = ou=Grupos ldap user suffix = ou=Usuarios

ldap machine suffix = ou=Equipos ldap idmap suffix = ou=Idmap ldap password sync = yes passwd program = /usr/sbin/smbldap-passwd -u %u passwd chat = "Changing password for*\nNew password*" %n\n "*Retype new password*" %n\n add user script = /usr/sbin/smbldap-useradd -m "%u" delete user script = /usr/sbin/smbldap-userdel "%u" #add machine script = /usr/sbin/smbldap-useradd -w "%u" add machine script = /usr/lib/mmc/add_machine_script '%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" ### Perfiles mviles de usuario, carpeta home y script de inicio ### logon home = \\%N\%U logon drive = H: logon path = \\%N\%U\.profile logon script = logon.bat ### Antivirus ### vfs object = vscan-clamav recycle vscan-clamav: config-file = /etc/samba/vscan-clamav.conf recycle:repository = /home/samba/trash/%U recycle:exclude = *.tmp *.temp *.o *.obj ~$* *.~?? recycle:maxsize = 20971520 recycle:versions = Yes recycle:directory_mode = 0700 recycle:keeptree = Yes [homes] comment = Directorios de usuario browseable = no writeable = yes create mask = 0700 directory mask = 0700 [public] comment = Directorio pblico path = /home/samba/public browseable = yes public = yes writeable = yes admin users = "+Administradores del dominio", [archives] # En este directorio se guardan las copias de seguridad de los directorios de # usuario que se generar desde la interfaz web de MDS. comment = Archivos de copias de seguridad path = /home/samba/archives browseable = yes public = no writeable = no admin users = "+Administradores del dominio", [printers]

comment = Impresoras path = /tmp browseable = no public = yes guest ok = yes writeable = no printable = yes [print$] comment = Controladores de impresoras path = /var/lib/samba/printers browseable = yes guest ok = yes read only = yes write list = Administrador,root,@lpadmin admin users = "+Administradores del dominio", [netlogon] comment = Directorio de scripts de inicio path = /home/samba/netlogon public = no writeable = no browseable = no admin users = "+Administradores del dominio", [trash] comment = Papelera de reciclaje path = /home/samba/trash/%U writeable = No browseable = yes admin users = "+Administradores del dominio",

Tras esto, crearemos los directorios necesarios:


# mkdir mkdir mkdir mkdir -p -p -p -p -m -m -m -m 777 755 777 755 /home/samba/public /home/samba/netlogon /home/samba/trash /home/samba/support

Y asignamos los permisos necesarios:


# setfacl FIXME ...

Para poder usar el script de inicio, debemos crear el archivo al que se hace referencia en el fichero de configuracin de Samba; en l podemos aadir las instrucciones que deseemos que se ejecuten cuando un usuario inicie sesin en su equipo:
# echo net time \\PDC-SERVER /set /yes>/home/samba/netlogon/logon.bat

# nano /home/samba/netlogon/logon.bat net time \\PDC-SERVER /set /yes

A continuacin debemos especificar a Samba cul es la contrasea del usuario admin del servidor LDAP; para ello ejecutamos el siguiente comando, e introducimos dos veces la contrasea del usuario admin del directorio LDAP (en este ejemplo es secret):

# smbpasswd -W

Un ltimo paso consiste en crear un script que automticamente elimine los archivos de la papelera de red. Este script se ejecutar todos los das y eliminar los archivos situados en la carpeta compartida de la papelera de reciclaje con ms de 30 das (por defecto) de antigedad:
# nano /etc/cron.daily/trash_purge.sh #!/bin/bash DAYS=30 PATH=/home/samba/trash find ${PATH} -mtime +${DAYS} -exec rm \{\} \; # chmod +x /etc/cron.daily/trash_purge.sh

Llegados a este punto la instalacin en s del servidor Samba ya est concluida, reiniciando antes el servidor Samba para que aplique los cambios:
# /etc/init.d/samba restart

Instalacin y configuracin de smbldap-tools


Smbldap-tools es un conjunto de script para gestionar usuarios y grupos de Samba que estn almacenados en un servidor LDAP. Lo utilizaremos para completar la estructura del rbol del directorio LDAP y como ayuda en el archivo de configuracin de Samba. En primer lugar procedremos a la instalacin del software:
# aptitude install smbldap-tools

A continuacin crearemos los archivos de configuracin, ya que no se generan por defecto; en primer lugar, el smbldap.conf:
# zcat /usr/share/doc/smbldap-tools/examples/smbldap.conf.gz > /etc/smbldap-tools/smbldap.conf # nano /etc/smbldap-tools/smbldap.conf # $Source: /opt/cvs/samba/smbldap-tools/smbldap.conf,v $ # $Id: smbldap.conf,v 1.18 2005/05/27 14:28:47 jtournier Exp $ # # smbldap-tools.conf : Q & D configuration file for smbldap-tools # # # # # # # # # This code was developped by IDEALX (http://IDEALX.org/) and contributors (their names can be found in the CONTRIBUTORS file). Copyright (C) 2001-2002 IDEALX This program is modify it under as published by of the License, free software; you can redistribute it and/or the terms of the GNU General Public License the Free Software Foundation; either version 2 or (at your option) any later version.

# # # # # # # # # # # #

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Purpose : . be the configuration file for all smbldap-tools scripts

############################################################################## # # LDAP Configuration # ############################################################################## # 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" # LDAP Suffix # Ex: suffix=dc=IDEALX,dc=ORG suffix="dc=nutum,dc=local" # Where are stored Users # Ex: usersdn="ou=Users,dc=IDEALX,dc=ORG" # Warning: if 'suffix' is not set here, you must set the full dn for usersdn usersdn="ou=Usuarios,${suffix}" # Where are stored Computers # Ex: computersdn="ou=Computers,dc=IDEALX,dc=ORG" # Warning: if 'suffix' is not set here, you must set the full dn for computersdn computersdn="ou=Equipos,${suffix}" # Where are stored Groups # Ex: groupsdn="ou=Groups,dc=IDEALX,dc=ORG" # Warning: if 'suffix' is not set here, you must set the full dn for groupsdn groupsdn="ou=Grupos,${suffix}" # Where are stored Idmap entries (used if samba is a domain member server) # Ex: groupsdn="ou=Idmap,dc=IDEALX,dc=ORG" # Warning: if 'suffix' is not set here, you must set the full dn for idmapdn idmapdn="ou=Idmap,${suffix}" # Default scope Used scope="sub" # Unix password encryption (CRYPT, MD5, SMD5, SSHA, SHA, CLEARTEXT) hash_encrypt="SSHA" ############################################################################## # # Unix Accounts Configuration # ############################################################################## # Home directory # Ex: userHome="/home/%U" userHome="/home/%U" # Default mode used for user homeDirectory userHomeDirectoryMode="700" # Gecos userGecos="Usuario de sistema"

# 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="45" ############################################################################## # # SAMBA Configuration # ############################################################################## # The default Home Drive Letter mapping # (will be automatically mapped at logon time if home directory exist) # Ex: userHomeDrive="H:" #userHomeDrive="H:" # The default user netlogon script name (%U username substitution) # if not used, will be automatically username.cmd # make sure script file is edited under dos # Ex: userScript="startup.cmd" # make sure script file is edited under dos #userScript="logon.bat" # Domain appended to the users "mail"-attribute # when smbldap-useradd -M is used # Ex: mailDomain="idealx.com" mailDomain="idealx.com" ############################################################################## # # SMBLDAP-TOOLS Configuration (default are ok for a RedHat) # ############################################################################## # Allows not to use smbpasswd (if with_smbpasswd == 0 in smbldap_conf.pm) but # prefer Crypt::SmbHash library with_smbpasswd="0" smbpasswd="/usr/bin/smbpasswd" # Allows not to use slappasswd (if with_slappasswd == 0 in smbldap_conf.pm) # but prefer Crypt:: libraries with_slappasswd="0" slappasswd="/usr/sbin/slappasswd" # comment out the following line to get rid of the default banner # no_banner="1"

Y a continuacin, el smbldap_bind.conf:
# cp /usr/share/doc/smbldap-tools/examples/smbldap_bind.conf /etc/smbldap-tools/smbldap_bind.conf nano /etc/smbldap-tools/smbldap_bind.conf ############################ # Credential Configuration # ############################ # Notes: you can specify two differents configuration if you use a # master ldap for writing access and a slave ldap server for reading access # By default, we will use the same DN (so it will work for standard Samba # release) slaveDN="cn=admin,dc=nutum,dc=local" slavePw="secret" masterDN="cn=admin,dc=nutum,dc=local"

masterPw="secret"

Por ltimo, debemos cambiar los permisos para que slo el usuario root pueda modificarlos, y el archivo de credenciales slo sea visible por el mismo:
# chmod 0644 /etc/smbldap-tools/smbldap.conf chmod 0600 /etc/smbldap-tools/smbldap_bind.conf

A continuacin, debemos generar al rbol del directorio LDAP:


# smbldap-populate -a administrador -b invitado -m 512

Nos preguntar la contrasea que queremos asignar al usuario Administrador. Simplemente la introducimos dos veces cuidando de que coincidan; tanto la cuenta como la contrasea de Administrador del dominio de Windows son distintas de la cuenta y la contrasea del usuario root. A continuacin deberemos crear el directorio de inicio del usuario administrador, cambiarle el identificador de usuario para no tener conflictos con el usuario root y por ltimo darle permisos para poder aadir mquinas al dominio.
# mkdir -m 700 /home/administrador chown administrador:"Domain Admins" /home/administrador smbldap-usermod -u 10000 administrador net -U administrador rpc rights grant 'NUTUM\Domain Admins' SeMachineAccountPrivilege

Cambio de nombre a los grupos de Samba


En el paso anterior, al ejecutar el comando smbldap-populate, se han creado en el directorio LDAP los usuarios y grupos bsicos para el uso de Samba como controlador de dominio; por defecto, este comando, crea estos usuarios y estos grupos en ingls, por lo que si queremos tener un entorno totalmente localizado (es decir, traducido), deberemos acceder al servidor LDAP para cambiarle los nombres a estos objetos. Para acceder al directorio LDAP usaremos el programa que hemos instalado anteriormente (phpLDAPadmin). Por tanto, iniciaremos sesin tal y como se describe en la pgina de instalacin. A continuacin se nos mostrar en el lateral izquierdo la estructura del directorio; expandiremos la entrada correspondiente a nuestro dominio (dc=nutum,dc=local) y a continuacin la rama correspondiente a los grupos (ou=Grupos). Al desplegar esta rama veremos los grupos que ha creado el comando sbmldap-populate: Account Operators Administrators Backup Operators Domain Admins Domain Computers Domain Guests Domain Users Print Operators Replicators

Para cambiar el nombre a estos grupos, deberemos ir uno a uno pinchando sobre su nombre; en la parte de la derecha se nos mostrarn sus opciones; en primer lugar, bajo la seccin cn, pulsaremos el

enlace rename; en la pantalla que aparecer escribiremos el nombre correspondiente al grupo que estemos modificando de acuerdo con la tabla que se muestra ms abajo en esta pgina (sin olvidar el prefijo cn=); al pulsar sobre el botn Rename, volveremos a la pgina de propiedades del grupo, donde podremos comprobar que efectivamente el grupo ha sido renombrado. Tambin deberemos modificar los campos description y displayName de acuerdo con la tabla, y pulsar despus sobre el botn Save Changes, confirmado en la siguiente pgina mediante el botn Commit el cambio de los valores. Nombre en ingls Account Operators cn y displayName Operadores de cuentas description

Usuarios del dominio Netbios que pueden gestionar cuentas de usuario Los miembros del dominio Netbios pueden pueden Administrators Administradores administrar totalmente el equipo/sambaDomainName Backup Operadores de copias de Los miembros del dominio Netbios pueden saltarse la Operators seguridad seguridad de los archivos para hacer copias de seguridad Administradores del Domains Admins Administradores del dominio Netbios dominio Domain Equipos del dominio Cuentas de equipos del dominio Netbios Computers Domains Guests Invitados del dominio Usuarios invitados del dominio Netbios Domains Users Usuarios del dominio Usuarios del dominio Netbios Operadores de Print Operators Operadores de impresin del dominio Netbios impresin El dominio Netbios soporta replicacin de archivos en Replicators Replicadores sambaDomainName

Instalacin y configuracin del plugin de Samba a MDS Tendremos que instalar los siguientes paquetes:
# aptitude install python-mmc-samba mmc-web-samba

Tras esto, debemos modificar el archivo de configuracin del plugin para especificar los valores correctos:
# cp /etc/mmc/plugins/samba.ini /etc/mmc/plugins/samba.ini.$(date +%Y-%m-%d_%H-%M-%S) echo "" > /etc/mmc/plugins/samba.ini nano /etc/mmc/plugins/samba.ini [main] disable = 0 # Computers Locations baseComputersDN = ou=Equipos, dc=nutum, dc=local sambaConfFile = /etc/samba/smb.conf

sambaInitScript = /etc/init.d/samba # sambaClamavSo = /usr/lib/samba/vfs/vscan-clamav.so # Default SAMBA shares location defaultSharesPath = /home/samba # You can specify authorized paths for share creation # Default value is the defaultSharesPath value # authorizedSharePaths = /shares, /opt, /srv # Default value when adding samba attributes to an user # DELETE means the attibute is removed from the user LDAP entry [userdefault] sambaPwdMustChange = DELETE

He hecho una modificacin a algunos archivos del plugin de Samba que arreglan algunos fallos y aaden nuevas funcionalidades. Los tickets corregidos son los siguientes: http://mds.mandriva.org/ticket/61 http://mds.mandriva.org/ticket/96 http://mds.mandriva.org/ticket/241 El mensaje donde se indican los cambios realizados est en esta pgina de la lista de usuarios de MDS. Mientras no se lance una nueva versin de MMC (la ltima en el momento de escribir este documento era la 2.3.1), hay que aplicar el parche a mano:
# wget http://wiki.nutum.es/_media/linux/samba/samba_ldap_mds/mds_mods.tar.gz # tar zxvf mds_mods.tar.gz -C /usr/share

Por ltimo, deberemos reiniciar el agente de MMC para que aplique los cambios realizados en la configuracin:
# /etc/init.d/mmc-agent restart

Una vez hecho esto, ya estarn disponibles a travs de la interfaz web las opciones relativas a Samba.

DNS / DHCP - Instalacin y configuracin de los servidores con soporte LDAP


Antes de instalar el plugin de red al agente, debemos instalar los paquetes de los servidores DNS y DHCP, ya que en caso contrario el agente no arrancar (ya que no puede crear el archivo named.conf.ldap ya que no existe el directorio de configuracin de bind). Por tanto, ejecutaremos el siguiente comando y dejaremos la configuracin de estos servidores para un paso posterior:
# aptitude install dhcp3-server dhcp3-server-ldap bind9

Instalacin y configuracin del plugin de red a MDS


Instalaremos en primer lugar instalaremos el plugin de MDS para la gestin de los servidores de red:
# aptitude install python-mmc-network mmc-web-network

A continuacin debemos editar el fichero de configuracin del plugin de red. Modificaremos los valores marcados en negrita de acuerdo con la configuracin de nuestro servidor:
# cp /etc/mmc/plugins/network.ini /etc/mmc/plugins/network.ini.$(date +%Y-%m-%d_%H-%M-%S) echo "" > /etc/mmc/plugins/network.ini nano /etc/mmc/plugins/network.ini [main] disable = 0 [dhcp] dn = ou=DHCP,dc=nutum,dc=local pidfile = /var/run/dhcpd.pid init = /etc/init.d/dhcp3-server logfile = /var/log/daemon.log leases = /var/lib/dhcp3/dhcpd.leases [dns] dn = ou=DNS,dc=nutum,dc=local pidfile = /var/run/bind/run/named.pid init = /etc/init.d/bind9 logfile = /var/log/daemon.log bindroot = /etc/bind/ bindgroup = bind # dnsreader = DNS Reader # dnsreaderpassword = DNSReaderPassword

Por ltimo reiniciaremos el agente MMC para que cargue el nuevo plugin instalado:
# /etc/init.d/mmc-agent restart

En caso de estar utilizando la consola web, deberemos cerrar sesin y volver a iniciarla para poder ver las nuevas opciones de red.

Instalacin y configuracin de los servidores DNS y DHCP con soporte LDAP


En primer lugar, realizaremos una copia de seguridad del fichero de configuracin named.conf del servidor DNS (bind), y tras esto copiaremos el fichero de configuracin de ejemplo que viene con la distribucin del plugin de red:
# cp /etc/bind/named.conf /etc/bind/named.conf.$(date +%Y-%m-%d_%H-%M-%S) cp /usr/share/doc/python-mmc-base/contrib/bind/named.conf /etc/bind

A continuacin, modificaremos el fichero /etc/bind/named.conf.options; debemos descomentar la seccin forwarders, de tal forma que apunte a los servidores DNS externos del proveedor de Internet; quedara de la siguiente forma:
# nano /etc/bind/named.conf.options options { directory "/var/cache/bind"; // // // // // If there is a firewall between you and nameservers you want to talk to, you might need to uncomment the query-source directive below. Previous versions of BIND always asked questions using port 53, but BIND 8.1 and later use an unprivileged port by default.

// query-source address * port 53; // // // // If your ISP provided one or more IP addresses for stable nameservers, you probably want to use them as forwarders. Uncomment the following block, and insert the addresses replacing the all-0's placeholder.

forwarders { 80.58.61.250; 80.58.61.254; 80.58.0.33; 80.58.32.97; }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; };

};

Tras esto, debemos modificar el fichero donde se especifican los servidores DNS que se usarn para que se use el servidor DNS local:
# nano /etc/resolv.conf search nutum.local nameserver 127.0.0.1

Este paso lo repetiremos en todos los equipos de la red, para que usen este servidor como servidor DNS principal, cambiando la direccin IP local (127.0.0.1) por la direccin real de la mquina donde est el servidor DNS. Tambin deberemos modificar el orden en el que se inician los servicios de red al reiniciar el equipo; por defecto, el servidor DNS se inicia antes que el servidor LDAP, por lo que no se establece la conexin correctamente. Mediante el siguiente comando, obligamos al servidor LDAP a que se inicie antes que el servidor DNS:
# update-rc.d -f slapd remove update-rc.d slapd start 14 2 3 4 5 . stop 86 0 1 6 .

Hecho este paso, deberemos reiniciar el servidor de DNS (bind) para que aplique los cambios:
# /etc/init.d/bind9 restart

El siguiente paso es configurar el servidor DHCP. Para ello simplemente debemos modificar el fichero /etc/dhcp3/dhcpd.conf para que incluya los campos de conexin al servidor LDAP (todos los datos de configuracin de DHCP se almacenarn en el directorio LDAP):
# cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.$(date +%Y-%m-%d_%H-%M-%S) echo "" > /etc/dhcp3/dhcpd.conf nano /etc/dhcp3/dhcpd.conf ldap-server "localhost"; ldap-port 389; ldap-username "cn=admin, dc=nutum, dc=local"; ldap-password "secret"; ldap-base-dn "dc=nutum, dc=local"; ldap-method dynamic; ldap-debug-file "/var/log/dhcp-ldap-startup.log";

Para finalizar, reiniciaremos el servidor de DHCP:


# /etc/init.d/dhcp3-server restart

Stopping DHCP server: dhcpd3. Starting DHCP server: dhcpd3 failed to start - check syslog for diagnostics.

Vemos que el servidor DHCP no arranca correctamente; esto es debido a que aunque la conexin al servidor LDAP es correcta, an no existe ninguna subred DHCP configurada. En el siguiente paso veremos cmo crear una subred DHCP e iniciaremos el servidor desde la misma consola de administracin web.

Primeros pasos con los servidores de red


Una vez instalados y configurados los servidores de red, accederemos a la consola de administracin de MMC. Pulsaremos sobre la seccin de red, y a continuacin seleccionaremos la opcin situada a la izquierda llamada Aadir zona DNS. En el formulario que se mostrar, especificaremos los siguientes valores (cambiando aquellos que sean necesarios, marcados en negrita, de acuerdo con los datos de nuestra red): FQDN de la zona DNS: nutum.local Descripcin: Servidor DNS del dominio nutum.local Nombre del equipo servidor de nombres: dns IP del servidor de nombres: 192.168.0.201 (esta debe ser la IP del servidor donde hayamos instalado el servidor DNS)

Los siguientes campos los rellenaremos si queremos crear una zona DHCP asociada al dominio DNS recin creado. Ya que es la primera vez que accedemos a esta configuracin, los rellenaremos de la siguiente forma: Direccin de red: 192.168.0.0 Mscara de red: 24 Gestionar tambin una zona DNS inversa: activado Crear tambin una subred DHCP asociada: activado

A continuacin pulsamos sobre el botn Crear. Tras esto se nos habrn creado una zona DNS y una subred DHCP. Lo primero que tenemos que hacer es agregar una serie de nombres al servidor DNS para que el sistema funcione correctamente. Para ello, accedemos a la seccin Zonas DNS y pulsamos sobre la zona nutum.local. Nos aparecer un nico equipo llamado dns (que se ha creado automticamente al crear la zona DNS). Pulsaremos sobre el icono de edicin correspondiente al equipo dns; en el campo Alias de equipo aadiremos los sPrimeros pasos con los servidores de red Una vez instalados y configurados los servidores de red, accederemos a la consola de administracin de MMC. Pulsaremos sobre la seccin de red, y a continuacin seleccionaremos la opcin situada a la izquierda llamada Aadir zona DNS. En el formulario que se mostrar, especificaremos los siguientes valores (cambiando aquellos que sean necesarios, marcados en negrita, de acuerdo con los datos de nuestra red): FQDN de la zona DNS: nutum.local Descripcin: Servidor DNS del dominio nutum.local Nombre del equipo servidor de nombres: dns IP del servidor de nombres: 192.168.0.201 (esta debe ser la IP del servidor donde hayamos instalado el servidor DNS)

Los siguientes campos los rellenaremos si queremos crear una zona DHCP asociada al dominio DNS recin creado. Ya que es la primera vez que accedemos a esta configuracin, los rellenaremos de la siguiente forma: Direccin de red: 192.168.0.0 Mscara de red: 24 Gestionar tambin una zona DNS inversa: activado Crear tambin una subred DHCP asociada: activado

A continuacin pulsamos sobre el botn Crear. Tras esto se nos habrn creado una zona DNS y una subred DHCP. Lo primero que tenemos que hacer es agregar una serie de nombres al servidor DNS para que el sistema funcione correctamente. Para ello, accedemos a la seccin Zonas DNS y pulsamos sobre la zona nutum.local. Nos aparecer un nico equipo llamado dns (que se ha creado automticamente al crear la zona DNS). Pulsaremos sobre el icono de edicin correspondiente al equipo dns; en el campo Alias de equipo aadiremos los siguientes nombres: www, correo y mail; de esta forma el equipo ser alcanzable con cualquiera de las siguientes combinaciones: dns dns.nutum.local www www.nutum.local correo correo.nutum.local

FIXME Agregar opciones del servidor de correo Tras esto, deberemos modificar la subred DHCP que tambin se ha creado automticamente. Para ello, accederemos a la seccin Subredes DHCP y editaremos la nica subred que hay por el momento. Verificaremos que los siguientes campos tienen un valor adecuado (en negrita se marcan los campos a los que debemos cambiar su valor por defecto): Mscara de red: 24 Descripcin: Authoritative: activado Direccin de broadcast: (dejar el valor vaco) Nombre de dominio: nutum.local Enrutadores: 192.168.0.254 (aqu debemos poner la direccin IP de la puerta de enlace o del router de nuestra red) Servidores de nombres de dominio: 192.168.0.201 Servidores NTP: 192.168.0.201 (la IP del servidor donde est instalado el servidor NTP, en este caso, es el servidor donde hemos realizado toda la instalacin de MMC) Servidores WINS: 192.168.0.201 (la IP del servidor donde est instalado Samba) Mtodo de registro y resolucin WINS: Slo WINS

Tras esto, pulsamos el botn de Confirmar para guardar los cambios. A continuacin, debemos reiniciar los servidores DNS y DHCP para que apliquen los cambios. Para esto, iremos a la seccin Gestin de servicios de red, y pulsaremos sobre el icono de inicio reinicio (dependiendo del estado actual de cada servidor). iguientes nombres: www, correo y mail; de esta forma el equipo ser alcanzable con cualquiera de las siguientes combinaciones:

dns dns.nutum.local www www.nutum.local correo correo.nutum.local

FIXME Agregar opciones del servidor de correo Tras esto, deberemos modificar la subred DHCP que tambin se ha creado automticamente. Para ello, accederemos a la seccin Subredes DHCP y editaremos la nica subred que hay por el momento. Verificaremos que los siguientes campos tienen un valor adecuado (en negrita se marcan los campos a los que debemos cambiar su valor por defecto): Mscara de red: 24 Descripcin: Authoritative: activado Direccin de broadcast: (dejar el valor vaco) Nombre de dominio: nutum.local Enrutadores: 192.168.0.254 (aqu debemos poner la direccin IP de la puerta de enlace o del router de nuestra red) Servidores de nombres de dominio: 192.168.0.201 Servidores NTP: 192.168.0.201 (la IP del servidor donde est instalado el servidor NTP, en este caso, es el servidor donde hemos realizado toda la instalacin de MMC) Servidores WINS: 192.168.0.201 (la IP del servidor donde est instalado Samba) Mtodo de registro y resolucin WINS: Slo WINS

Tras esto, pulsamos el botn de Confirmar para guardar los cambios. A continuacin, debemos reiniciar los servidores DNS y DHCP para que apliquen los cambios. Para esto, iremos a la seccin Gestin de servicios de red, y pulsaremos sobre el icono de inicio reinicio (dependiendo del estado actual de cada servidor).