administración de sistemas 06 07

151
Universidad Politécnica de Valencia Departamento de Sistemas Informáticos y Computación Administración de Sistemas Linux CentOS 5 y Windows Server 2003 R2 Agustín Espinosa Minguet Andrés Terrasa Barrena Fernando Ferrer García Alvaro Alvarez Rodríguez Apuntes de las Asignaturas ASO (FIV) y ADS (ETSIAp) Curso Académico 2008/2009 Valencia, 23 de septiembre de 2008

Upload: levinor

Post on 07-Jun-2015

1.258 views

Category:

Documents


38 download

TRANSCRIPT

Page 1: Administración de Sistemas 06 07

Universidad Politécnica de ValenciaDepartamento de Sistemas Informáticos y Computación

Administración de SistemasLinux CentOS 5 y Windows Server 2003 R2

Agustín Espinosa MinguetAndrés Terrasa BarrenaFernando Ferrer García

Alvaro Alvarez Rodríguez

Apuntes de las AsignaturasASO (FIV) y ADS (ETSIAp)

Curso Académico 2008/2009Valencia, 23 de septiembre de 2008

Page 2: Administración de Sistemas 06 07

Administración de Sistemas: CentOS Linux y Windows2003 R2por Agustín Espinosa, Andrés Terrasa, Fernando Ferrer, y Alvaro Alvarez

Page 3: Administración de Sistemas 06 07
Page 4: Administración de Sistemas 06 07
Page 5: Administración de Sistemas 06 07

Indice1. Introducción ...................................................................................................... 1

1.1. Profesorado ............................................................................................. 31.2. Programa ................................................................................................ 31.3. Reglas de evaluación ................................................................................ 31.4. Documentación y páginas Web ................................................................. 41.5. Horarios .................................................................................................. 4

2. Protección local en sistemas Linux ..................................................................... 72.1. La tabla de usuarios ................................................................................. 92.2. La extension de la tabla de usuarios .......................................................... 92.3. La tabla de grupos ................................................................................. 102.4. Procedimientos para crear grupos y usuarios ........................................... 112.5. Atributos de protección de los procesos ................................................... 112.6. Atributos de protección de los ficheros .................................................... 122.7. Las reglas de protección básicas .............................................................. 132.8. Cambio de atributos de protección en ficheros ......................................... 142.9. Los bits SETUID y SETGID en ficheros ejecutables ................................... 142.10. El bit SETGID en directorios .................................................................. 152.11. La máscara de creación de ficheros ........................................................ 152.12. La estrategia de los grupos privados ...................................................... 162.13. Mandatos Unix relacionados ................................................................. 16

3. Protección local en Windows 2003 .................................................................... 213.1. Concepto de usuario .............................................................................. 233.2. Grupos de Usuarios ............................................................................... 243.3. El modelo de protección ......................................................................... 253.4. Atributos de protección de los procesos ................................................... 263.5. Derechos de usuario ............................................................................... 26

3.5.1. Otras directivas de seguridad ....................................................... 283.6. Atributos de protección de los recursos ................................................... 28

3.6.1. Asociación de permisos a recursos ................................................ 293.6.2. Permisos estándar e individuales .................................................. 303.6.3. Modificación de atributos de protección ........................................ 33

3.7. Reglas de protección .............................................................................. 344. Administración de dominios en Linux ............................................................. 37

4.1. Introducción .......................................................................................... 394.2. Concepto de dominio ............................................................................. 394.3. Servicios de directorio y LDAP ............................................................... 394.4. Visión general de la implementación de un dominio Linux con OpenLDAP 424.5. Instalación del servidor OpenLDAP ........................................................ 434.6. Instalación de las herramientas cliente de OpenLDAP .............................. 444.7. Migración de la información del servidor ................................................ 464.8. Autenticación basada en OpenLDAP ....................................................... 484.9. Permisos de acceso ................................................................................. 494.10. Configuración de OpenLDAP con varios servidores ............................... 51

v

Page 6: Administración de Sistemas 06 07

4.11. Herramientas gráficas de administración ............................................... 525. Sistema de Archivos en Red (NFS) ................................................................... 55

5.1. Introducción .......................................................................................... 575.2. Acceso a directorios remotos mediante NFS ............................................. 575.3. Usos típicos de NFS ............................................................................... 575.4. Funcionamiento de NFS ......................................................................... 585.5. Instalación y configuración del cliente NFS .............................................. 585.6. Instalación y configuración del servidor NFS ........................................... 59

6. Administración de dominios Windows 2003 ..................................................... 636.1. Introducción .......................................................................................... 656.2. El Directorio Activo ............................................................................... 65

6.2.1. Dominios Windows 2003 y el Directorio Activo ............................. 656.2.2. Estándares relacionados ............................................................... 666.2.3. El Directorio Activo y DNS .......................................................... 666.2.4. Estructura lógica ......................................................................... 676.2.5. Estructura física .......................................................................... 74

6.3. Objetos que administra un dominio ........................................................ 776.3.1. Usuarios globales ........................................................................ 786.3.2. Grupos ....................................................................................... 796.3.3. Equipos ...................................................................................... 806.3.4. Unidades Organizativas ............................................................... 81

6.4. Compartición de recursos ....................................................................... 816.4.1. Permisos y derechos .................................................................... 816.4.2. Compartición dentro de un dominio ............................................. 826.4.3. Mandatos Windows 2003 para compartir recursos ......................... 83

6.5. Delegación de la administración ............................................................. 847. Administración de Políticas de Grupo .............................................................. 85

7.1. Introducción .......................................................................................... 877.2. Objeto de Política de Grupo (GPO) .......................................................... 877.3. Aplicación de Políticas de Grupo ............................................................ 897.4. Políticas de Grupo y grupos de seguridad ............................................... 90

7.4.1. Filtrar el ámbito de aplicación de un GPO ..................................... 907.4.2. Delegar la administración de un GPO ........................................... 91

7.5. Principales políticas incluidas en un GPO ................................................ 927.5.1. Plantillas administrativas ............................................................. 927.5.2. Configuraciones de seguridad ...................................................... 937.5.3. Instalación de software ................................................................ 937.5.4. Guiones (Scripts) ......................................................................... 937.5.5. Redirección de carpetas ............................................................... 957.5.6. Otras políticas ............................................................................. 95

7.6. Recomendaciones de uso ........................................................................ 958. Políticas de seguridad en Linux ........................................................................ 97

8.1. Introducción .......................................................................................... 998.2. Uso de pam_script ................................................................................. 99

9. Configuración Básica de Samba ..................................................................... 1039.1. ¿Qué es Samba? ................................................................................... 1059.2. El protocolo SMB ................................................................................. 1069.3. Configuración de Samba ...................................................................... 108

Administración de Sistemas

vi ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 7: Administración de Sistemas 06 07

9.4. Niveles de seguridad ........................................................................... 1109.5. Configuración de Samba en el nivel domain .......................................... 1119.6. Tratamiento de los accesos como invitado ............................................. 1129.7. El sistema de ficheros CIFS para Linux .................................................. 1139.8. Opciones del servidor Samba ................................................................ 1149.9. Opciones del recurso ............................................................................ 115

10. Integración de dominios mediante servidores Windows Server 2003 ............. 11710.1. Introducción ...................................................................................... 11910.2. Aspectos básicos a considerar ............................................................. 11910.3. Modificaciones del Directorio Activo ................................................... 12010.4. Autentificación en los clientes Linux .................................................... 122

10.4.1. Linux como cliente de OpenLDAP ............................................ 12210.4.2. Linux como cliente del Directorio Activo ................................... 124

A. Montaje de dispositivos en Linux .................................................................. 129A.1. Introducción ....................................................................................... 129A.2. Utilización básica ................................................................................ 129A.3. La tabla de montaje de dispositivos ...................................................... 130A.4. Otros mandatos relacionados ............................................................... 132

B. Niveles de ejecución en Linux ....................................................................... 133B.1. Inicio y detención de un sistema Linux .................................................. 133B.2. El concepto de nivel de ejecución .......................................................... 133B.3. Ficheros de configuración de los niveles ................................................ 134B.4. Secuencia de arranque de un sistema Linux ........................................... 135B.5. Secuencia de entrada en un nivel de ejecución ....................................... 135B.6. Servicios independientes de los niveles de ejecución .............................. 136B.7. Configuración de los niveles de ejecución .............................................. 137

C. Nota Legal .................................................................................................... 139

Administración de Sistemas

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez vii

Page 8: Administración de Sistemas 06 07
Page 9: Administración de Sistemas 06 07

Lista de figuras4.1. Estructura de directorio del dominio admon.com. ............................................ 414.2. Vista de la herramienta phpLDAPadmin ......................................................... 537.1. Herramienta de configuración de un GPO ....................................................... 889.1. Protocolos sobre los que puede implementarse SMB. ...................................... 10610.1. Pestaña de atributos UNIX en Usuarios y Equipos de Active Directory. ......... 12210.2. Configuración de la autenticación Kerberos en Linux. ................................... 127B.1. Editor gráfico de niveles de ejecución en Fedora Linux ................................... 138

ix

Page 10: Administración de Sistemas 06 07
Page 11: Administración de Sistemas 06 07

Lista de tablas1.1. Horarios de la asignatura ASO (FIV) en el curso 2008/2009. ................................ 41.2. Horarios de la asignatura ADS (ETSIAp) en el curso 2008/2009. .......................... 42.1. Elementos de la tabla de usuarios ...................................................................... 92.2. Extensión de la tabla de usuarios ...................................................................... 92.3. Elementos de la tabla de grupos ...................................................................... 102.4. Mandatos para gestión de usuariosy grupos .................................................... 112.5. Significado de los bits de permiso en Unix ....................................................... 123.1. Principales derechos de usuario en Windows 2003 ........................................... 273.2. Permisos estándar sobre carpetas y archivos en Windows 2003 ......................... 313.3. Permisos individuales en Windows 2003 ......................................................... 313.4. Correspondencia entre permisos estándar e individuales en Windows 2003 ....... 337.1. Principales políticas que afectan el comportamiento de los scritps ..................... 949.1. Resumen de los accesos como invitado en modo "domain" ............................. 1129.2. Opciones de montaje del sistema de archivos CIFS ......................................... 1149.3. Principales opciones de la sección [global] de Samba ...................................... 1149.4. Principales opciones de los recursos en Samba ............................................... 115A.1. Principales tipos de particiones soportados por Linux ................................... 129A.2. Interpretación del fichero /etc/fstab .............................................................. 131A.3. Opciones más comunes en el montaje de dispositivos en Linux. ..................... 131B.1. Niveles de ejecución en RedHat/Fedora Linux ............................................... 133

xi

Page 12: Administración de Sistemas 06 07
Page 13: Administración de Sistemas 06 07

1Introducción

Indice1.1. Profesorado ..................................................................................................... 31.2. Programa ........................................................................................................ 31.3. Reglas de evaluación ........................................................................................ 31.4. Documentación y páginas Web ......................................................................... 41.5. Horarios .......................................................................................................... 4

1

Page 14: Administración de Sistemas 06 07
Page 15: Administración de Sistemas 06 07

1.1. Profesorado

• Agustín Espinosa Minguet ([email protected])

• Andrés Terrasa Barrena ([email protected])

• Alvaro Alvarez Rodríguez ([email protected])

1.2. Programa

1. Instalación de Linux CentOS 5.

2. Instalación de Windows Server 2003 R2.

3. Protección local en Linux.

4. Protección local en Windows Server 2003.

5. Dominios y sistemas de archivos en red en Linux.

6. Dominios y sistemas de archivos en red en Windows Server 2003.

7. Políticas en dominios Windows Server 2003.

8. Políticas en dominios Linux.

9. Integración de usuarios entre sistemas Linux y Windows Server 2003.

10. Integración de archivos entre sistemas Linux y Windows Server 2003.

1.3. Reglas de evaluación1. Convocatoria Ordinaria (enero)

• Actividad de laboratorio. Supone el 70% de la nota final en ASO y el 50% en ADS:

• Cada no asistencia a prácticas resta un 10% de la nota de prácticas.• Cada práctica es evaluada con calificación al grupo.• Deben aprobarse las prácticas para aprobar la asignatura.• Las prácticas son recuperables en otro turno que realice la misma práctica a recu-

perar.

• Examen escrito. Supone el 30% de la nota final en ASO y el 50% en ADS:

• Individual.• Debe aprobarse el examen escrito para aprobar la asignatura.

1.1. Profesorado

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 3

Page 16: Administración de Sistemas 06 07

2. Convocatoria Extraordinaria (julio)

• Examen escrito (30% para ASO, 50% para ADS) para alumnos con prácticas aproba-das en enero.

• Examen escrito (100%) con ejercicio práctico para el resto.

1.4. Documentación y páginas WebLa documentación de las asignaturas consiste en este documento, que incluye los temas teó-ricos, más un documento semanal que describe la actividad práctica a realizar en cada sesiónde laboratorio. Esta documentación podrá encontrarse en las páginas web de las asignaturas,así como comprarse en reprografía.

Adicionalmente, los alumnos pueden encontrar referencias a otros documentos másavanzados o específicos en el apartado de bibliografía de las páginas web de las asignaturas.

Las páginas web de las asignaturas se encuentran dentro de la plataforma virtual "Polifor-maT" [http://poliformat.upv.es]. Se requiere acreditación como alumno matriculado para po-der acceder a dichas páginas.

1.5. Horarios

Tabla 1.1. Horarios de la asignatura ASO (FIV) en el curso 2008/2009.

TEORIA

Grupo Día Hora Aula Profesor

Castellano Miércoles 8:30 a 10:30 FIV, aula A.2.0 Andrés Terrasa

Inglés Miércoles 15:00 a 17:00 FIV, aula A.2.0 Andrés Terrasa

LABORATORIO

Grupo Día Hora Aula Profesor

PL-1 Viernes 10:30 a 12:30 DSIC, lab. 4 Andrés Terrasa

PL-2 Viernes 15:00 a 17:00 DSIC, lab. 4 Alvaro Alvarez

Tabla 1.2. Horarios de la asignatura ADS (ETSIAp) en el curso 2008/2009.

TEORIA

Grupo Día Hora Aula Profesor

TA-1 Miércoles 12:30 a 14:30 EI, aula 1.4 Agustín Espinosa

TA-2 Martes 15:00 a 17:00 EI, aula 1.4 Agustín Espinosa

LABORATORIO

Grupo Día Hora Aula Profesor

PL-1 Jueves 17:00 a 19:00 DSIC, lab. 4 Alvaro Alvarez

1.4. Documentación y páginas Web

4 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 17: Administración de Sistemas 06 07

LABORATORIO

Grupo Día Hora Aula Profesor

PL-2 Jueves 19:00 a 21:00 DSIC, lab. 4 Alvaro Alvarez

PL-3 Viernes 17:00 a 19:00 DSIC, lab. 4 Alvaro Alvarez

PL-4 Miércoles 19:00 a 21:00 DSIC, lab. 4 Alvaro Alvarez

PL-5 Viernes 12:30 a 14:30 DSIC, lab. 4 Agustín Espinosa

PL-6 Viernes 8:30 a 10:30 DSIC, lab. 4 Agustín Espinosa

1.5. Horarios

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 5

Page 18: Administración de Sistemas 06 07
Page 19: Administración de Sistemas 06 07

2Protección local en

sistemas Linux

Indice2.1. La tabla de usuarios ......................................................................................... 92.2. La extension de la tabla de usuarios .................................................................. 92.3. La tabla de grupos ......................................................................................... 102.4. Procedimientos para crear grupos y usuarios ................................................... 112.5. Atributos de protección de los procesos ........................................................... 112.6. Atributos de protección de los ficheros ............................................................ 122.7. Las reglas de protección básicas ...................................................................... 132.8. Cambio de atributos de protección en ficheros ................................................. 142.9. Los bits SETUID y SETGID en ficheros ejecutables ........................................... 142.10. El bit SETGID en directorios .......................................................................... 152.11. La máscara de creación de ficheros ................................................................ 152.12. La estrategia de los grupos privados .............................................................. 162.13. Mandatos Unix relacionados ......................................................................... 16

7

Page 20: Administración de Sistemas 06 07
Page 21: Administración de Sistemas 06 07

2.1. La tabla de usuariosLos usuarios de un sistema Unix son registrados en el fichero /etc/passwd. Cada línea co-rresponde a un usuario y describe los atributos del mismo. Los atributos son separados porel carácter ':'. Por ejemplo, dada la siguiente línea del fichero /etc/passwd, la tabla a conti-nuación describe cada elemento de la misma:

usu1:$1$ZtoHwEykKW/eCLHzSUigg5KAEy:1002:2000:Usuario 1:/home/usu1:/bin/bash

Tabla 2.1. Elementos de la tabla de usuarios

Elemento Significado

usu1 Nombre de usuario ( login name)

$1$ZtoHwEykKW/eCLHzSUigg5KAEy

Contraseña cifrada

1002 Identificador del usuario (UID)

2000 Indentificador del grupo primario al que pertenece elusuario (GID)

Usuario 1 Descripción del usuario

/home/usu1 Directorio de conexión inicial del usuario.

/bin/bash Programa intérprete de órdenes (shell)

Existen varios usuarios especiales predefinidos en el sistema, normalmente aquellos cuyoUID es inferior a 500. Entre estos usuarios cabe destacar a root, cuyo UID es igual a 0. Estees el administrador del sistema, conocido generalmente como el superusuario. Otros usuariosespeciales sirven para asociar niveles de acceso a ciertos servicios del sistema, como porejemplo los usuarios mail o news. Otro caso destacable es el usuario nobody, normalmenteempleado para representar conexiones de red realizadas por usuarios desconocidos o anómi-mos. Todos estos usuarios se crean durante la instalación del sistema o cuando se instalanciertos paquetes y, en principio, no deben modificarse nunca.

2.2. La extension de la tabla de usuariosAdemás de la tabla de usuarios descrita en el apartado anterior, en la mayoría de sistemasUnix actuales se utiliza otra tabla, contenida en el fichero /etc/shadow, en la que se alma-cena información adicional para los usuarios.

Cada línea de este fichero se corresponde con una línea del fichero /etc/passwd y la in-formación que contiene es la siguiente (de acuerdo con el ejemplo anterior):

usu1:$1$ZtoHwEykKW/eCLHzSUigg5KAEy:10989:0:99999:7:-1:-1:134538436

Tabla 2.2. Extensión de la tabla de usuarios

2.1. La tabla de usuarios

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 9

Page 22: Administración de Sistemas 06 07

Elemento Significado

usu1 Nombre de usuario ( login name)

$1$ZtoHwEykK/eCLHzSUigg5KAEy

Contraseña cifrada

10989:0:99999:7:-1:-1:134538436

Información de caducidad de la contraseña

Cuando el sistema emplea esta tabla, la contraseña que debería estar almacenada en el fi-chero /etc/passwd se sustituye por una 'x'. Dado que el fichero /etc/passwd es legiblepor todos los usuarios mientras que /etc/shadow sólo es legible por el administrador, me-diante este cambio se consigue que ningún usuario tenga acceso a las contraseñas cifradas.

La información de caducidad de la contraseña está expresada en días, siendo su utiliza-ción e interpretación compleja en algunos casos. Por este motivo, para modificar y consultaresta información no se recomienda en general trabajar directamente con el fichero /etc/shadow, sino utilizar herramientas administrativas específicas, ya sea en forma demandatos (passwd y chage) o mediante aplicaciones gráficas.

2.3. La tabla de gruposLos grupos de un sistema Unix son registrados en un fichero denominado /etc/group. Ca-da línea corresponde a un grupo y describe los atributos del mismo. Los atributos son sepa-rados por el carácter `:' y su significado se describe mediante el siguiente ejemplo:

proy1::65534:usu1,usu2,usu3

Tabla 2.3. Elementos de la tabla de grupos

Elemento Significado

proy1 Nombre del grupo

Contraseña cifrada (vacía en el ejemplo). De conocerla,un usuario podría cambiar su grupo primario. Sin em-bargo, esta funcionalidad está en desuso

65534 Identificador del grupo (GID)

usu1,usu2,usu3 Lista de usuarios que pertenecen a este grupo(separados por comas)

Como se deduce del ejemplo, un usuario puede figurar en la lista de distintos grupos, esdecir, puede pertenecer a varios grupos. De todos esos grupos, aquél cuyo GID figura en laentrada correspondiente al usuario en el fichero /etc/passwd se considera el grupo primariode dicho usuario. El resto de grupos se denominan grupos suplementarios.

Al igual que sucede con los usuarios, existen ciertos grupos que son especiales, en concre-to aquellos cuyo GID es menor que 500. De forma análoga a los usuarios especiales, repre-sentan servicios, usuarios anónimos, etc. No deben, por tanto, ser modificados.

2.3. La tabla de grupos

10 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 23: Administración de Sistemas 06 07

2.4. Procedimientos para crear grupos y usuariosEn la mayoría de sistemas Unix System V pueden emplearse los siguientes mandatos para lagestión de usuarios y grupos:

Tabla 2.4. Mandatos para gestión de usuariosy grupos

Mandato Uso

useradd Añadir un usuario

userdel Eliminar un usuario

usermod Modificar los atributos de un usuario

groupadd Añadir un grupo

groupdel Eliminar un grupo

groupmod Modificar los atributos de un grupo

passwd Cambiar la contraseña de un usuario

chage Gestionar la caducidad de la contraseña

Estos mandatos son especialmente útiles cuando la gestión de usuarios debe realizarsedesde scripts del shell, por ejemplo, cuando debe crearse una gran cantidad de usuarios deforma automática. La sintaxis y opciones más usuales de estos mandatos se citan en la Sec-ción 2.13, “Mandatos Unix relacionados” al final de este capítulo.

Adicionalmente, cada vez es más frecuente la disponibilidad de herramientas gráficasque facilitan la labor del administrador, tal como la utilidad Gestor de usuarios (o "User Ma-nager") de RedHat.

2.5. Atributos de protección de los procesosLos atributos de un proceso que intervienen en el mecanismo de protección son:

1. Identificadores del usuario propietario del proceso. En realidad, cada proceso contienedos versiones del identificador de usuario, la denominada versión real (rUID) y la ver-sión efectiva (eUID).

La versión real siempre corresponde al usuario que creó el proceso. La versión efecti-va corresponde al usuario bajo el cual se comporta el proceso y es el utilizado en el me-canismo de protección. Ambos identificadores suelen ser iguales, salvo que intervengael denominado bit SETUID en el fichero ejecutable que está ejecutando el proceso, tal co-mo se describe más adelante en este documento (ver Sección 2.9, “Los bits SETUID ySETGID en ficheros ejecutables ”).

2. Identificadores del grupo propietario del proceso.En este caso, el proceso también con-tiene una versión real (rGID) y otra efectiva (eGID) del identificador.

La versión real corresponde al grupo primario al que pertenece el usuario que creó elproceso. La versión efectiva corresponde al grupo bajo el cual se comporta el proceso y

2.5. Atributos de protección de los procesos

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 11

Page 24: Administración de Sistemas 06 07

es el utilizado en el mecanismo de protección. Ambos identificadores suelen ser iguales,salvo que intervenga el denominado bit SETGID en el fichero ejecutable que está ejecu-tando el proceso, tal como se describe más adelante en este documento (ver Sección 2.9,“Los bits SETUID y SETGID en ficheros ejecutables ”).

3. Lista de grupos suplementarios. Es la lista formada por los grupos suplementarios delusuario que creó el proceso.

Estos atributos son asignados al proceso en el momento de su creación, y heredados de suproceso padre. Cada usuario conectado a un sistema Unix posee un proceso de atención, elcual puede ser un entorno de ventanas o un intérprete de órdenes (shell). En cualquiera deambos casos, este proceso es el padre de todos los procesos que el usuario genera. Este pro-ceso shell recibe sus atributos no por herencia, sino en el momento en el que un usuario seacredita al sistema mediante su nombre de usuario y contraseña asociada. Los atributosrUID y rGID se extraen de la tabla de usuarios /etc/passwd. La lista de grupos suplemen-tarios es confeccionada a partir de la tabla de grupos /etc/group. Los atributos eUID yeGID son asignados a los valores respectivos de rUID y rGID. Un mandato interesante al res-pecto es id, el cual muestra todos estos atibutos.

2.6. Atributos de protección de los ficherosLos atributos de un fichero que intervienen en el mecanismo de protección son:

1. OwnerUID. Identificador del usuario propietario del fichero.

2. OwnerGID. Identificador del grupo propietario del fichero.

3. Bits de permiso. Un total de 12 bits que expresan las operaciones del fichero que sonpermitidas en función del proceso que acceda a este fichero. La Tabla 2.5, “Significadode los bits de permiso en Unix” a continuación muestra el significado de cada uno de es-tos bits.

Tabla 2.5. Significado de los bits de permiso en Unix

Bit Significado

11 SETUID

10 SETGID

9 Sticky

8, 7, 6 Lectura, escritura y ejecución para el propietario.

5, 4, 3 Lectura, escritura y ejecución para el grupo.

2, 1, 0 Lectura, escritura y ejecución para el resto de usuarios.

El significado de los bits de lectura, escritura y ejecución es diferente en función del tipo

2.6. Atributos de protección de los ficheros

12 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 25: Administración de Sistemas 06 07

de archivo que los defina. Para ficheros regulares, su significado es el esperable (permitenleer, modificar y ejecutar el fichero respectivamente). Evidentemente, el bit de ejecución sólotiene sentido si el fichero es un binario ejecutable o contiene un shellscript.

En un directorio, el significado de estos tres bits es el siguiente:

1. Lectura. Permite listar el contenido del directorio.

2. Escritura. Permite la creación, eliminación o renombrado de ficheros o directorios den-tro del directorio al cual se aplica este bit.

3. Ejecución. Permite la utilización del directorio al cual se aplica este bit para formar par-te de un nombre de ruta, es decir, puede utilizarse el directorio para nombrar un fiche-ro.

De lo anteriormente expuesto, puede observarse que no existe un bit de permiso específi-co para el borrado de un fichero/directorio. Dicho permiso es controlado realmente desde eldirectorio donde reside el fichero que quiere eliminarse. En algunos sistemas Unix (comopor los basados en RedHat Linux), el bit sticky es utilizado para modificar la regla de eli-minación de ficheros: si se activa en un directorio, un usuario puede borrar un fichero en élsólo si es el propietario de dicho fichero. Los bits SETUID y SETGID son tratados en aparta-dos posteriores.

El ownerUID puede modificarse con el mandato chown. El ownerGID puede modificarsecon el mandato chgrp. Los bits de permiso pueden modificarse con el mandato chmod. To-dos estos mandatos se describen en Sección 2.13, “Mandatos Unix relacionados”.

2.7. Las reglas de protección básicasLas reglas de protección básicas se activan cuando un proceso notifica al sistema que deseautilizar un determinado fichero. El proceso también notifica al sistema qué tipo de operacio-nes quiere realizar: lectura, escritura o ejecución.

• Si el eUID del proceso es 0 se concede el permiso (estamos en el caso en el que el procesopertenece al superusuario). Si no...

• Si el eUID del proceso es igual al ownerUID del fichero, se autoriza la operación si estápermitida en el grupo de bits 6 al 8, los que corresponden al propietario. Si no...

• Si el eGID del proceso o alguno de los grupos suplementarios del proceso es igual al ow-nerGID del fichero, se autoriza la operación si está permitida en el grupo de bits 3 al 5,los que corresponden al grupo. Si no...

• En cualquier otro caso, se autoriza la operación si está permitida en el grupo de bits 0 al2, los que corresponden al resto de usuarios.

2.7. Las reglas de protección básicas

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 13

Page 26: Administración de Sistemas 06 07

Debe notarse que sólo se aplica una regla, aquella que corresponde a la primera condi-ción que se cumple para los atributos del proceso. Es decir, el sistema determina primero quégrupo de tres bits debe aplicar y después autoriza (o deniega) la operación en función del tipode operación requerida y del estado de dichos tres bits.

2.8. Cambio de atributos de protección en ficherosUnix establece unas reglas de protección específicas para controlar los cambios de cualquieratributo de protección de un fichero, dado que dichas modificaciones se consideran opera-ciones distintas de la de escritura, y por tanto no pueden ser concedidas/denegadas en fun-ción de los bits de permiso del fichero.

En concreto, las reglas establecidas al respecto son las siguientes:

1. Cambio en los bits de permiso. Un proceso puede cambiar los bits de permiso de un fi-chero sólo si:

• el eUID del proceso es 0 (estamos en el caso en el que el proceso pertenece al superu-suario), o bien

• el eUID del proceso es igual al ownerUID del fichero.

Es decir, sólo el superusuario o el propietario de un fichero pueden modificar susbits de permiso.

2. Cambio de propietario. El cambio de propietario de un fichero puede realizarlo tan sóloel superusuario.

3. Cambio de grupo propietario. El cambio del grupo propietario de un fichero puede rea-lizarse sólo si:

• lo realiza el superusuario, o bien• lo realiza el propietario del fichero, siempre que el nuevo ownerGID del fichero sea

igual a alguno de los grupos de dicho usuario.

2.9. Los bits SETUID y SETGID en ficheros ejecutablesEstos bits se emplean para permitir que un programa se ejecute bajo los privilegios de unusuario distinto al que lanza la ejecución del programa. Su funcionamiento es el siguiente:

• Si el fichero ejecutable tiene el bit SETUID activo, el eUID del proceso que ejecuta el fiche-ro es hecho igual al ownerUID del fichero.

• Si el fichero ejecutable tiene el bit SETGID activo, el eGID del proceso que ejecuta el fiche-ro es hecho igual al ownerGID del fichero.

2.8. Cambio de atributos de protección en ficheros

14 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 27: Administración de Sistemas 06 07

Normalmente estos programas pertenecen al superusuario, y permiten a los usuarios eje-cutar tareas privilegiadas bajo ciertas condiciones. El cambio de la contraseña de un usuarioes un ejemplo de esta técnica.

La existencia de estos ficheros en el sistema de archivos debe ser cuidadosamente super-visada por el superusuario. Muchos de los ataques de seguridad a Unix utilizan estos fiche-ros para conseguir atentar contra la seguridad del sistema.

2.10. El bit SETGID en directoriosLa utilización de este bit está orientada a facilitar el trabajo en grupo cuando varios usuariosdeben acceder a una colección común de ficheros y directorios. Su funcionamiento es el si-guiente: si un directorio, llamémosle D, tiene el bit SETGID activo, entonces:

• si se crea un fichero dentro de D, el ownerGID del nuevo fichero es hecho igual al ow-nerGID del directorio D.

• si se crea un directorio dentro de D, el ownerGID del nuevo directorio es hecho igual alownerGID del directorio D y su bit SETGID es activado.

Puede observarse que se trata, en esencia, de un mecanismo de herencia. Cuando el bitSETGID no está activo, el ownerGID de un fichero o directorio se toma del eGID del procesoque lo crea. En cambio, utilizando el SETGID, aunque varios usuarios creen ficheros dentrode un directorio, todos ellos pertenecerán al menos al mismo grupo, con lo que una utiliza-ción adecuada de los bits de permiso puede hacer que todos ellos puedan, por ejemplo, leery modificar dichos ficheros.

2.11. La máscara de creación de ficherosLas utilidades de Unix que crean ficheros utilizan por defecto la palabra de protección rw-rw-rw- si se trata de ficheros no ejecutables o rwxrwxrwx si se crea un directorio o un eje-cutable. Puede observarse, por tanto, que todos los permisos son activados.

Para modificar este funcionamiento, cada usuario puede especificar al sistema aquellosbits que no desea que sean activados, mediante la máscara de creación de ficheros. La másca-ra se establece mediante el mandato umask. Cada bit activo en la máscara es un bit que serádesactivado cuando se cree un fichero. Por ejemplo, una máscara 022 desactivaría los bits deescritura para el grupo y el resto de usuarios.

El administrador debe velar porque exista una máscara de creación de ficheros razonablepor defecto para cualquier usuario. Esto puede conseguirse fácilmente utilizando el fichero /etc/profile, el cual sirve para personalizar el entorno de los usuarios en el momento desu conexión, independientemente del shell que utilicen. Sin embargo, en sistemas Linux co-mo RedHat/Fedora, que por defecto utilizan bash como shell por defecto para todos losusuarios, el establecimiento de la máscara inicial se realiza en /etc/bashrc.

2.10. El bit SETGID en directorios

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 15

Page 28: Administración de Sistemas 06 07

2.12. La estrategia de los grupos privadosEsta estrategia, empleada por defecto en Redhat Linux, está orientada a racionalizar y flexi-bilizar la asignación de usuarios a grupos. Las claves de esta estrategia son:

• Crear un grupo privado para cada usuario (utilizando para ello el mismo nombre delusuario), y hacer que éste sea el grupo primario del usuario.

• Utilizar exclusivamente grupos suplementarios para agrupar usuarios.

• Utilizar el bit SETGID y un grupo suplementario en aquellos directorios donde variosusuarios tengan que colaborar.

• Utilizar el grupo privado en el directorio de conexión de cada usuario.

• Asignar como máscara por defecto para todos los usuarios 00X, es decir, todos los permi-sos activos para el propietario y para el grupo y lo que se considere oportuno para el res-to de usuarios.

Se invita al lector a reflexionar sobre las consecuencias de esta estrategia.

2.13. Mandatos Unix relacionadosuseradd

useradd [-u uid [-o]] [-g group] [-G group,...][-d home] [-s shell] [-c comment] [-m [-k template]][-f inactive] [-e expire mm/dd/yy] [-p passwd] [-n] [-r] name

useradd -D [-g group] [-b base] [-s shell] [-f inactive][-e expire mm/dd/yy]

Crea un usuario. Opciones:

-c Comentario sobre el usuario-d Directorio de conexión del usario-e Fecha en la cual la cuenta de usuario se desactiva-f Días que transcurrirán desde la caducidad de la

contraseña hasta la desactivación de la cuenta-g Nombre o número del grupo primario-G Lista de los grupos suplementarios del usuario

(separados por ,) (sin espacios)-m Crea el directorio de conexión. Si no se especifica la opción

-k, copia al directorio de conexión los ficheros del directorio/etc/skel

-k Copia al directorio de conexión los ficheros del directoriotemplate

-p Asigna una contraseña cifrada al usuario-r Crea una cuenta del sistema-s Asigna el shell a utilizar por el usuario-u Asigna un UID concreto al usuario-o Permite crear un UID duplicado con la opción -u-D Se asignan valores por defecto para las opciones indicadas.

(No crea usuario)

2.13. Mandatos Unix relacionados

16 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 29: Administración de Sistemas 06 07

userdel

userdel [-r] name

Elimina un usuario. Opciones:

-r Elimina el directorio de conexión del usario

usermod

usermod [-u uid [-o]] [-g group] [-G group,...][-d home [-m]] [-s shell] [-c comment] [-l new_name][-f inactive] [-e expire mm/dd/yy] [-p passwd] [-L|-U] name

Modifica atributos de un usuario. Opciones:

-c Comentario sobre el usuario-d Directorio de conexión del usario-e Fecha en la cual la cuenta de usuario se desactiva-f Días que transcurrirán desde la caducidad de la contraseña

hasta la desactivación de la cuenta-g Nombre o número del grupo primario-G Lista de los grupos suplementarios del usuario

(separados por ,) (sin espacios)-l Modifica el nombre de conexión del usuario-L Bloquea la contraseña del usuario-m Crea el directorio de conexión Si no se especifica la opción -k

copia al directorio de conexión los ficheros del directorio/etc/skel

-p Asigna una contraseña cifrada al usuario-s Asigna el shell a utilizar por el usuario-u Asigna un UID concreto al usuario-o Permite crear un UID duplicado con la opción -u-U Desbloquea la contraseña del usuario

groupadd

groupadd [-g gid [-o]] [-r] group

Crea un grupo de usuarios. Opciones:

-g Asigna un GID concreto al grupo-o Permite crear un GID duplicado con la opción -g-r Crea una cuenta de grupo del sistema

groupmod

groupmod [-g gid [-o]] [-n name] group

Modifica los atributos de un grupo de usuarios. Opciones:

-g Asigna un GID concreto al grupo-o Permite crear un GID duplicado con la opción -g-n Cambia el nombre del grupo

groupdel

2.13. Mandatos Unix relacionados

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 17

Page 30: Administración de Sistemas 06 07

groupdel group

Elimina un grupo de usuarios. No tiene opciones.

passwd

passwd [-l] [-u [-f]] [-d] [-S] [ username ]

Modifica la contraseña y el estado de la cuenta un usuario. Opciones:

-d Elimina la contraseña del usuario-f Fuerza el desbloqueo-l Bloquea la cuenta del usuario-S Informa sobre el estado de la cuenta de un usuario-u Desbloquea la cuenta del usuario

Sin argumentos modifica la contraseña del usuario que lo invoca.Si se especifica un nombre de usuario y no se especifican opciones,modifica la contraseña del usuario indicado.

chage

chage [ -l ] [ -m min_days ] [ -M max_days ] [ -W warn ][ -I inactive ] [ -E expire ] [ -d last_day ] user

Modifica la información de caducidad de la contraseña de un usuario.Opciones:

-d Asigna la fecha del último cambio de contraseña-E Asigna la fecha en la que la cuenta de usuario será desactivada-l Muestra la información de caducidad-I Número de días tras los cuales la cuenta será desactivada si no

se realiza el cambio de contraseña exigido-m Número de días mínimo permitido entre cambios de contraseña-M Número de días máximo permitido entre cambios de contraseña-W Número de días previos al próximo cambio de contraseña exigido

chown

chwon [ -R ] owner file

Modifica el usuario propietario de un fichero o directorio. Opciones:

-R Realiza la modificación en todo el contenido del directorio

chgrp

chgrp [ -R ] group file

Modifica el grupo propietario de un fichero o directorio. Opciones:

-R Realiza la modificación en todo el contenido del directorio

2.13. Mandatos Unix relacionados

18 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 31: Administración de Sistemas 06 07

chmod

chmod -R MODE[,MODE]... FILE...chmod -R OCTAL_MODE FILE...

Modifica los bits de permiso de un fichero o directorio. Opciones:

-R Realiza la modificación en todo el contenido del directorio

MODE indica como deben modificarse los bits de permiso. Su sintaxis es:

[ugoa][+-=][rwxXstugo]

[ugoa] u propietario g grupo o otros a todos

[+-=] + añadir - eliminar = hacer igual

[rwxXstugo] r lecturaw escriturax ejecuciónX ejecución si activo para el propietarios SETUID o SETGIDt stickyu igual al propietariog igual al grupoo igual a otros

2.13. Mandatos Unix relacionados

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 19

Page 32: Administración de Sistemas 06 07
Page 33: Administración de Sistemas 06 07

3Protección local en

Windows 2003

Indice3.1. Concepto de usuario ...................................................................................... 233.2. Grupos de Usuarios ....................................................................................... 243.3. El modelo de protección ................................................................................. 253.4. Atributos de protección de los procesos ........................................................... 263.5. Derechos de usuario ....................................................................................... 26

3.5.1. Otras directivas de seguridad ............................................................... 283.6. Atributos de protección de los recursos ........................................................... 28

3.6.1. Asociación de permisos a recursos ........................................................ 293.6.2. Permisos estándar e individuales .......................................................... 303.6.3. Modificación de atributos de protección ................................................ 33

3.7. Reglas de protección ...................................................................................... 34

21

Page 34: Administración de Sistemas 06 07
Page 35: Administración de Sistemas 06 07

3.1. Concepto de usuarioComo muchos otros sistemas operativos, Windows 2003 permite tener un riguroso controlde las personas que pueden entrar en el sistema y de las acciones que dichas personas estánautorizadas a ejecutar.

Windows 2003 denomina usuario a cada persona que puede entrar en el sistema. Para po-der controlar la entrada y las acciones de cada usuario utiliza básicamente el concepto decuenta de usuario (user account). Una cuenta de usuario almacena toda la información que elsistema guarda acerca de cada usuario. De entre los numerosos datos que Windows 2003 al-macena en cada cuenta de usuario, los más importantes son los siguientes:

• Nombre de usuario. Es el nombre mediante el cual el usuario se identifica en el sistema.Cada usuario ha de tener un nombre de usuario distinto para que la identificación seaunívoca.

• Nombre completo. Es el nombre completo del usuario.

• Contraseña. Palabra cifrada que permite autenticar el nombre de usuario. En Windows2003 la contraseña distingue entre mayúsculas y minúsculas. Sólo los usuarios que seidentifican y autentican positivamente pueden ser autorizados a conectarse al sistema.

• Directorio de conexión. Es el lugar donde (en principio) residirán los archivos personalesdel usuario. El directorio de conexión de cada usuario es privado: ningún otro usuariopuede entrar en él, a menos que su propietario conceda los permisos adecuados.

• Horas de conexión. Se puede controlar a qué horas un usuario puede conectarse para tra-bajar en el sistema. Inclusive se puede especificar un horario distinto para cada día de lasemana.

• Activada. Esta característica permite inhabilitar temporalmente una cuenta. Una cuentadesactivada sigue existiendo, pero no puede ser utilizada para acceder al sistema, ni si-quiera conociendo su contraseña.

Existe un dato especial que se asocia a cada cuenta, pero que a diferencia de todos los ex-puestos arriba, no puede ser especificado manualmente cuando se da de alta la cuenta. Setrata del identificador seguro (Secure Identifier, o SID). Este identificador es interno y el siste-ma lo genera automáticamente cuando se crea una nueva cuenta. Además, los SIDs se gene-ran de tal forma que se asegura que no pueden existir dos iguales en todas las instalacionesde Windows 2003 del mundo (son identificadores únicos). Windows 2003 utiliza siempre elSID (y no el nombre de usuario) para controlar si un usuario tiene o no permisos suficientespara llevar a cabo cualquiera de sus acciones. La ventaja de este modelo es que el SID es undato completamente interno del sistema operativo, es decir, ningún usuario puede estable-cerlo en ningún sitio (ni siquiera el administrador del sistema). Por tanto, nadie puede obte-ner un mayor grado de privilegio intentando suplantar la identidad de otro usuario.

Cuando en un equipo se instala Windows 2003, existen de entrada las cuentas de dos

3.1. Concepto de usuario

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 23

Page 36: Administración de Sistemas 06 07

usuarios integrados (built-in users): el Administrador y el Invitado. El primero es un usuarioespecial, el único que en principio posee lo que se denominan derechos administrativos en elsistema. Es decir, tiene la potestad de administrar el sistema en todos aquellos aspectos enque éste es configurable: usuarios, grupos de usuarios, contraseñas, recursos, derechos, etc.La cuenta de Administrador no puede ser borrada ni desactivada. Por su parte, la cuenta deInvitado es la que utilizan normalmente aquellas personas que no tienen un usuario propiopara acceder al sistema. Habitualmente esta cuenta no tiene contraseña asignada, puesto quese supone que el nivel de privilegios asociado a ella es mínimo. En cualquier caso, el Admi-nistrador puede desactivarla si lo considera oportuno.

3.2. Grupos de UsuariosLa información de seguridad almacenada en una cuenta de usuario es suficiente para esta-blecer el grado libertad (o de otro modo, las restricciones) que cada usuario debe poseer en elsistema. Sin embargo, resultaría muchas veces tedioso para el administrador determinar di-chas restricciones usuario por usuario, especialmente en sistemas con un elevado número deellos. El concepto de grupo de usuarios permite agrupar de forma lógica a los usuarios de unsistema, y establecer permisos y restricciones a todo el grupo de una vez. De forma análoga alas cuentas de usuario, una cuenta de grupo posee un nombre y un identificador interno oSID, además de una lista de los usuarios que pertenecen a dicho grupo.

La administración de la protección del sistema mediante grupos de usuarios es muchomás flexible y potente que el establecimiento de permisos en base a usuarios individuales, yaque un usuario puede pertenecer a tantos grupos como sea necesario, obteniendo implícita-mente la suma de los permisos asignados a todos ellos. Considérese, por ejemplo, que en unaempresa un sistema es utilizado por empleados de distinto rango, y que cada rango posee undistinto nivel de privilegios. Supongamos que se desea cambiar de rango a un empleado, de-bido a un ascenso, por ejemplo. Si la seguridad estuviera basada en usuarios individuales,cambiar los privilegios de este usuario adecuadamente supondría modificar sus privilegiosen cada lugar del sistema en que estos debieran cambiar (con el consiguiente trabajo, y elriesgo de olvidar alguno). Por el contrario, con la administración de seguridad basada engrupos, esta operación sería tan sencilla como cambiar al usuario de un grupo a otro. Porello, en Windows 2003 se recomienda que los permisos se asignen en base a grupos, y no enbase a usuarios individuales.

Al igual que existen usuarios integrados, en todo sistema 2003 existen una serie de gru-pos integrados (built-in groups): Administradores, Operadores de Copia, Usuarios Avanza-dos, Usuarios, e Invitados. El grupo Administradores recoge a todos aquellos usuarios quedeban poseer derechos administrativos completos. Inicialmente posee un solo usuario, elAdministrador. De igual forma, el grupo Invitados posee al Invitado como único miembro.Los otros tres grupos están vacíos inicialmente. Su uso es el siguiente:

• Usuarios. Son los usuarios normales del sistema. Tienen permisos para conectarse al sis-tema interactivamente y a través de la red.

• Operadores de copia. Estos usuarios pueden hacer (y restaurar) una copia de todo el sis-tema.

3.2. Grupos de Usuarios

24 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 37: Administración de Sistemas 06 07

• Usuarios avanzados. Son usuarios con una cierta capacidad administrativa. Se les permi-te cambiar la hora del sistema, crear cuentas de usuario y grupos, compartir ficheros eimpresoras, etc.

El Administrador, al ir creando las cuentas de los usuarios, puede hacer que cada unapertenezca al grupo (o grupos) que estime conveniente. Asimismo, puede crear nuevos gru-pos que refinen esta estructura inicial, conforme a las necesidades particulares de la organi-zación donde se ubique el sistema.

Finalmente, Windows 2003 define una serie de grupos especiales, cuyos (usuarios) miem-bros no se establecen de forma manual, sino que son determinados de forma dinámica y au-tomática por el sistema. Estos grupos se denominan genéricamente identidades especiales(special identities) y se utilizan normalmente para facilitar la labor de establecer la proteccióndel sistema. De entre estos grupos, destacan:

• Usuarios Interactivos (Interactive). Este grupo representa a todos aquellos usuarios quetienen el derecho de iniciar una sesión local en la máquina.

• Usuarios de Red (Network). Bajo este nombre se agrupa a todos aquellos usuarios que tie-nen el derecho de acceder al equipo desde la red.

• Todos (Everyone). Agrupa a todos los usuarios que el sistema conoce. Puede agrupar ausuarios existentes localmente y de otros sistemas (conectados a través de la red). A par-tir de Windows 2003, este grupo no incluye las conexiones anónimas (sin aportar usuarioy contraseña).

• Usuarios autentificados (Authenticated Users). Agrupa a todos los usuarios que poseenuna cuenta propia para conectarse al sistema. Por tanto, aquellos usuarios que se hayanconectado al sistema utilizando la cuenta de "invitado" pertenecen a "Todos" pero no a"Usuarios autentificados".

3.3. El modelo de protecciónEl modelo de protección de Windows 2003 establece la forma en que el sistema lleva a caboel control de acceso de cada usuario y grupo de usuarios. En otras palabras, es el modelo quesigue el sistema para establecer las acciones que un usuario (o grupo) está autorizado a lle-var a cabo. Este modelo está basado en la definición y contrastación de ciertos atributos deprotección que se asignan a los procesos de usuario por un lado, y al sistema y sus recursospor otro. En el caso del sistema y sus recursos, Windows 2003 define dos conceptos distintosy complementarios: el concepto de derecho y el concepto de permiso, respectivamente.

Un derecho o privilegio de usuario (user right) es un atributo de un usuario (o grupo) que lepermite realizar una accion que afecta al sistema en su conjunto (y no a un objeto o recursoen concreto). Existe un conjunto fijo y predefinido de derechos en Windows 2003. Para deter-minar qué usuarios poseen qué derechos, cada derecho posee una lista donde se especificanlos grupos/usuarios que tienen concedido este derecho.

3.3. El modelo de protección

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 25

Page 38: Administración de Sistemas 06 07

Un permiso (permission) es una característica de cada recurso (carpeta, archivo, impresora,etc.) del sistema, que concede o deniega el acceso al mismo a un usuario/grupo concreto. Ca-da recurso del sistema posee una lista en la que se establece qué usuarios/grupos pueden ac-ceder a dicho recurso, y también qué tipo de acceso puede hacer cada uno (lectura, modifica-ción, ejecución, borrado, etc.).

En los apartados siguientes se detallan los atributos de protección de los procesos deusuario (Sección 3.4, “Atributos de protección de los procesos”), los derechos que pueden es-tablecerse en el sistema (Sección 3.5, “Derechos de usuario”) y los atributos de protecciónque poseen los recursos (Sección 3.6, “Atributos de protección de los recursos”). La Sec-ción 3.7, “Reglas de protección” establece las reglas concretas que definen el control de acce-so de los procesos a los recursos.

3.4. Atributos de protección de los procesosCuando un usuario es autorizado a conectarse interactivamente a un sistema Windows 2003,el sistema construye para él una acreditación denominada Security Access Token o SAT. Estaacreditación contiene la información de protección del usuario, y Windows 2003 la incluyeen los procesos que crea para dicho usuario. De esta forma, los atributos de protección delusuario están presentes en cada proceso del usuario, y se utilizan para controlar los accesosque el proceso realiza a los recursos del sistema en nombre de dicho usuario.

En concreto, el SAT contiene los siguientes atributos de protección:

1. SID. El identificador único del usuario.

2. SIDs de sus grupos. Lista de los SIDs de los grupos a los que pertenece el usuario.

3. Derechos. Lista de derechos del usuario. Esta lista se construye mediante la inclusión detodos los derechos que el usuario tiene otorgados por sí mismo o por los grupos a losque pertenece (ver Sección 3.5, “Derechos de usuario”).

Esta forma de construir la acreditación introduce ya una de las máximas de la protecciónde Windows 2003: el nivel de acceso de un usuario incluye implícitamente los niveles de losgrupos a los que pertenece.

3.5. Derechos de usuarioUn derecho es un atributo de un usuario o grupo de usuarios que le confiere la posibilidad derealizar una acción concreta sobre el sistema en conjunto (no sobre un recurso concreto). Co-mo hemos visto, la lista de derechos de cada usuario se añade explícitamente a la acredita-ción (SAT) que el sistema construye cuando el usuario se conecta al sistema. Esta lista inclu-ye los derechos que el usuario tiene concedidos a título individual más los que tienen conce-didos todos los grupos a los que el usuario pertenece.

Windows 2003 distingue entre dos tipos de derechos: los derechos de conexión (logon rights)

3.4. Atributos de protección de los procesos

26 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 39: Administración de Sistemas 06 07

y los privilegios (privileges). Los primeros establecen las diferentes formas en que un usuariopuede conectarse al sistema (de forma interactiva, a través de la red, etc.), mientras que lossegundos hacen referencia a ciertas acciones predefinidas que el usuario puede realizar unavez conectado al sistema. La Tabla 3.1, “Principales derechos de usuario en Windows 2003”presenta los derechos más destacados de cada tipo, junto con su descripción.

Es importante hacer notar lo siguiente: cuando existe un conflicto entre lo que concede odeniega un permiso y lo que concede o deniega un derecho, este último tiene prioridad. Porejemplo: los miembros del grupo Operadores de Copia poseen el derecho de realizar una co-pia de seguridad de todos los archivos del sistema. Es posible (y muy probable) que existanarchivos sobre los que no tengan ningún tipo de permiso. Sin embargo, al ser el derecho másprioritario, podrán realizar la copia sin problemas. De igual forma, el administrador tiene elderecho de tomar posesión de cualquier archivo, inclusive de aquellos archivos sobre los queno tenga ningún permiso. Es decir, como regla general, los derechos y privilegios siempreprevalecen ante los permisos particulares de un objeto, en caso de que haya conflicto.

Tabla 3.1. Principales derechos de usuario en Windows 2003

DERECHOS DE CONEXIÓN

Nombre Significado

Acceder a este equipo desde lared

Permite/impide al usuario conectar con el ordenadordesde otro ordenador a través de la red.

Inicio de sesión local Permite/impide al usuario iniciar una sesión local en elordenador, desde el teclado del mismo.

PRIVILEGIOS

Nombre Significado

Añadir estaciones al dominio Permite al usuario añadir ordenadores al dominio ac-tual.

Hacer copias de seguridad Permite al usuario hacer copias de seguridad de archi-vos y carpetas.

Restaurar copias de seguridad Permite al usuario restaurar copias de seguridad de ar-chivos y carpetas.

Atravesar carpetas Permite al usuario acceder a archivos a los que tienepermisos a través de una ruta de directorios en los quepuede no tener ningún permiso.

Cambiar la hora del sistema Permite al usuario modificar la hora interna del ordena-dor.

Instalar manejadores de dispositi-vo

Permite al usuario instalar y desinstalar manejadoresde dispositivos Plug and Play.

Apagar el sistema Permite al usuario apagar el ordenador local.

Tomar posesión de archivos yotros objetos

Permite al usuario tomar posesión (hacerse propietario)de cualquier objeto con atributos de seguridad del sis-tema (archivos, carpetas, objetos del Directorio Activo,etc.).

3.5. Derechos de usuario

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 27

Page 40: Administración de Sistemas 06 07

3.5.1. Otras directivas de seguridad

En Windows 2003, los derechos son un tipo de directivas de seguridad. En este sentido, Win-dows 2003 ha agrupado un conjunto de reglas de seguridad que en versiones anteriores deNT estaban dispersas en distintas herramientas administrativas, y las ha incorporado a unaconsola de administración única denominada directivas de seguridad local).

Dentro de esta herramienta de administración podemos establecer, entre otras, los si-guientes tipos de reglas de seguridad para el equipo local:

1. Cuentas. En este apartado podemos establecer cuál es la política de cuentas o de contrase-ñas que sigue el equipo para sus usuarios locales. Dentro de este apartado se puedendistinguir reglas en tres epígrafes: Contraseñas, Bloqueo y Kerberos. Entre ellas, las dos pri-meras hacen referencia a cómo deben ser las contraseñas en el equipo (longitud mínima,vigencia máxima, historial, etc.) y cómo se debe bloquear una cuenta que haya alcanza-do un cierto máximo de intentos fallidos de conexión local.

2. Directiva local. Dentro de este apartado se encuentra, por una parte, la Auditoría delequipo, que permite registrar en el visor de sucesos ciertos eventos que sean interesan-tes, a criterio del administrador (por ejemplo, inicios de sesión local). Por otra parte, esteapartado incluye los derechos y privilegios que acabamos de explicar.

3. Claves públicas. Este apartado permite administrar las opciones de seguridad de lasclaves públicas emitidas por el equipo.

3.6. Atributos de protección de los recursosEn un sistema de archivos NTFS de Windows 2003, cada carpeta o archivo posee los siguien-tes atributos de protección:

1. SID del propietario. Inicialmente, el propietario es siempre el usuario que ha creado elarchivo o carpeta, aunque este atributo puede ser luego modificado (esto se explica másadelante).

2. Lista de control de acceso de protección. Esta lista incluye los permisos que los usuariostienen sobre el archivo o carpeta. La lista puede contener un número indefinido de en-tradas, de forma que cada una de ellas concede o deniega un conjunto concreto de per-misos a un usuario o grupo conocido por el sistema. Por tanto, Windows 2003 permitedefinir multitud de niveles de acceso a cada objeto del sistema de archivos, cada uno delos cuales puede ser positivo (se otorga un permiso) o negativo (se deniega un permiso).

3. Lista de control de acceso de seguridad. Esta segunda lista se utiliza para definir quéacciones sobre un archivo o carpeta tiene que auditar el sistema. El proceso de auditoríasupone la anotación en el registro del sistema de las acciones que los usuarios realizan so-bre archivos o carpetas (las entradas de este registro, denominado registro de seguridad,

3.5.1. Otras directivas de seguridad

28 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 41: Administración de Sistemas 06 07

pueden consultarse más tarde mediante la herramienta administrativa Visor de Suce-sos). El sistema sólo audita las acciones especificadas (de los usuarios o grupos especifi-cados) en la lista de seguridad de cada archivo o carpeta. Esta lista está inicialmente va-cía en todos los objetos del sistema de archivos.

La lista de control de acceso de protección se divide realmente en dos listas, cada una deellas denominada Discretionary Access Control List (lista de control de acceso discrecional) oDACL. Cada elemento de una DACL se denomina Access Control Entry (entrada de controlde acceso) o ACE. Cada entrada liga a un SID de usuario o grupo con la concesión o denega-ción de un permiso concreto (o conjunto de permisos), tal como se ha descrito arriba. Los di-ferentes permisos que se pueden asignar a usuarios o grupos en Windows 2003 se explicanen la Sección 3.6.2, “Permisos estándar e individuales”.

El hecho de que cada archivo o carpeta tenga dos DACL en vez de una tiene que ver conel mecanismo de la herencia de permisos que ha incorporado Windows 2003: cada archivo ocarpeta puede heredar implícitamente los permisos establecidos para la carpeta que lo con-tiene y puede además definir permisos propios (denominados explícitos en la jerga de Win-dows 2003). Es decir, que cada archivo o carpeta puede poseer potencialmente una DACL he-redada y una DACL explícita (aunque no está obligado a ello, como veremos). De esta forma,si una cierta carpeta define permisos explícitos, éstos (junto con sus permisos heredados) se-rán a su vez los permisos heredados de sus subcarpetas y archivos (y así sucesivamente). Elmecanismo de herencia de permisos es dinámico, queriendo decir que la modificación unpermiso explícito de una carpeta se refleja en el correspondiente permiso heredado de sussubcarpetas y archivos.

3.6.1. Asociación de permisos a recursos

La asociación de permisos a archivos y carpetas sigue una serie de reglas:

• Cuando se crea un nuevo archivo o carpeta, éste no posee ningún permiso explícito y ad-quiere como permisos heredados los permisos heredados y explícitos de su carpeta pa-dre.

• Si se desea añadir permisos sobre un archivo o carpeta, éstos se añaden siempre a la listade permisos explícitos. De igual forma, sólo se puede modificar o eliminar individualmen-te un permiso si éste es explícito.

• El control sobre la herencia de permisos (i.e., qué recursos heredan y qué permisos se he-redan) se puede realizar a dos niveles de forma independiente:

1. Cada carpeta o archivo tiene la potestad de decidir si desea o no heredar los permi-sos de su carpeta padre (herencia "desde arriba"). Es decir, en cada recurso se puededesactivar la herencia, con lo que los permisos definidos por encima del recurso en lajerarquía de archivos no se le aplican. Desactivar la herencia no es una acción irre-versible: la herencia puede volver a activarse más tarde si se desea, sin que ello mo-difique los permisos explícitos que pueda tener el recurso.

2. Cada permiso lleva asociada una regla que indica qué recursos van a poder heredar-

3.6.1. Asociación de permisos a recursos

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 29

Page 42: Administración de Sistemas 06 07

lo (herencia "hacia abajo"). Esta regla sólo interviene cuando se asocia un permiso auna carpeta, puesto que sólo las carpetas poseen recursos dentro de ellas(subcarpetas y archivos) que puedan heredar el permiso. Por tanto, cuando en unacarpeta se define un permiso explícito, su regla de la herencia puede utilizarse pararestringir qué recursos por debajo de dicha carpeta van a poder heredarlo.

Concretamente, la regla permite establecer que el permiso sea aplicable: (a) sóloen la propia carpeta, (b) sólo en las subcarpetas, (c) sólo en los archivos, o cualquiercombinación entre estas tres opciones. La regla por defecto al crear un nuevo permi-so explícito es que dicho permiso sea heredable por la carpeta y todas sus subcarpe-tas y archivos.

• Copiar un archivo o carpeta a otra ubicación se considera una creación, y por tanto el ar-chivo copiado recibe una lista de permisos explícitos vacía y se activa la herencia de lacarpeta padre correspondiente a la nueva ubicación.

• Mover un archivo distingue dos casos: si movemos una carpeta o archivo a otra ubica-ción dentro del mismo volúmen (partición) NTFS, se desactiva la herencia y se mantienenlos permisos que tuviera como explíticos en la nueva ubicación. Si el volúmen destino esdistinto, entonces se actúa como en una copia (sólo se tienen los permisos heredados dela carpeta padre correspondiente a la nueva ubicación).

3.6.2. Permisos estándar e individuales

Windows 2003 distingue entre los permisos estándar de carpetas y los de archivos. Como ocu-rría en versiones previas de Windows NT, los permisos estándar son combinaciones predefi-nidas de permisos individuales, que son aquellos que controlan cada una de las acciones indi-viduales que se pueden realizar sobre carpetas y archivos. La existencia de estas combinacio-nes predefinidas es el resultado de una agrupación "lógica" de los permisos individuales pa-ra facilitar la labor del administrador (y de cada usuario cuando administra los permisos desus archivos). Por este motivo, los permisos estándar se conocen también como "plantillas depermisos".

En la Tabla 3.2, “Permisos estándar sobre carpetas y archivos en Windows 2003” se mues-tran los permisos estándar de carpetas y archivos junto con su significado cualitativo. Ladescripción de las tablas hacen referencia a las acciones que cada permiso concede, pero noolvidemos que en Windows 2003 cada permiso puede ser positivo o negativo, es decir, querealmente cada permiso permite o deniega la acción correspondiente. Como puede verse enambas tablas, muchos de los permisos estándar se definen de forma incremental, de formaque unos incluyen y ofrece un nivel de acceso superior que los anteriores. La herencia depermisos se establece de forma natural: las carpetas heredan directamente los permisos es-tándar establecidos en la carpeta padre, mientras que los archivos heredan cualquier permi-so excepto el de Listar (sólo definido para carpetas).

3.6.2. Permisos estándar e individuales

30 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 43: Administración de Sistemas 06 07

Tabla 3.2. Permisos estándar sobre carpetas y archivos en Windows 2003

CARPETAS

Nombre Significado

Listar Permite listar la carpeta: ver los archivos y subcarpetas que contiene.

Leer Permite ver el contenido de los archivos y subcarpetas, así como supropietario, permisos y atributos (sistema, sólo lectura, oculto, etc.).

Escribir Permite crear nuevos archivos y subcarpetas. Permite modificar losatributos de la propia carpeta, así como ver su propietario, permisos yatributos.

Leer y Ejecutar Permite moverse por la jerarquía de subcarpetas a partir de la carpe-ta, incluso si no se tienen permisos sobre ellas. Además, incluye to-dos los permisos de Leer y de Listar.

Modificar Permite eliminar la carpeta más todos los permisos de Escribir yde Leer y Ejecutar.

Control Total Permite cambiar permisos, tomar posesión y eliminar subcarpetas yarchivos (aun no teniendo permisos sobre ellos), así como todos lospermisos anteriores.

ARCHIVOS

Nombre Significado

Leer Permite ver el contenido del archivo, así como su propietario, permi-sos y atributos (sistema, sólo lectura, oculto, etc.).

Escribir Permite sobreescribir el archivo, modificar sus atributos y ver su pro-pietario, permisos y atributos.

Leer y Ejecutar Permite ejecutar el archivo más todos los permisos de Leer.

Modificar Permite modificar y eliminar el archivo más todos los permisos deEscribir y de Leer y Ejecutar.

Control Total Permite cambiar permisos y tomar posesión del archivo, más todoslos permisos anteriores.

Cuando la asignación de permisos que queremos realizar no se ajusta al comportamientode ninguno de los permisos estándar, debemos entonces ir directamente a asignar permisosindividuales. La Tabla 3.3, “Permisos individuales en Windows 2003” muestra cuáles son lospermisos individuales en Windows 2003, junto con su significado concreto. También en estecaso debe entenderse que cada permiso puede ser concedido de forma positiva o negativa.

Tabla 3.3. Permisos individuales en Windows 2003

Nombre Significado

Atravesar carpeta/ejecutar ar-chivo

Aplicado a una carpeta, permite moverse por subcarpe-tas en las que puede que no se tenga permiso de acce-so. Aplicado a un archivo, permite su ejecución.

Leer carpeta/Leer datos Aplicado a una carpeta, permite ver los nombres de susficheros y subcarpetas. Aplicado a un archivo, permiteleer su contenido.

Leer atributos Permite ver los atributos del fichero/carpeta, tales comooculto o sólo lectura, definidos en NTFS.

3.6.2. Permisos estándar e individuales

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 31

Page 44: Administración de Sistemas 06 07

Nombre Significado

Leer atributos extendidos Permite ver los atributos extendidos del archivo o car-peta. (Estos atributos están definidos por los progra-mas y pueden variar).

Crear ficheros/escribir datos Aplicado a una carpetas, permite crear archivo en ella.Aplicado a un archivo, permite modificar y sobreescribirsu contenido.

Crear carpetas/anexar datos Aplicado a una carpeta, permite crear subcarpetas enella. Aplicado a un archivo, permite añadir datos al mis-mo.

Escribir atributos Permite modificar los atributos de un archivo o carpeta.

Escribir atributos extendidos Permite modificar los atributos extendidos de un archi-vo o carpeta.

Borrar subcarpetas y archivos Sólo se puede aplicar a una carpeta, y permite borrararchivos o subcarpetas de la misma, aun no teniendopermiso de borrado en dichos objetos.

Borrar Permite eliminar la carpeta o archivo.

Leer permisos Permite leer los permisos de la carpeta o archivo.

Cambiar permisos Permite modificar los permisos de la carpeta o archivo.

Tomar posesión Permite tomar posesión de la carpeta o archivo.

Finalmente, la Tabla 3.4, “Correspondencia entre permisos estándar e individuales enWindows 2003” pone de manifiesto el subconjunto de los permisos individuales forman ca-da uno de los permisos estándar mencionados anteriormente. Como curiosidad, puede verseque los permisos individuales correspondientes a Listar y Leer y Ejecutar son losmismos. En realidad, lo que les distingue es cómo se heredan: el primero sólo es heredadopor carpetas, mientras que el segundo es heredado por carpetas y archivos.

3.6.2. Permisos estándar e individuales

32 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 45: Administración de Sistemas 06 07

Tabla 3.4. Correspondencia entre permisos estándar e individuales en Windows 2003

Permiso C.Total Modif. L.y Ej. Listar Leer Escribir

Atravesar carpeta/ejecutar archivo

+ + + +

Leer carpeta/Leerdatos

+ + + + +

Leer atributos + + + + +

Leer atributos ex-tendidos

+ + + + +

Crear ficheros/es-cribir datos

+ + +

Crear carpetas/ane-xar datos

+ + +

Escribir atributos + + +

Escribir atributosextendidos

+ + +

Borrar subcarpetasy archivos

+

Borrar + +

Leer permisos + + + + + +

Cambiar permisos +

Tomar posesión +

3.6.3. Modificación de atributos de protección

Las reglas que plantea Windows 2003 para controlar quién puede modificar los atributos deprotección de un recurso están completamente integradas en su modelo de protección, basa-do en los permisos y los derechos del usuario implicado en la modificación. Este modelo es di-ferente del que plantean los sistemas UNIX, cuyas reglas en este sentido son independientesde los permisos que posea el propio recurso.

En concreto, las reglas que dictan quién puede modificar los diferentes atributos de pro-tección de los recursos (archivos y carpetas) son:

1. Propietario. Cualquier usuario que posea el permiso individual Tomarposesión(incluido dentro de Control Total) sobre un recurso concreto, puede pa-sar a ser su nuevo propietario.

Asimismo, cualquier usuario que tenga concedido el derecho Tomar posesión dearchivos y otros objetos puede convertirse en propietario de cualquier recursodel sistema. Por defecto, este derecho solamente lo tiene concedido el grupo Adminis-tradores.

Finalmente, Windows 2003 ha introducido otra posibilidad: el derecho de usuario

3.6.3. Modificación de atributos de protección

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 33

Page 46: Administración de Sistemas 06 07

Restaurar archivos y carpetas lleva asociado la posibilidad de asignar la pose-sión de cualquier archivo y carpeta del sistema a cualquier usuario, sin tener que tomarposesión en nombre propio. Por defecto, sólo los grupos Administradores y Opera-dores de copia tienen este derecho concedido.

2. Lista de control de acceso de protección. Cualquier usuario que posea el permiso indi-vidual Cambiar Permisos (incluido dentro de Control Total) sobre un recursoconcreto, puede modificar sus permisos. De forma independiente, el propietario de un re-curso siempre puede cambiar los permisos del mismo.

Las acciones concretas que se incluyen en el cambio de permisos sobre un recursoson: (a) la activación/desctivación de la herencia de permisos y (b) la edición (creación,modificación y eliminación) de permisos explícitos.

3. Lista de control de acceso de seguridad. Se aplican las mismas reglas que en el caso an-terior.

Después de haber visto el modelo de protección y de cambio de atributos, es interesanteanalizar la diferencia de los modelos de Windows 2003 y UNIX respecto a la figura del Ad-ministrador/root. En el mundo UNIX, root no tiene ninguna restricción en sus accionesen el sistema. En Windows 2003, por el contrario, al Administrador se le aplican las mis-mas reglas que al resto de usuarios: si dicho usuario no posee permisos sobre un recurso, nopodrá acceder al mismo. Si podrá, no obstante, tomar posesión del recurso (gracias al derechoque tiene concedido) y, una vez sea su propietario, añadirse permisos que le permitan cual-quier acceso. El modelo de Windows 2003 se basa, por tanto, en definir la protección comoun conjunto de reglas (permisos, derechos) y conceder a cada usuario aquellas necesarias pa-ra que desempeñe su función. El Administrador tiene concedidas más reglas que el resto deusuarios, pero aún así el sistema sigue verificándolas para cada acción que realiza en el siste-ma. Se recomienda al lector reflexionar sobre este hecho y su repercusión en el modelo deprotección.

3.7. Reglas de protecciónLas principales reglas que controlan la comprobación de permisos a carpetas y archivos sonlas siguientes:

• Una única acción de un proceso puede involucrar varias acciones individuales sobre va-rios archivos y/o carpetas. En ese caso, el sistema verifica si el proceso tiene o no permi-sos para todas ellas. Si le falta algún permiso, la acción se rechaza con un mensaje deerror genérico de falta de permisos.

• Los permisos en Windows 2003 son acumulativos: un proceso de usuario posee implícita-mente todos los permisos correspondientes a los SIDs de su acreditación (ver Sección 3.4,“Atributos de protección de los procesos”), es decir, los permisos del usuario y de todoslos grupos a los que pertenece.

• La ausencia un cierto permiso sobre un objeto supone implícitamente la imposibilidad de

3.7. Reglas de protección

34 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 47: Administración de Sistemas 06 07

realizar la acción correspondiente sobre el objeto.

• Si se produce un conflicto en la comprobación de los permisos, los permisos negativostienen prioridad sobre los positivos, y los permisos explícitos tienen prioridad sobre losheredados.

Estas reglas son más fáciles de recordar si se conoce el algoritmo que sigue Windows 2003para conceder o denegar una acción concreta sobre un archivo o directorio concreto. Paraello, el sistema explora secuencialmente las entradas de las DACLs de protección de dichoobjeto hasta que se cumple alguna de las condiciones siguientes:

1. Cada permiso involucrado en la acción solicitada está concedido explícitamente al SIDdel usuario o de algún grupo al que el usuario pertenece. En ese caso, se permite la ac-ción.

2. Alguno de los permisos involucrados está explícitamente denegado para el SID delusuario o para alguno de sus grupos. En este caso, se deniega la acción.

3. La lista (DACL) ha sido explorada completamente y no se ha encontrado una entrada(ni positiva ni negativa) correspondiente a alguno de los permisos involucrados en la ac-ción para el SID del usuario o sus grupos. En este caso, se deniega la acción.

Este algoritmo realmente produce el comportamiento descrito por las reglas anterioresdebido al orden en que Windows 2003 establece las entradas de las DACLs de cada objeto.Este orden es siempre el siguiente: permisos negativos explícitos, permisos positivos explíci-tos, permisos negativos heredados y permisos positivos heredados.

3.7. Reglas de protección

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 35

Page 48: Administración de Sistemas 06 07
Page 49: Administración de Sistemas 06 07

4Administración dedominios en Linux

Indice4.1. Introducción .................................................................................................. 394.2. Concepto de dominio ..................................................................................... 394.3. Servicios de directorio y LDAP ....................................................................... 394.4. Visión general de la implementación de un dominio Linux con OpenLDAP ....... 424.5. Instalación del servidor OpenLDAP ................................................................ 434.6. Instalación de las herramientas cliente de OpenLDAP ...................................... 444.7. Migración de la información del servidor ........................................................ 464.8. Autenticación basada en OpenLDAP ............................................................... 484.9. Permisos de acceso ......................................................................................... 494.10. Configuración de OpenLDAP con varios servidores ....................................... 514.11. Herramientas gráficas de administración ....................................................... 52

37

Page 50: Administración de Sistemas 06 07
Page 51: Administración de Sistemas 06 07

4.1. IntroducciónEn el mundo Linux no existe un concepto de dominio tan elaborado como en el mundo deWindows 2003. Sin embargo, se consigue un efecto similar al activar un servicio en una má-quina Linux (que actuaría como "servidor" de cuentas y grupos) y otro servicio que permitela exportación de directorios a máquinas remotas. En concreto, dichos servicios se denomi-nan LDAP y NFS, respectivamente. Ambos son explicados en este capítulo y en el siguiente,respectivamente.

4.2. Concepto de dominioDesde el punto de vista de la administración de sistemas, suele denominarse dominio a unconjunto de equipos interconectados que comparten información administrativa (usuarios,grupos, contraseñas, etc.) centralizada. Ello requiere fundamentalmente la disponibilidad de(al menos) un ordenador que almacene físicamente dicha información y que la comunique alresto cuando sea necesario, típicamente mediante un esquema cliente-servidor. Por ejemplo,cuando un usuario desea iniciar una conexión interactiva en cualquiera de los ordenadores(clientes) del dominio, dicho ordenador deberá validar las credenciales del usuario en el ser-vidor, y obtener de éste todos los datos necesarios para poder crear el contexto inicial de tra-bajo para el usuario.

En Windows 2003, la implementación del concepto de dominio se realiza mediante el de-nominado Directorio Activo, un servicio de directorio basado en diferentes estándares comoLDAP (Lightweight Directory Access Protocol}) y DNS (Domain Name System). En el mundoUnix, los dominios solían implementarse mediante el famoso Network Information System(NIS), del que existían múltiples variantes. Sin embargo, la integración de servicios de direc-torio en Unix ha posibilitado la incorporación de esta tecnología, mucho más potente y esca-lable que NIS, en la implementación de dominios.

Este capítulo describe cómo una implementación libre del protocolo LDAP para Unix, de-nominada OpenLDAP (www.openldap.org), puede utilizarse para implementar dominiosen Centos Linux.

4.3. Servicios de directorio y LDAPEn el contexto de las redes de ordenadores, se denomina directorio a una base de datos espe-cializada que almacena información sobre los recursos, u "objetos", presentes en la red (talescomo usuarios, ordenadores, impresoras, etc.) y que pone dicha información a disposiciónde los usuarios de la red. Por este motivo, esta base de datos suele estar optimizada paraoperaciones de búsqueda, filtrado y lectura más que para operaciones de inserción o transac-ciones complejas. Existen diferentes estándares que especifican servicios de directorio, sien-do el demominado X.500 tal vez el más conocido.

El estándar X.500 define de forma nativa un protocolo de acceso denominado DAP (Di-rectory Access Protocol) que resulta muy complejo (y computacionalmente pesado) porque es-tá definido sobre la pila completa de niveles OSI. Como alternativa a DAP para acceder a di-

4.1. Introducción

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 39

Page 52: Administración de Sistemas 06 07

rectorios de tipo X.500, LDAP (Lightweight Directory Access Protocol) ofrece un protocolo "lige-ro" casi equivalente, pero mucho más sencillo y eficiente, diseñado para operar directamentesobre TCP/IP. Actualmente, la mayoría de servidores de directorio X.500 incorporan LDAPcomo uno de sus protocolo de acceso.

LDAP permite el acceso a la información del directorio mediante un esquema cliente-servidor, donde uno o varios servidores mantienen la misma información de directorio(actualizada mediante réplicas) y los clientes realizan consultas a cualquiera de ellos. Anteuna consulta concreta de un cliente, el servidor contesta con la información solicitada y/o conun "puntero" donde conseguir dicha información o datos adicionales (normalmente, el "pun-tero" es otro servidor de directorio).

Internamente, el modelo de datos de LDAP (derivado de X.500, pero algo restringido) de-fine una estructura jerárquica de objetos o entradas en forma de árbol, donde cada objeto oentrada posee un conjunto de atributos. Cada atributo viene identificado mediante un nom-bre o acrónimo significativo, pertenece a un cierto tipo y puede tener uno o varios valores aso-ciados. Toda entrada viene identificada unívocamente en la base de datos del directorio me-diante un atributo especial denominado nombre distinguido o dn (distinguished name). El restode atributos de la entrada depende de qué objeto esté describiendo dicha entrada. Por ejem-plo, las entradas que describen personas suelen tener, entre otros, atributos como cn (com-mon name) para describir su nombre común, sn (surname) para su apellido, mail para su di-rección de correo electrónico, etc. La definición de los posibles tipos de objetos, así como desus atributos (incluyendo su nombre, tipo, valor(es) admitido(s) y restricciones), que puedenser utilizados por el directorio de un servidor de LDAP la realiza el propio servidor median-te el denominado esquema del directorio. Es decir, el esquema contiene las definiciones de losobjetos que pueden darse de alta en el directorio.

El nombre distinguido de cada entrada del directorio es una cadena de caracteres forma-da por pares <tipo_atributo>=<valor> separados por comas, que representa la ruta in-vertida que lleva desde la posición lógica de la entrada en el árbol hasta la raíz del mismo.Puesto que se supone que un directorio almacena información sobre los objetos que existenen una cierta organización, cada directorio posee como raíz (o base, en terminología LDAP)la ubicación de dicha organización, de forma que la base se convierte de forma natural en elsufijo de los nombres distinguidos de todas las entradas que mantiene el directorio. Existendos formas de nombrar, o estructurar, la raíz de un directorio LDAP:

1. Nombrado "tradicional": formado por el país y estado donde se ubica la organización,seguida por el nombre de dicha organización. Por ejemplo, la raíz o base de la Universi-dad Politécnica de Valencia podría ser algo así: "o=UPV, st=Valencia, c=ES".

2. Nombrado basado en nombres de dominio de Internet (es decir, en DNS): este nombra-do utiliza los dominios DNS para nombrar la raíz de la organización. En este caso, la ba-se de la UPV sería: "dc=upv, dc=es". Este es el nombrado que vamos a utilizar puestoque permite localizar a los servidores de LDAP utilizando búsquedas DNS.

A partir de esa base, el árbol se subdivide en los nodos y subnodos que se estime oportu-no para estructurar de forma adecuada los objetos de la organización, objetos que se ubicanfinalmente como las hojas del árbol. De esta forma, el nombre distinguido de cada entrada

4.3. Servicios de directorio y LDAP

40 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 53: Administración de Sistemas 06 07

describe su posición en el árbol de la organización (y vice-versa), de forma análoga a un sis-tema de archivos típico, en el que el nombre absoluto (unívoco) de cada archivo equivale asu posición en la jerarquía de directorios del sistema, y vice-versa. En la Figura 4.1,“Estructura de directorio del dominio admon.com.” se muestra un ejemplo de un directoriosencillo (dos usuarios y dos equipos) de la organización admon.com.

Figura 4.1. Estructura de directorio del dominio admon.com.

De acuerdo con dicha figura, la entrada correspondiente al usuario "pepe" tendría comonombre distinguido "uid=pepe, ou=People, dc=admon, dc=com". Al margen de eseidentificador único, cada entrada u objeto en el directorio puede tener, como hemos dicho,un conjunto de atributos tan descriptivo como se desee. Cada objeto necesita, al margen desu nombre distinguido, su "clase de objeto", que se especifica mediante el atributo Object-Class (un mismo objeto puede pertenecer a diferentes clases simultáneamente, por lo quepueden existir múltiples atributos de este tipo para un mismo objeto en el directorio). Esteatributo especifica implícitamente el resto de atributos de dicho objeto, de acuerdo con la de-finición establecida en el esquema. Siguiendo con el ejemplo anterior, a continuación semuestra un subconjunto de los atributos del usuario "pepe":

dn: uid=pepe, ou=People, dc=admon, dc=comobjectClass: personcn: Jose Garcíasn: Garcíadescription: alumnomail: [email protected]

El formato en el que se han mostrado los atributos del objeto se denomina LDIF (LDAPData Interchange Format), y resulta útil conocerlo porque es el formato que los servidoresLDAP (y OpenLDAP entre ellos) utilizan por defecto para insertar y extraer información deldirectorio.

Puesto que nosotros vamos a utilizar el directorio con un uso muy específico (centralizarla información administrativa de nuestro dominio para autentificar usuarios de forma glo-

4.3. Servicios de directorio y LDAP

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 41

Page 54: Administración de Sistemas 06 07

bal) deberíamos asegurarnos que en el esquema de nuestro directorio existen los tipos de ob-jetos (y atributos) adecuados para ello. Afortunadamente, OpenLDAP posee por defecto unesquema suficientemente rico para cubrir este cometido. Por ejemplo, cada usuario puededefinirse mediante un objeto de tipo posixAccount, que posee entre otros atributos paraalmacenar su UID, GID, contraseña, etc. A título de curiosidad, la entrada en el esquema quedefine el atributo para la contraseña (userPassword) se muestra a continuación:

attributetype (2.5.5.35 NAME 'userPassword'EQUALITY octetStringMatchSYNTAX 1.3.6.1.4.1.1466.115.121.1.40{128})

4.4. Visión general de la implementación de un dominioLinux con OpenLDAPLa implementación de un dominio Linux utilizando OpenLDAP es una tarea algo complejay requiere realizar varios pasos que se resumen a continuación.

• Instalar el servidor OpenLDAP.

El primer paso consiste en elegir uno de los ordenadores de la red para que actue co-mo servidor OpenLDAP, e instalar y configurar en dicho ordenador este servicio de red,tal como se describe en la sección Sección 4.5, “Instalación del servidor OpenLDAP”. Fi-nalizado este paso se dispone de un directorio operativo pero carente de información.

• Configurar clientes de OpenLDAP.

Antes de pasar a introducir información es conveniente verificar que el directorio esaccesible desde las herramientas cliente de OpenLDAP, tal como se describe en la secciónSección 4.6, “Instalación de las herramientas cliente de OpenLDAP”. Es importante desta-car que este paso sólo configura las herramientas para consultar y modificar la informa-ción del directorio. Configurar Linux para que utilice esta información para autenticarusuarios es una acción diferente que se realiza en el último paso.

• Migrar la información actual de usuarios y grupos.

Una vez se ha comprobado el correcto funcionamiento del directorio LDAP, es el mo-mento de introducir la información administrativa relativa a usuarios y grupos. Si esta in-formación ya existe y está almacenada en los ficheros locales del ordenador donde se eje-cuta el servicio OpenLDAP, es posible "copiarla" al directorio mediante las acciones quese describen en la sección Sección 4.7, “Migración de la información del servidor”.

• Configurar la autenticación basada en OpenLDAP.

Finalmente, una vez se dispone de un directorio LDAP en el que reside la informaciónnecesaria relativa a usuarios y grupos (UIDs, GIDs, contraseñas, etc.), podemos configu-rar Linux para que utilice esta información para autenticar usuarios. Estas acciones estándescritas en la sección Sección 4.8, “Autenticación basada en OpenLDAP”.

4.4. Visión general de la implementación de un dominio Linux con OpenL-DAP

42 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 55: Administración de Sistemas 06 07

Otros aspectos interesantes a considerar en la configuración de OpenLDAP son la asigna-ción de permisos y la utilización de varios servidores, descritos respectivamente en las sec-ciones Sección 4.9, “Permisos de acceso” y Sección 4.10, “Configuración de OpenLDAP convarios servidores”.

Es importante resaltar que buena parte de la configuración que se describe a continuaciónes dependiente del software de LDAP concreto que se va a utilizar (en este caso, OpenLDAP)y de la versión de UNIX utilizada (Centos Linux). La configuración de otros servidores deLDAP, en la misma u otras versiones de Linux, puede ser distinta a la que aquí se va a expo-ner.

4.5. Instalación del servidor OpenLDAPEl paquete que incorpora el servidor de OpenLDAP se denomina openldap-servers ypuede instalarse utilizando:

yum install openldap-servers

Una vez instalado, este paquete instala los ficheros de configuración por defecto bajo eldirectorio /etc/openldap, crea un directorio vacío denominado /var/lib/ldap para al-bergar la base de datos con la información del directorio y sus índices, y finalmente incorpo-ra el servicio o "demonio" de LDAP, denominado slapd. Al igual que sucede con la mayoríade servicios, sladp puede iniciarse y detenerse utilizando el mandado service:

service ldap start | stop | restart

y puede ser configurado para activarse cuando se inicia el sistema utilizando la ordenchkconfig:

bash# chkconfig --level 35 ldap on

La configuración del servicio slapd se realiza en /etc/openldap/slapd.conf funda-mentalmente. Este fichero contiene referencias a los demás ficheros necesarios para el servi-cio slapd (como por ejemplo, las definiciones del esquema), y un conjunto de seccionesdonde se describen los directorios de los que se mantiene información. Es incluso posible al-macenar los directorios en bases de datos de distintos formatos internos y definir opcionesespecíficas diferentes para cada una. En el caso más sencillo, sin embargo, tendremos un úni-co directorio almacenado en una base de datos en el formato por defecto (lbdm), cuyas op-ciones no modificaremos.

De hecho, de los numerosos parámetros que pueden configurarse en este fichero, sólo va-mos a comentar los estrictamente necesarios para configurar un servidor básico de LDAPque luego haga de servidor de un dominio Linux. Para configurar cualquier otro parámetroavanzado, se recomienda la lectura previa del documento "OpenLDAP Administrator's Guide"[http://www.openldap.org/doc/admin22/].

4.5. Instalación del servidor OpenLDAP

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 43

Page 56: Administración de Sistemas 06 07

En definitiva, los tres parámetros fundamentales que es necesario configurar son los si-guientes (el resto pueden dejarse con sus opciones por defecto):

1. Sufijo. Este es el sufijo de las entradas del directorio, es decir, lo que hemos denomina-do base o raíz del directorio. Por ejemplo, para el dominio "admon.com" deberíamosconfigurar:

suffix "dc=admon, dc=com"

2. Cuenta del administrador (del directorio). Esta es la cuenta del usuario administradordel directorio, lógicamente en formato de LDAP. Las credenciales que se sitúan en estaopción (y la siguiente) tienen validez independientemente de que este usuario existarealmente en la base de datos del directorio o no. El nombre por defecto es "manager",pero si queremos lo podemos cambiar por "root" (a la UNIX):

rootdn "cn=root, dc=admon, dc=com"

3. Contraseña del administrador. Cuando las operaciones a realizar en la base de datos nopermitan una conexión anónima (sin acreditarse), y en concreto, cuando necesiten delusuario "administrador del directorio" definido arriba, dichas operaciones deben acom-pañarse de la contraseña de esta cuenta, que se especifica en la siguiente opción:

rootpw <CONTRASEÑA>

Hay que tener en cuenta que la contraseña que pongamos aquí será visible por cual-quier usuario que pueda leer el fichero (aunque por defecto, éste es un permiso sólo deroot). Por tanto, es conveniente ponerla cifrada. Para ello, podemos crear una contraseñanueva mediante la orden:

slappasswd -h {MD5}

Esta orden nos pide una contraseña y nos la muestra cifrada. Luego simplementesustitiumos <CONTRASEÑA> por el resultado de dicha orden. Como ejemplo, la sen-tencia rootpw quedaría como sigue:

rootpw {MD5}EDtdFIXDSXRdagNOPSXPvcTBbA==

4.6. Instalación de las herramientas cliente de OpenLDAPOpenLDAP incluye varias utilidades a nivel de cliente que permiten acceder a la informa-ción que almacenan los servidores LDAP. Entre estas utilidades se encuentran, por ejemplo,mandatos tales como ldapsearch, ldapadd y ldapmodify, que consultan, crean y modi-fican dicha información. El paquete que incorpora las herramientas cliente de OpenLDAP se

4.6. Instalación de las herramientas cliente de OpenLDAP

44 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 57: Administración de Sistemas 06 07

denomina openldap-clients y puede instalarse utilizando:

yum install openldap-clients

Para que estos mandatos funcionen correctamente es necesario configurar en el fichero /etc/openldap/ldap.conf dos opciones que describen el ordenador donde se encuentrainstalado el directorio LDAP así como el sufijo común para las entradas de dicho directorio.

BASE dc=admon,dc=comHOST adlin.admon.com

Es importante hacer notar que OpenLDAP aún no soporta la localización del servidor ba-sada en registros de servicio de DNS (como es el caso del Directorio Activo de Windows2003). Por tanto, en la opción HOST es necesario especificar o bien una dirección IP o bien unnombre de ordenador que pueda resolverse correctamente sin utilizar el propio directorio(por ejemplo, que esté dado de alta en el fichero /etc/hosts del ordenador cliente, o quepueda resolverse correctamente mediante una consulta DNS).

Una vez realizada la configuración del apartado anterior, ya estamos en condiciones decomprobar que, de momento, todo funciona correctamente.

Si el servicio ha arrancado correctamente, y a pesar de que actualmente el directorio estávacío, deberíamos ser capaces de preguntar al menos por un tipo de atributo denominado"namingContexts". Para ello, utilizamos la orden ldapsearch:

bash# ldapsearch -x -b '' -s base namingContexts

Si todo funciona bien, el resultado debería ser algo así:

# filter: (objectclass=*)# requesting: namingContexts#dn:namingContexts: dc=admon,dc=com

# search resultsearch: 2result: 0 Success

Es imprescindible que en la salida por pantalla aparezca el sufijo del dominio(dc=admon,dc=com en el ejemplo).

También puede resultar útil comprobar si se ha configurado correctamente el "administra-dor" del directorio y su contraseña. Para ello puede ejecutarse la orden anterior acreditándo-se como el administrador utilizando las opciones -D dn (acreditarse como) y -W (solititarcontraseña):

bash# ldapsearch -D "cn=root,dc=admon,dc=com" -W -x -b '' -s base \namingContexts

4.7. Migración de la información del servidor

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 45

Page 58: Administración de Sistemas 06 07

4.7. Migración de la información del servidorEste paso consiste en añadir al directorio, que aún está vacío, toda la información presenteen el ordenador que está haciendo de servidor. Esto incluye todos los recursos dados de altaen sus ficheros de configuración, tales como cuentas de usuarios, grupos, ordenadores, etc.,así como diferentes "contenedores" o "unidades organizativas" (OrganizationalUnits) que dis-tribuyen los objetos de forma racional.

Para ello, OpenLDAP incorpora un conjunto de herramientas que pueden utilizarse pararealizar esta migración de forma automática. El paso previo para ello es editar el fichero /usr/share/openldap/migration/migrate_common.ph. En concreto, tenemos queeditar las dos directivas siguientes:

$DEFAULT_MAIL_DOMAIN = "admon.com";$DEFAULT_BASE = "dc=admon,dc=com";

Una vez modificadas ambas, tenemos diferentes opciones para incorporar la informacióndel sistema al directorio. Entre ellas, la más recomendable es realizar la migración por partes,añadiendo primero la "base" (es decir, las entradas correspondientes a la organización y susunidades organizativas por defecto) y posteriormente migrando los usuarios, grupos, hosts,etc., que se ubicarán dentro de dichas unidades.

Para todo ello existen scripts de Perl en el directorio mencionado arriba (donde se ubicamigrate_common.ph), que podemos utilizar de la siguiente forma (en todo el proceso, elservicio ldap debe estar ejecutándose):

• Para la migración de la base, se exporta primero sus objetos a un fichero, en formatoLDIF, y luego se insertan en el directorio mediante la orden ldapadd:

bash# ./migrate_base.pl > /root/base.ldifbash# ldapadd -x -c -D "cn=root,dc=admon,dc=com" -W -f /root/base.ldif

Nótese que con la opción -D estamos acreditándonos, para la operación, como elusuario "administrador del directorio", y con la opción -W le decimos a la orden que nospida la contraseña de dicho usuario de forma interactiva. La opción -c consigue que lda-padd siga insertando registros a pesar de que se produzcan errores en alguna inserción(cosa que suele ocurrir con el primer registro).

• Para la migración de los usuarios:

bash# ./migrate_passwd.pl /etc/passwd > /root/usus.ldif

Una vez copiados todos los usuarios en format LDIF, tenemos que editar el ficherousuarios.ldif y eliminar todos los registros que hacen referencia a usuarios especia-les de Linux, incluyendo a "root" (no se recomienda en general exportar la cuenta de"root" mediante LDAP, por cuestiones de seguridad). En definitiva, sólo deberían quedaren el fichero los registros asociados a los usuarios comunes que hemos añadido al siste-ma. Una vez editado el fichero, añadimos los registros al directorio:

4.7. Migración de la información del servidor

46 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 59: Administración de Sistemas 06 07

bash# ldapadd -x -c -D "cn=root,dc=admon,dc=com" -W -f /root/usus.ldif

• Para la migración de los grupos:

bash# ./migrate_group.pl /etc/group > /root/grupos.ldif

Como con los usuarios, eliminamos del fichero grupos.ldif los grupos especiales, ydejamos sólo los grupos privados de los usuarios comunes que hemos añadido al siste-ma. Tras la modificación, añadimos esos grupos al directorio:

bash# ldapadd -x -c -D "cn=root,dc=admon,dc=com" -W -f /root/grupos.ldif

• Y así sucesivament con hosts, servicios, etc. De todas formas, para nuestros propósitos deuso del directorio, con la migración hecha hasta aquí resultaría suficiente.

A partir de este momento, pueden utilizarse las utiliadades ldapadd para añadir entra-das, ldapmodify y ldapmodrdn para modificar entradas o nombres relativos de entrada (elnombre distinguido relativo de una entrada es el primer campo del nombre distinguido dedicha entrada), ldapdelete para eliminar entradas, ldappasswd para modificar la contraseñade una entrada y la ya mencionada ldapsearch para buscar entradas, desde cualquiera de losclientes. Se recomienda visitar las páginas de manual correspondientes para más informa-ción.

Es importante recordar que las órdenes de añadir y modificar entradas esperan recibir lainformación en formato LDIF. Por ejemplo, para añadir una entrada de grupo denominada"alumnos" con GID 1000 deberíamos crear primeramente un archivo (alumnos.ldif) conel siguiente contenido (y al menos una línea en blanco al final):

dn: cn=alumnos,ou=Group,dc=admon,dc=comobjectclass: posixGroupobjectclass: topcn: alumnosuserPassword: {crypt}xgidNumber: 1000

Y posteriormente añadirlo al directorio mediante la orden:

bash# ldapadd -x -D "cn=root,dc=admon,dc=com" -W -f alumnos.ldif

Evidentemente, esto resulta muy tedioso y es fácil equivocarse. Por este motivo, se reco-mienda la utilización de herramientas gráficas que faciliten la labor de crear, modificar y bo-rrar entradas en el directorio. En Sección 4.11, “Herramientas gráficas de administración” seamplía este aspecto.

4.8. Autenticación basada en OpenLDAP

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 47

Page 60: Administración de Sistemas 06 07

4.8. Autenticación basada en OpenLDAPUna vez configurado el servidor de LDAP para almacenar la información del directorio, ylos clientes de LDAP para poder preguntar por ella, el siguiente y último paso para organi-zar un dominio Linux con LDAP es conseguir que el directorio sea utilizado por todos los or-denadores (servidores y clientes) como fuente de información administrativa, añadida a lospropios ficheros de configuración locales presentes en cada ordenador.

En principio, la información administrativa que tiene sentido centralizar en un dominioLinux se reduce prácticamente a cuentas de usuario (incluyendo contraseñas) y cuentas degrupo (las cuentas de ordenadores del directorio, es decir, la centralización del fichero /etc/hosts del servidor LDAP, pueden obviarse si ya disponemos de resolución de nom-bres basada en DNS, por ejemplo). En conjunto, la información almacenada en ambos tiposde cuentas permite autentificar a un usuario cuando éste desea iniciar una sesión interactivaen un sistema Linux y, en el caso de que la autentificación sea positiva, crear el contexto detrabajo inicial (es decir, el proceso shell inicial) para ese usuario. Manteniendo ambos tipos decuentas en el directorio permitiría una gestión completamente centralizada de los usuariosdel dominio.

Internamente, este proceso de autentificación y creación del contexto inicial que Linux lle-va a cabo cuando un usuario desea iniciar una sesión interactiva utiliza dos bibliotecas dis-tintas:

1. PAM (Pluggable Authentication Module) es una biblioteca de autentificación genérica quecualquier aplicación puede utilizar para validar usuarios, utilizando por debajo múlti-ples esquemas de autentificación alternativos (ficheros locales, Kerberos, LDAP, etc.).Esta biblioteca es utilizada por el proceso de "login" para averiguar si las credenciales te-cleadas por el usuario (nombre y contraseña) son correctas.

2. NSS (Name Service Switch) presenta una interfaz genérica para averiguar los parámetrosde una cuenta (como su UID, GID, shell inicial, directorio de conexión, etc.), y es utiliza-da por el proceso de "login" para crear el proceso de atención inicial del usuario.

La ventaja fundamental de ambas bibliotecas consiste en que pueden reconfigurarse diná-micamente mediante ficheros, sin necesidad de recompilar las aplicaciones que las utilizan.Por tanto, lo único que necesitamos es reconfigurar ambas para que utilicen el servidorLDAP además de los ficheros locales (/etc/passwd, etc.) de cada ordenador.

En CentOS Linux, esta configuración es muy sencilla. Primero instalamos (si no lo estáya) un paquete denominado nss_ldap, que contiene los módulos de LDAP para PAM yNSS. A partir de ahí, ejecutamos la herramienta de configuración system-con-fig-authentication, que configura automáticamente los ficheros de PAM y NSS con los meca-nismos de autentificación disponibles. En nuestro caso, basta habilitar el soporte LDAP enlos paneles "Información del usuario" y "Autenticación", configurando LDAP indicando ladirección IP del servidor y el sufijo del directorio (en formato LDAP, claro). En principio, nodebemos activar la casilla de "Utilizar TLS" (que activaría conexiones seguras) ya que no he-mos activado este tipo de conexiones en el servidor.

4.8. Autenticación basada en OpenLDAP

48 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 61: Administración de Sistemas 06 07

Es importante recordar que debemos realizar esta configuración en todos los clientes pri-mero, y sólo iniciarla en el servidor cuando hayamos asegurado que todo funciona correcta-mente. En cualquier caso, no resulta imprescindible configurar el servidor como cliente, sisiempre incluimos los usuarios y grupos nuevos tanto en el directorio como en los ficheroslocales del mismo (o bien si dichos usuarios nunca van a trabajar en el servidor).

La comprobación desde cualquier cliente que el dominio funciona es muy sencilla. Sim-plemente ejecutamos:

bash# getent passwdbash# getent group

Y comprobamos que nos devuelven, respectivamente, la lista completa de usuarios y gru-pos del servidor. En realidad, esta forma comprobaría únicamente el funcionamiento correc-to de NSS sobre LDAP. Para una comprobación completa (PAM+NSS), la manera más efecti-va es intentar iniciar una sesión en un cliente con un usuario que sólo esté definido en el ser-vidor. Hay que recordar que el directorio de conexión del usuario (home)debe existir en el or-denador cliente (localmente, o bien montado por NFS).

4.9. Permisos de accesoEn OpenLDAP es posible establecer permisos de acceso, e indicar así quién puede leer, bus-car, comparar, modificar, etc., la información almacenada en el directorio. Estos permisos seexpresan en el fichero de configuración /etc/openldap/slapd.conf mediante una listade sentencias de acceso. La sintaxis que utilizan estas sentencias es relativamente compleja yestá descrita con detalle en la página de manual slapd.access. A continuación se describela sintáxis de las formas más usuales de estas sentencias.

access to <what> [by <who> <acess_control>]+

donde:

• <what> es una expresión que especifica a qué entradas del directorio se aplica la regla.Existen varias opciones, siendo las más comunes las siguientes: (1) puede indicarse todoel directorio mediante un asterisco (*), (2) una entrada del directorio (por ejemplo,dn="cn=jero,ou=people,dc=admon, dc=com" y (3) un subarbol de entradas deldirectorio (por ejemplo, dn.subtree="ou=ventas,dc=admon, dc=com"). Por defec-to, los permisos se aplican a todos los atributos de las entradas especificadas, pero es po-sible seleccionar qué atributos que se verán afectados utilizando la opción attrs (porejemplo, dn.subtree="ou=People, dc=admon, dc=com"attrs=userPassword).

• <who> indica a quién (a qué usuario(s)) se especifica la regla. Puede tomar diferentes va-lores, siendo los más comunes los siguientes: self (el propietario de la entrada),dn="..." (el usuario representado por el nombre distinguido), users (cualquier usua-rio acreditado), anomymous (cualquier usuarios no acreditado) y * (cualquier usuario).

4.9. Permisos de acceso

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 49

Page 62: Administración de Sistemas 06 07

• <access_control> indica qué operación concede la regla: none (sin acceso), auth(utilizar la entrada para validarse), compare (comparar), search (búsqueda), read(lectura), y write (modificación).

Para entender correctamente la semántica de las reglas de control de acceso, es imprescin-dible conocer el método que sigue slapd para evaluarlas, cada vez que recibe una peticiónpor parte de un cliente: primero se busca, secuencialmente, la primera regla cuya expresión<what> incluye la entrada, o entradas, afectadas por la petición. Dentro de ella, se busca se-cuencialmente la primera expresión <who> que incluye al usuario que ha realizado la peti-ción desde el cliente. Una vez encontrado, si el nivel de acceso expresado por<access_control> es mayor o igual al requerido por la petición, entonces ésta se concede,y en caso contrario se deniega. Si no existe ninguna expresión <who> que incluya al usuario,o bien no existe ninguna regla cuya expresión <what> incluya la información afectada por lapetición, se deniega la petición.

Por tanto, el orden en que aparecen las reglas en el fichero, y el orden interno de las cláu-sulas "by" dentro de cada regla, es relevante: si varias reglas afectan a los mismos objetos, lasreglas más específicas deberían ubicarse antes en el fichero; y, dentro de una regla, si inclui-mos varias cláusulas by, también debemos situar las más específicas primero.

Es importante tener en cuenta que el administrador del directorio siempre tiene asignadoel permiso de escritura y, por defecto, el resto de usuarios tienen permiso de lectura. Unejemplo de reglas de acceso que modifica levemente el comportamiento por defecto podríaser el siguiente:

access to dn.subtree="ou=People,dc=admon,dc=com" attrs=userPasswordby self writeby dn="cn=root,dc=admon,dc=com" writeby * auth

access to *by dn="cn=root,dc=admon,dc=com" writeby * read

En este ejemplo, la primera regla de acceso permite a cada usuario a cambiarse su propiacontraseña (la contraseña es el atributo userPassword en los objetos de tipo usuario, que sesitúan por defecto dentro de la unidad organizativa "People"), al administrador cambiar lade cualquier usuario y al resto de usuarios sólo pueden utilizar este campo para autentificar-se. De esta forma se consigue que un usuario no pueda leer las contraseñas cifradas de otrosusuarios. La segunda regla de acceso permite al administrador cambiar cualquier entradadel directorio y al resto de usuarios sólo leerlas, lo que corresponde realmente con el com-portamiento por defecto excepto para el atributo userPassword.

Finalmente, es importante destacar que las reglas de acceso también permiten delegar laadministración de parte (o todo) el directorio a ciertos usuarios, de forma análoga a la dele-gación de control en el Directorio Activo de Windows Server (ver Sección 6.5, “Delegaciónde la administración”). En este caso, la delegación se traduce habitualmente en conceder per-misos de escritura sobre los objetos situados en una cierta unidad organizativa, bien sea so-bre todos los atributos de dichos objetos, o bien sobre alguno(s) en concreto.

4.9. Permisos de acceso

50 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 63: Administración de Sistemas 06 07

Por ejemplo, supongamos que queremos modificar el comportamiento de las reglas deacceso anteriores para conseguir que sobre la unidad organizativa People, el usuario ja-vier tenga capacidad administrativa completa, mientras que el usuario jose pueda modifi-car únicamente las contraseñas de sus usuarios. Para ello debemos modificar las reglas ante-riores de forma que queden como se muestra a continuación:

access to dn.subtree="ou=People,dc=admon,dc=com" attrs=userPasswordby dn="cn=javier,ou=People,dc=admon,dc=com" writeby dn="cn=jose,ou=People,dc=admon,dc=com" writeby self writeby dn="cn=root,dc=admon,dc=com" writeby * auth

access to dn.subtree="ou=People,dc=admon,dc=com"by dn="cn=javier,ou=People,dc=admon,dc=com" writeby dn="cn=root,dc=admon,dc=com" writeby * read

access to *by dn="cn=root,dc=admon,dc=com" writeby * read

Esta forma de construir las reglas viene determinada por la manera particular en queOpenLDAP las evalúa, tal como se ha descrito arriba. En concreto, la primera regla del ejem-plo permite que tanto javier como jose modifiquen las contraseñas de los usuarios dePeople, mientras que la segunda permite que javier tenga permisos de modificación so-bre el resto de los atributos de los usuarios de People.

4.10. Configuración de OpenLDAP con varios servidoresSi las necesidades de nuestra red y/o de nuestro directorio hacen aconsejable mantener másde un servidor LDAP (por ejemplo, para poder equilibrar la carga de las consultas, y por as-pectos de tolerancia a fallos) podemos configurar varios servidores LDAP que mantenganimágenes sincronizadas de la información del directorio.

Para mantener el directorio replicado en diferentes servidores, OpenLDAP propone unesquema de maestro único y múltiples esclavos. Este esquema funciona de la siguiente for-ma: cada vez que se produce un cambio en el directorio del servidor maestro, el servicioslapd escribe dicho cambio, en formato LDIF, en un fichero local de registro (es decir, log fi-le o cuaderno de bitácora). El servidor maestro inicia otro servicio denominado slurpd que,cada cierto tiempo se activa, lee dichos cambios e invoca las operaciones de modificación co-rrespondientes en todos los esclavos. En cambio, si un esclavo recibe una operación de modi-ficación directa por parte de un cliente, ésta debe redirigirse automáticamente al servidormaestro.

Evidentemente, este esquema sólo funciona si todos los servidores (maestro y esclavos)parten de un estado del directorio común. Por ese motivo, es necesario copiar manualmentela base de datos del directorio (es decir, el contenido del directorio /var/lib/ldap del ser-vidor maestro) a cada esclavo, estando los servicios slapd parados en todos ellos, por su-puesto.

4.10. Configuración de OpenLDAP con varios servidores

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 51

Page 64: Administración de Sistemas 06 07

La configuración del servidor maestro y de cada esclavo sería la siguiente:

1. Servidor maestro. En el archivo de configuración /etc/openldap/slapd.conf hayque añadir las siguientes líneas por cada servidor esclavo:

replica host=esclavo.admon.com:389binddn="cn=Replicator,dc=admon,dc=com"bindmethod=simplecredentials=CONTRASEÑA_PLANA

Y además hay que decirle a slapd en qué fichero de registro tiene que escribir loscambios:

replogfile /var/lib/ldap/master-slapd.replog

2. Servidor esclavo. Por una parte, en el servidor esclavo hay que configurar el archivo /etc/openldap/slapd.conf de la misma forma que en el maestro (ver Sección 4.5,“Instalación del servidor OpenLDAP”), exceptuando las líneas expuestas en el apartadoanterior, que sólo corresponden al maestro.

Por otra parte, hay que incluir en dicho fichero las siguientes opciones:

rootdn "cn=Replicator,dc=admon,dc=com"updatedn "cn=Replicator,dc=admon,dc=com"updateref ldap://maestro.admon.com

La opción updatedn indica la cuenta con la que el servicio slurpd del servidormaestro va a realizar las modificaciones en la réplica del esclavo. Como puede compro-barse, hemos establecido que esta cuenta sea también el "rootdn" del servidor esclavo.Esa es la forma más sencilla de asegurar que este usuario tendrá permisos para modifi-car el directorio en este servidor (si no fuera así, deberíamos asegurarnos que esta cuen-ta tuviera concedido permiso de escritura en el directorio del servidor esclavo, en direc-tiva "access" correspondiente). Por su parte, updateref indica al servidor esclavo quecualquier petición directa de modificación que venga de un cliente debe ser redireccio-nada al servidor maestro del directorio.

4.11. Herramientas gráficas de administraciónEntre las diferentes herramientas gráficas con las que se puede manipular un directorio de ti-po LDAP en Linux, hemos elegido una denominada "phpLDAPadmin"[http://phpldapadmin.sourceforge.net] por su sencillez y comodidad.

Esta herramienta se ejecuta de forma indirecta a través de un servidor Web, Apache nor-malmente. Una muestra de su interfaz la tenemos en la Figura 4.2, “Vista de la herramientaphpLDAPadmin”.

4.11. Herramientas gráficas de administración

52 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 65: Administración de Sistemas 06 07

A partir de ese momento, ya estamos en condiciones de añadir, modificar y borrar usua-rios y grupos del directorio, mediante una simple interacción con la herramienta. Si esta he-rramienta se convierte en la herramienta fundamental de gestión de usuarios y grupos en eldominio Linux, necesitamos tener en mente un par de precauciones: en primer lugar, si de-seamos mantener la filosofía de grupos privados, debemos crear el grupo privado de unusuario antes que el propio usuario, ya que en este último paso sólo podemos seleccionar sugrupo primario. Y en segundo lugar, tendremos que gestionar manualmente los directoriosde conexión de los usuarios que creemos.

Figura 4.2. Vista de la herramienta phpLDAPadmin

4.11. Herramientas gráficas de administración

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 53

Page 66: Administración de Sistemas 06 07
Page 67: Administración de Sistemas 06 07

5Sistema de Archivos en

Red (NFS)

Indice5.1. Introducción .................................................................................................. 575.2. Acceso a directorios remotos mediante NFS ..................................................... 575.3. Usos típicos de NFS ....................................................................................... 575.4. Funcionamiento de NFS ................................................................................. 585.5. Instalación y configuración del cliente NFS ...................................................... 585.6. Instalación y configuración del servidor NFS ................................................... 59

55

Page 68: Administración de Sistemas 06 07
Page 69: Administración de Sistemas 06 07

5.1. IntroducciónComo es bien sabido por cualquier usuario de Linux, un sistema Linux puede trabajar única-mente con una jerarquía de directorios, de tal forma que si se desea acceder a distintos siste-mas de archivos (particiones de discos, cd-roms, disquetes, etc.), todos ellos deben montarseprimero en algún punto de dicha jerarquía única.

Siguiendo la misma filosofía, Network File System (NFS) es un servicio de red que permitea un ordenador cliente montar y acceder a un sistema de archivos (en concreto, un directorio)remoto, exportado por otro ordenador servidor. Este capítulo explica las bases de cómo ex-portar directorios por NFS desde un sistema Linux y cómo acceder a ellos desde otros siste-mas a través de la red.

5.2. Acceso a directorios remotos mediante NFSComenzaremos esta sección con un ejemplo. Supóngase que una máquina denominadafaemino desea acceder al directorio home/ftp/pub/ de la máquina cansado. Para ello,debería invocarse el siguiente mandato (en faemino):

bash# mount -t nfs cansado:/home/ftp/pub /mnt

Este mandato indica que el directorio /home/ftp/pub/, que debe ser exportado por elordenador cansado, va a montarse el directorio local /mnt/ de faemino. Es importante te-ner en cuenta que este directorio local debe existir previamente para que el montaje puedarealizarse. La opción -t nfs indica a mount el tipo de sistema de archivos que va a montar,aunque en este caso podría omitirse, ya que mount detecta por el carácter que se trata de unmontaje remoto (por NFS) gracias al carácter ':' en la especificación del "origen" ("cansa-do:/home/ftp/pub").

Una vez el montaje se ha realizado, cualquier acceso a archivos o directorios dentro de /mnt (lectura, escritura, cambio de directorio, etc.) se traduce de forma transparente a peticio-nes al ordenador servidor (cansado), que las resolverá y devolverá su respuesta al cliente,todo a través de la red. Es decir, el montaje de directorios mediante NFS permite trabajar conarchivos remotos exactamente igual que si fueran locales, aunque lógicamente con una me-nor velocidad de respuesta.

5.3. Usos típicos de NFSEn general, NFS es muy flexible, y admite las siguientes posibilidades (o escenarios):

• Un servidor NFS puede exportar más de un directorio y atender simultáneamente a va-rios clientes.

• Un cliente NFS puede montar directorios remotos exportados por diferentes servidores.

5.1. Introducción

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 57

Page 70: Administración de Sistemas 06 07

• Cualquier sistema UNIX puede ser a la vez cliente y servidor NFS.

Teniendo esto en cuenta, existen varios usos típicos de NFS donde este servicio muestrasu utilidad (entre otros):

1. Directorios de conexión (home) centralizados. Cuando en una red local de máquinasLinux se desea que los usuarios puedan trabajar indistintamente en cualquiera de ellas,es apropiado ubicar los directorios de conexión de todos ellos en una misma máquina yhacer que las demás monten esos directorios mediante NFS.

2. Compartición de directorios de uso común. Si varios usuarios (desde distintas máqui-nas) trabajan con los mismos archivos (de un proyecto común, por ejemplo) también re-sulta útil compartir (exportar+montar) los directorios donde se ubican dichos archivos.

3. Ubicar software en un solo ordenador de la red. Es posible instalar software en un di-rectorio del servidor NFS y compartir dicho directorio vía NFS. Configurando los clien-tes NFS para que monten dicho directorio remoto en un directorio local, este softwareestará disponible para todos los ordenadores de la red.

5.4. Funcionamiento de NFSEn el sistema cliente, el funcionamiento de NFS está basado en la capacidad de traducir losaccesos de las aplicaciones a un sistema de archivos en peticiones al servidor correspondien-te a través de la red. Esta funcionalidad del cliente se encuentra normalmente programadaen el núcleo de Linux, por lo que no necesita ningún tipo de configuración.

Respecto al servidor, NFS se implementa mediante dos servicios de red, denominadosmountd y nfsd. Veamos qué acciones controlan cada uno de ellos:

1. El servicio mountd se encarga de atender las peticiones remotas de montaje, realizadaspor la orden mount del cliente. Entre otras cosas, este servicio se encarga de comprobarsi la petición de montaje es válida y de controlar bajo qué condiciones se va a acceder aldirectorio exportado (sólo lectura, lectura/escritura, etc.). Una petición se considera váli-da cuando el directorio solicitado ha sido explícitamente exportado y el cliente tienepermisos suficientes para montar dicho directorio. Esto se detalla más adelante en el do-cumento.

2. Por su parte, y una vez un directorio remoto ha sido montado con éxito, el servicio nfsdse dedica a atender y resolver las peticiones de acceso del cliente a archivos situados enel directorio.

5.5. Instalación y configuración del cliente NFSComo se ha expresado anteriormente, el cliente NFS no requiere ni instalación ni configura-

5.4. Funcionamiento de NFS

58 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 71: Administración de Sistemas 06 07

ción. Los directorios remotos pueden importarse utilizando el mandato mount y el ficheroasociado /etc/fstab

En este sentido, recuérdese que en cada invocación al mandato mount (y/o en cada líneadel fichero /etc/fstab) se pueden establecer opciones de montaje. En ellas se particularizael comportamiento que tendrá el sistema de archivos una vez se haya montado en el directo-rio correspondiente. En el caso de NFS, las opciones más importantes son las que gobiernanel modo de fallo de las peticiones remotas, es decir, cómo se comporta el cliente cuando elservidor no responde:

1. soft. Con esta opción, cuando una petición no tiene respuesta del servidor el clientedevuelve un código de error al proceso que realizó la petición. El problema es que muypocas aplicaciones esperan este comportamiento y ello puede provocar situaciones enlas que se pierda información. Por tanto, no es aconsejable.

2. hard. Mediante esta opción, cuando el servidor no responde el proceso que realizó lapetición en el cliente se queda suspendido indefinidamente. Esta es la opción que se re-comienda normalmente, por ser la que esperan las aplicaciones, y por tanto más seguradesde el punto de vista de los datos.

Esta opción se puede combinar con la opción intr, que permite matar el procesomediante el envío de una señal (de la forma tradicional en Linux).

A continuación se muestra un ejemplo, en el que se presenta la línea del archivo /etc/fstab(de la máquina faemino) relacionada con el ejemplo de la Sección 5.2, “Acceso adirectorios remotos mediante NFS”:

#device mountpoint fs-type options dump fsckorder...cansado:/home/ftp/pub /mnt nfs defaults 0 0

5.6. Instalación y configuración del servidor NFSEl servidor necesita, además de los dos servicios mountd y nfsd (ambos se aúnan en el servi-cio común demominado nfs), uno más denominado portmap (del inglés portmapper), sobreel cual ambos basan su funcionamiento. Por tanto, la configuración de un servidor NFS nece-sita únicamente tener disponibles dichos servicios e iniciarlos en el nivel de ejecución 3 (o 5,o ambos) de la máquina.

Una vez activos los servicios NFS, el servidor tiene que indicar explícitamente qué direc-torios desea que se exporten, a qué máquinas y con qué opciones. Para ello existe un ficherode configuración denominado /etc/exports. A continuación se muestra uno de ejemplo,sobre el que se explican las características más relevantes:

# Directory Clients and (options)/tmp pc02??.dsic.upv.es(rw) *.disca.upv.es()/home/ftp/pub 158.42.54.1(rw,root_squash)

5.6. Instalación y configuración del servidor NFS

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 59

Page 72: Administración de Sistemas 06 07

/ mio.dsic.upv.es(rw,no_root_squash)/pub (rw,all_squash,anonuid=501,anongid=601)/pub/nopublic (noaccess)

Cada línea especifica un directorio que se va a exportar, junto con una lista de autoriza-ciones, es decir, qué ordenadores podrán montar dicho directorio y con qué opciones (desdeel punto de vista del servidor). Cada elemento de la lista de ordenadores puede especificarun solo ordenador (mediante nombre simbólico o dirección IP) o un grupo de ordenadores(mediante el uso de caracteres comodín como `*' ó `?'). Cuando el ordendor/rango no se espe-cifica (por ejemplo, en las últimas dos líneas), esto significa que el directorio correspondientese exporta a todos los ordenadores del mundo (conectados a Internet). Por su parte, de entrelas posibles opciones de montaje que, entre paréntesis, pueden especificarse para cada orde-nador/grupo, las más importantes se resumen a continuación:

() Esta opción establece las opciones que NFS asume por defecto.

ro El directorio se exporta como un sistema de archivos de sólo lectu-ra (opción por defecto).

rw El directorio se exporta como un sistema de archivos de lectura/escritura.

root_squash Los accesos desde el cliente con UID=0 (root) se convierten en elservidor en accesos con UID de un usuario anónimo (opción pordefecto)

no_root_squash Se permite el acceso desde un UID = 0 sin conversión. Es decir, losaccesos de root en el cliente se convierten en accesos de root en elservidor.

all_squash Todos los accesos desde el cliente (con cualquier UID) se transfor-man en accesos de usuario anónimo.

anonuid, anongid Cuando se activa la opción root_squash ó all_squash, los ac-cesos anónimos utilizan normalmente el UID y GID primario delusuario denominado nobody, si éste existe en el servidor (opciónpor defecto). Si se desean utilizar otras credenciales, los parámetrosanonuid y anongid establecen, respectivamente, qué uid y gidtendrá la cuenta anónima que el servidor utilizará para accedercontenido del directorio.

noaccess Impide el acceso al directorio especificado. Esta opción es útil paraimpedir que se acceda a un subdirectorio de un directorio exporta-do.

Es importante destacar que cada vez que se modifica este fichero, para que se activen loscambios, el servidor NFS debe ser actualizado ejecutando el mandato exportfs -ra.

Una lista completa de las opciones de montaje y su significado pueden encontrarse en la

5.6. Instalación y configuración del servidor NFS

60 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 73: Administración de Sistemas 06 07

página de manual exports (5) de Linux. La mayoría de estas opciones establecen comoquién se comporta el proceso cliente cuando su petición de acceso llega al servidor. En prin-cipio, cada petición lleva asociada el UID y GID del proceso cliente, es decir, se comporta co-mo sí mismo. No obstante, si está activa la opción all_squash (o bien el UID es cero yroot_squash está activado), entonces el UID/GID se convierten en los del usuario anóni-mo. De todas formas, hay que tener en cuenta que los permisos sobre cada acceso del clientese evalúan mediante los UID/GID que finalmente son válidos en el servidor (es decir, los ori-ginales o los anónimos, según el caso).

Es muy importante resaltar que no existe ningún proceso de acreditación de usuarios enNFS, por lo que el administrador debe decidir con cautela a qué ordenadores exporta un de-terminado directorio. Un directorio sin restricciones es exportado, en principio, a cualquierotro ordenador conectado con el servidor a través de la red (incluida Internet). Si en un orde-nador cliente NFS existe un usuario con un UID igual a "X", este usuario accederá al servidorNFS con los permisos del usuario con el UID igual a "X" del servidor, aunque se trate deusuarios distintos.

5.6. Instalación y configuración del servidor NFS

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 61

Page 74: Administración de Sistemas 06 07
Page 75: Administración de Sistemas 06 07

6Administración de

dominios Windows 2003

Indice6.1. Introducción .................................................................................................. 656.2. El Directorio Activo ....................................................................................... 65

6.2.1. Dominios Windows 2003 y el Directorio Activo ..................................... 656.2.2. Estándares relacionados ....................................................................... 666.2.3. El Directorio Activo y DNS .................................................................. 666.2.4. Estructura lógica ................................................................................. 676.2.5. Estructura física .................................................................................. 74

6.3. Objetos que administra un dominio ................................................................ 776.3.1. Usuarios globales ................................................................................ 786.3.2. Grupos ............................................................................................... 796.3.3. Equipos .............................................................................................. 806.3.4. Unidades Organizativas ....................................................................... 81

6.4. Compartición de recursos ............................................................................... 816.4.1. Permisos y derechos ............................................................................ 816.4.2. Compartición dentro de un dominio ..................................................... 826.4.3. Mandatos Windows 2003 para compartir recursos ................................. 83

6.5. Delegación de la administración ..................................................................... 84

63

Page 76: Administración de Sistemas 06 07
Page 77: Administración de Sistemas 06 07

6.1. IntroducciónEste capítulo introduce los conceptos fundamentales sobre dominios Windows 2003, sufi-cientes para poder unificar y centralizar la administración de conjuntos de sistemas Win-dows 2003 en organizaciones de cualquier tamaño.

En concreto, se explicarán los conceptos fundamentales que soportan el Directorio Activo(Active Directory), así como la administración del mismo, incluyendo los principales objetosque pueden definirseen el mismo, la compartición de recursos entre sistemas de la organiza-ción y la delegación de tareas administrativas dentro de un dominio.

6.2. El Directorio Activo

6.2.1. Dominios Windows 2003 y el Directorio Activo

Hoy en día, los ordenadores existentes en cualquier organización se encuentran formandoparte de redes de ordenadores, de forma que pueden intercambiar información. Desde elpunto de vista de la administración de sistemas, la mejor forma de aprovechar esta caracte-rística es la creación de un dominio de sistemas, en donde la información administrativa y deseguridad se encuentra centralizada en uno o varios servidores, facilitando así la labor del ad-ministrador. Windows 2003 utiliza el concepto de directorio para implementar dominios desistemas Windows 2003.

En el ámbito de las redes de ordenadores, el concepto de directorio (o almacén de datos) esuna estructura jerárquica que almacena información sobre objetos en la red, normalmenteimplementada como una base de datos optimizada para operaciones de lectura y que sopor-ta búsquedas de grandes datos de información y con capacidades de exploración.

Active Directory es el servicio de directorio de una red de Windows 2003. Este serviciode directorio es un servicio de red que almacena información acerca de los recursos de la redy permite el acceso de los usuarios y las aplicaciones a dichos recursos, de forma que se con-vierte en un medio de organizar, controlar y administrar centralizadamente el acceso a los re-cursos de la red.

Como veremos, al instalar el Directorio Activo en uno o varios sistemas Windows 2003(Server) de nuestra red, convertimos a dichos ordenadores en los servidores del dominio, omás correctamente, en los denominados Controladores de Dominio (Domain Controllers) o sim-plemente "DCs". El resto de los equipos de la red pueden convertirse entonces en los clientesde dicho servicio de directorio, con lo que reciben toda la información almacenada en loscontroladores. Esta información incluye no sólo las cuentas de usuario, grupo, equipo, etc.,sino también los perfiles de usuario y equipo, directivas de seguridad, servicios de red, etc.El Directorio Activo se convierte así en la herramienta fundamental de administración de to-da la organización.

Una de las ventajas fundamentales del Directorio Activo es que separa la estructura lógicade la organización (dominios) de la estructura física (topología de red). Ello permite, por una

6.1. Introducción

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 65

Page 78: Administración de Sistemas 06 07

parte, independizar la estructuración de dominios de la organización de la topología de la(s)red(es) que interconectan los sistemas; y, por otra parte, permite administrar la estructura fí-sica explícitamente cuando es necesario, de forma independiente de la administración de losdominios. Más adelante en este capítulo se exponen ambas estructuras detalladamente.

6.2.2. Estándares relacionados

A diferencia de su antecesor NT 4.0, Windows 2003 proporciona compatibilidad con un buennúmero de protocolos y estándares existentes, ofreciendo interfaces de programación deaplicaciones que facilitan la comunicación con otros servicios de directorio. Entre ellos, pode-mos destacar los siguientes:

• DHCP (Dynamic Host Configuration Protocol). Protocolo de configuración dinámica de or-denadores, que permite la administración desatendida de direcciones de red.

• DNS (Domain Name System). Servicio de nombres de dominio que permite la administra-ción de los nombres de ordenadores. Este servicio constituye el mecanismo de asignacióny resolución de nombres (traducción de nombres simbólicos a direcciones IP) en Internet.

• SNTP (Simple Network Time Protocol). Protocolo simple de tiempo de red, que permite dis-poner de un servicio de tiempo distribuido.

• LDAP (Lightweight Directory Access Protocol). Protocolo ligero (o compacto) de acceso a di-rectorio. Este es el protocolo mediante el cual las aplicaciones acceden y modifican la in-formación existente en el directorio.

• Kerberos V5. Protocolo utilizado para la autenticación de usuarios y máquinas..

• Certificados X.509. Estándar que permite distribuir información a través de la red de unaforma segura.

De entre todos ellos, es imprescindible que el administrador conozca en detalle la relaciónentre el Directorio Activo y DNS. A continuación se exponen los aspectos fundamentales deesta relación.

6.2.3. El Directorio Activo y DNS

El Directorio Activo y DNS son espacios de nombres. Podemos entender un espacio de nom-bres como un área delimitada en la cual un nombre puede ser resuelto. La resolución denombres es el proceso de traducción de un nombre en un objeto o información que lo repre-senta. Por ejemplo, el sistema de ficheros NTFS puede ser considerado un espacio de nom-bres en cual un fichero puede ser resuelto en el fichero propiamente dicho.

DNS es el sistema de nombres de facto para redes basadas en el protocolo TCP/IP y el ser-vicio de nombres que se usa para localizar equipos en Internet. Windows 2003 utiliza DNSpara localizar equipos y controladores de dominio. Una estación de trabajo o servidor miem-bro busca un controlador de dominio preguntando a DNS.

6.2.2. Estándares relacionados

66 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 79: Administración de Sistemas 06 07

Cada dominio de Windows 2003 se identifica unívocamente mediante un nombre DNS(por ejemplo, miempresa.com) y cada equipo basado en Windows 2003 que forma parte deun dominio tiene un nombre DNS cuyo sufijo es precisamente el nombre DNS de dicho do-minio (siguiendo con el ejemplo, pc0100.miempresa.com). De esta forma vemos que do-minios y equipos se representan como objetos en Active Directory y como nodos en DNS.Por tanto resulta fácil confundir ambos espacios de nombres ya que comparten idénticosnombres de dominio. La diferencia es que aunque comparten la misma estructura, almace-nan información diferente: DNS almacena zonas y registros de recursos y el Directorio Acti-vo guarda dominios y objetos de dominio.

Como conclusión diremos que Directorio Activo utiliza DNS, para tres funciones princi-pales:

1. Resolución de nombres: DNS permite realizar la resolución de nombres al convertir losnombres de host a direcciones IP.

2. Definición del espacio de nombres: Directorio Activo utiliza las convenciones de no-menclatura de DNS para asignar nombre a los dominios.

3. Búsqueda de los componentes físicos de AD: para iniciar una sesión de red y realizarconsultas en Directorio Activo, un equipo con Windows 2003 debe encontrar primeroun controlador de dominio o servidor de catálogo global para procesar la autenticaciónde inicio de sesión o la consulta. La base de datos DNS almacena información acerca dequé equipos realizan estas funciones para que se pueda atender la solicitud adecuada-mente. En concreto, esto se lleva a cabo mediante registros de recursos SRV que especifi-can el servidor (o servidores) del dominio que proporcionan los servicios de directoriocorrespondientes.

6.2.4. Estructura lógica

La estructura lógica del Directorio Activo se centra en la administración de los recursos de lared organizativa, independientemente de la ubicación física de dichos recursos, y de la topo-logía de las redes subyacentes. Como veremos, la estructura lógica de la organización se basaen el concepto de dominio, o unidad mínima de directorio, que internamente contiene infor-mación sobre los recursos (usuarios, grupos, directivas, etc.) disponibles para los ordenado-res que forman parte de dicho dominio. Dentro de un dominio es posible subdividir lógica-mente el directorio mediante el uso de unidades organizativas, que permiten una administra-ción independiente sin la necesidad de crear múltiples dominios. Sin embargo, si la organi-zación desea estructurarse en varios dominios, también puede hacerlo, mediante los concep-tos de árbol y bosque; ambos son jerarquías de dominios a distintos niveles, en función de silos dominios comparten o no un espacio de nombres común. A continuación se presentan to-dos estos conceptos de forma más detallada.

6.2.4.1. Dominios

La unidad central de la estructura lógica del Directorio Activo es el dominio. Un dominio es

6.2.4. Estructura lógica

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 67

Page 80: Administración de Sistemas 06 07

un conjunto de equipos que comparten una base de datos de directorio común. Dentro deuna organización, el Directorio Activo se compone de uno o más dominios, cada uno de ellossoportado, al menos, por un controlador de dominio. Como hemos visto, cada dominio seidentifica unívocamente por un nombre de dominio DNS, que debe ser el sufijo DNS princi-pal de todos los ordenadores miembros del dominio, incluyendo el o los controladores.

El uso de dominios permite conseguir los siguientes objetivos:

• Delimitar la seguridad. Un dominio Windows 2003 define un límite de seguridad. Lasdirectivas de seguridad, los derechos administrativos y las listas de control de acceso (Ac-cess Control Lists, ACLs) no se comparten entre los dominios. Active Directory puede in-cluir uno o más dominios, teniendo cada uno sus propias directivas de seguridad.

• Replicar información. Un dominio es una partición del directorio, las cuales son unida-des de replicación. Cada dominio almacena solo la información sobre los objetos localiza-dos en este dominio. Active Directory utiliza un modelo de replicación con varios maes-tros. Todos los controladores de dominio del dominio pueden recibir cambios realizadossobre los objetos, y pueden replicar estos cambios a todos los controladores de dominioen el dominio.

• Aplicar Políticas (o Directivas) de Grupo. Un dominio define un posible ámbito para laspolíticas. Al aplicar un objeto de política de grupo (GPO) al dominio, este establece comolos recursos del dominio se configuran y se usan. Estas políticas se aplican dentro del do-minio y no a través de los dominios.

• Delegar permisos administrativos. En las redes que ejecutan Windows 2003, se puededelegar a medida la autoridad administrativa tanto para unidades organizativas (OUs)individuales como a dominios individuales, lo cual reduce el número de administradoresnecesarios con amplios permisos administrativos. Ya que un dominio representa un lími-te de seguridad, los permisos administrativos se limitan al dominio.

6.2.4.2. Múltiples dominios en la misma organización

Existen muchos casos en los que es interesante disponer de varios dominios de ordenadoresWindows 2003 en la misma organización (distribución geográfica o departamental, distintasempresas, etc.). El Directorio Activo permite almacenar y organizar la información de direc-torio de varios dominios de forma que, aunque la administración de cada uno sea indepen-diente, dicha información esté disponible para todos los dominios.

Según los estándares de nombres DNS, los dominios de Active Directory se crean dentrode una estructura de árbol invertida, con la raíz en la parte superior. Además, esta jerarquíade dominios de Windows 2003 se basa en relaciones de confianza, es decir, los dominios sevinculan por relaciones de confianza entre dominios.

Cuando se instala el primer controlador de dominio en la organización se crea lo que sedenomina el dominio raíz del bosque, el cual contiene la configuración y el esquema del bos-que (compartido por todos los dominios de la organización). Más adelante, podemos agregar

6.2.4. Estructura lógica

68 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 81: Administración de Sistemas 06 07

dominios como subdominios de dicha raíz (árbol de dominios) o bien crear otros dominios"hermanos" de la raíz (bosque de dominios), debajo del cual podemos crear subdominios, yasí sucesivamente.

Arbol Un árbol es un conjunto de uno o más dominios que comparten un espacio denombres contiguo. Si existe más de un dominio, estos se disponen en estructu-ras de árbol jerárquicas.

El primer dominio creado es el dominio raíz del primer árbol. Cuando seagrega un dominio a un árbol existente este pasa a ser un dominio secundario(o hijo). Un dominio inmediatamente por arriba de otro dominio en el mismoárbol de dominio es su padre. Todos los dominios que tengan un dominio raízcomún se dice que forman un espacio de nombres contiguo.

Los dominios secundarios (hijos) pueden representar entidades geográficas(valencia, madrid, barcelona), entidades administrativas dentro de la organiza-ción (departamento de ventas, departamento de desarrollo ...), u otras delimita-ciones específicas de una organización, según sus necesidades.

Los dominios que forman un árbol se enlazan mediante relaciones de con-fianza bidireccionales y transitivas. La relación padre-hijo entre dominios en unárbol de dominio es simplemente una relación de confianza. Los administrado-res de un dominio padre no son automáticamente administradores del dominiohijo y el conjunto de políticas de un dominio padre no se aplican automática-mente a los dominios hijo.

Por ejemplo, en la Universidad Politécnica de Valencia cuyo dominio actualde Active Directory es upv.es se crean dos nuevos departamentos: DSIC yDISCA. Con el fin de permitir la administración de los dominios por parte delos técnicos de los respectivos departamentos, se decide agregar dos nuevos do-minios a su árbol de dominios existente en lugar de crear dos unidades organi-zativas en el dominio existente. Los dominios resultantes, dsic.upv.es ydisca.upv.es forman un espacio de nombres contiguo, cuya raíz es upv.es.El administrador del dominio padre (upv.es) puede conceder permisos pararecursos a cuentas de cualquiera de los tres dominios del árbol, pero por defectono los puede administrar.

Bosque Un bosque es un grupo de árboles que no comparten un espacio de nombrescontiguo, conectados a través de relaciones de confianza bidireccionales y tran-sitivas. Un dominio único constituye un árbol de un dominio, y un árbol únicoconstituye un bosque de un árbol. Los árboles de un bosque aunque no formanun espacio de nombres común, es decir, están basados en diferentes nombres dedominio raíz de DNS, comparten una configuración, un esquema de directoriocomún y el denominado catálogo global.

Es importante destacar que, aunque los diferentes árboles de un bosque nocomparten un espacio de nombres contiguo, el bosque tiene siempre un únicodominio raíz, llamado precisamente dominio raíz del bosque; dicho dominio raízserá siempre el primer dominio creado por la organización.

6.2.4. Estructura lógica

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 69

Page 82: Administración de Sistemas 06 07

Añadir nuevos dominios a un bosque es fácil. Sin embargo, existen ciertas li-mitaciones que hemos de tener en cuenta al respecto:

• No se pueden mover dominios de Active Directory entre bosques.• Solamente se podrán eliminar dominios de un bosque si este no tiene domi-

nios hijo.• Después de haber establecido el dominio raíz de un árbol, no se pueden aña-

dir dominios con un nombre de nivel superior al bosque.• No se puede crear un dominio padre de un dominio existente.

En general, la implementación de bosques y árboles de dominio permitemantener convenciones de nombres tanto contiguos como discontiguos, lo cualpuede ser útil en organizaciones con divisiones independendientes que quierenmantener sus propios nombres DNS.

Finalmente, debemos relacionar estos conceptos con el procedimiento para crear un do-minio. Esto se hace mediante la ejecución de un asistente denominado dcpromo en el siste-ma Windows 2003 Server que queramos promocionar a controlador de dominio. En concreto,este asistente nos permite elegir entre las siguientes opciones de instalación:

1. DC adicional de un dominio existente o DC para un dominio nuevo (creación de un do-minio).

2. En el segundo caso, el dominio (nuevo) puede ser un dominio secundario de otro domi-nio existente (es decir, un subdominio en un árbol de dominios ya creado), o bien el do-minio principal (raíz) de un nuevo árbol de dominios.

3. En este segundo caso, el dominio raíz puede ser de un bosque existente (agregamos unaraíz nueva a un bosque) o de un nuevo bosque (creación del bosque). Por tanto, el pri-mer dominio que creemos en una organización siempre será un dominio nuevo de unárbol nuevo de un bosque nuevo.

6.2.4.3. Niveles funcionales

La funcionalidad de los dominios de Windows 2003 es diferente de la que tenían sistemasanteriores de la misma familia (Windows NT4 y Windows 2000). Tanto Windows 2000 comoWindows 2003 pueden configurarse en diferentes niveles funcionales ("modos de dominio" enWindows 2000) para que puedan ser compatibles con sistemas anteriores.

En concreto, Windows Server 2003 soporta cuatro niveles funcionales de dominio y tres ni-veles funcionales de bosque, explicados a continuación.

Un dominio Windows 2003 puede estar en cuatro niveles funcionales:

1. Windows 2000 mixto. Este es el nivel funcional por defecto cuando se crea un nuevo do-

6.2.4. Estructura lógica

70 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 83: Administración de Sistemas 06 07

minio (o cuando se actualiza de un sistema anterior). En este nivel, los DCs de Windows2003 son compatibles dentro del mismo dominio con DCs Windows NT4 y Windows2000. Por este motivo, un conjunto significativo de opciones de configuración no estándisponibles (como por ejemplo el anidamiento de grupos, el cambio de ámbito de grupoy los grupos universales).

2. Windows 2000 nativo. En este nivel funcional, los DCs de Windows 2003 son compati-bles dentro del mismo dominio con DCs que ejecuten Windows 2000 pero no WindowsNT4. Se tiene una funcionalidad completa del Directorio Activo a nivel de Windows2000, aunque se excluyen las nuevas opciones que Windows 2003 ha introducido en losdominios (entre las cuales destaca la posibilidad de cambiar de nombre a un DC sin ne-cesidad de despromocionarlo previamente).

3. Windows Server 2003 provisional. En este nivel funcional, los DCs de Windows 2003son compatibles dentro del mismo dominio con DCs que ejecuten Windows NT4 perono Windows 2000. Se trata de un nivel funcional reservado únicamente para migracio-nes directas de NT4 a Windows 2003, y se supone que es completamente transitorio.

4. Windows Server 2003. En este nivel funcional, los DCs de Windows 2003 son compati-bles únicamente entre sí (sólo puede configurarse si todos los DCs del dominio son Win-dows Server 2003). Este nivel ofrece la funcionalidad completa de dominios, incluyendotodas las características definidas en Windows 2000 más las nuevas incluidas en Win-dows Server 2003.

Por otro lado, un bosque de dominios Windows 2003 puede estar en tres niveles funciona-les:

• Windows 2000. Este es el nivel por defecto al crear un nuevo bosque (o actualizar desdeun sistema anterior). En este nivel funcional, los DCs de Windows 2003 son compatiblesdentro del bosque con DCs que ejecuten Windows 2000 o Windows NT4. Se tiene unafuncionalidad completa del bosque a nivel de Windows 2000, aunque se excluyen lasnuevas opciones que Windows 2003 ha introducido a este nivel (incluyendo mejoras en lareplicación, las relaciones de confianza entre bosques y la posibilidad de renombrar do-minios en lugar de eliminarlos y volverlos a crear).

• Windows Server 2003 provisional. En este nivel funcional, los DCs de Windows 2003son compatibles dentro del bosque con DCs que ejecuten Windows NT4 pero no Win-dows 2000. Se trata de un nivel funcional reservado únicamente para la migración directade NT4 a Windows 2003 en el primer dominio del bosque, y se supone que es completa-mente transitorio.

• Windows Server 2003. En este nivel funcional, los DCs de Windows 2003 son compati-bles únicamente entre sí (sólo puede configurarse si todos los DCs del bosque son Win-dows Server 2003). Este nivel ofrece la funcionalidad completa para los bosques, inclu-yendo todas las características definidas en Windows 2000 más las nuevas incluidas enWindows Server 2003.

6.2.4. Estructura lógica

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 71

Page 84: Administración de Sistemas 06 07

Por tanto, por defecto al crear un nuevo bosque, éste se sitúa en el nivel funcional "Win-dows 2000", y al crear un nuevo dominio, éste se sitúa en el nivel funcional "Windows 2000mixto", manteniendo, en ambos casos, la compatibilidad completa con sistemas anteriores.

Tanto a nivel de dominio como de bosque, la transición entre niveles funcionales sólo esposible elevando el nivel actual, es decir, pasando a un nivel con mayor funcionalidad (a ex-cepción de los niveles provisionales, reservados para casos poco frecuentes). La elevación denivel funcional es, por tanto, un paso irreversible, y sólo debe hacerse cuando se está segurode que no van a añadirse sistemas anteriores como DCs al dominio, o al bosque. La elevacióndel nivel funcional de dominio o de bosque se realiza desde la herramienta "Dominios yConfianzas de Active Directory".

6.2.4.4. Relaciones de confianza

Una relación de confianza es una relación establecida entre dos dominios de forma que per-mite a los usuarios de un dominio ser reconocidos por los DCs de otro dominio. Estas rela-ciones permiten a los usuarios acceder a los recursos de otro dominio y a los administrado-res definir los permisos y derechos de usuario para los usuarios del otro dominio.

Windows Server 2003 soporta varios tipos de relaciones de confianza, que veremos poste-riormente. Al margen de su uso, los diferentes tipos de relaciones se diferencian en funciónde tres rasgos característicos:

• Método de creación: algunos tipos de relaciones de confianza se crean de forma automá-tica (implícita) y otros de forma manual (explícita).

• Dirección: algunos tipos de relaciones son unidireccionales y otros bidireccionales. Si larelación es unidireccional, los usuarios del dominio A (de confianza) pueden utilizar losrecursos del dominio B (que confía), pero no al revés. En una relación bidireccional, am-bas acciones son posibles.

• Transitividad: algunos tipos de relaciones son transitivas y otras no. Una relación de con-fianza transitiva es aquella que permite que si un dominio A confía en otro B, y éste con-fía en un tercero C, entonces de forma automática, A confía en C. En las relaciones notransitivas, la confianza entre A y C tendría que añadirse explícitamente.

Después de ver las características de las relaciones de confianza, se explican a continua-ción los tipos de relaciones de confianza válidos en dominios y bosques Windows Server2003:

• Confianza raíz de árbol. Esta relación se establece de forma automática entre los domi-nios raíz del mismo bosque. Es bidireccional y transitiva.

• Confianza principal-secundario. Esta relación se establece de forma automática entre undominio dado y cada uno de sus subdominios (o dominios secundarios). Es bidireccionaly transitiva.

6.2.4. Estructura lógica

72 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 85: Administración de Sistemas 06 07

• Confianza de acceso directo. Este tipo de relación debe establecerse de forma manual, ytiene como objetivo mejorar la eficiencia en los inicios de sesión remotos. Si los usuariosde un dominio A necesitan acceder frecuentemente a los recursos de un dominio B, y am-bos dominios se encuentran "lejos" entre sí (con muchos dominios intermedios), la con-fianza permite una relación directa que acorta el tiempo necesario para la autentificaciónde los usuarios. Es transitiva y unidireccional (si se necesita en ambos sentidos, debencrearse dos relaciones de confianza).

• Confianza externa . Este tipo de relación se crea manualmente y permite a usuarios deun dominio Windows 2003 acceder a recursos ubicados en dominios de otro bosque, obien dominios Windows NT4. Es unidireccional e intransitiva.

• Confianza de bosque . Este tipo de relación debe crearse de forma manual entre los do-minios raíz de dos bosques distintos, y permite a los usuarios de cualquier dominio de unbosque acceder a los recursos de cualquier dominio del otro bosque. Es unidireccional ysólo es transitiva entre dos bosques. Este tipo de relaciones sólo están disponibles si am-bos bosques se sitúan en el nivel funcional "Windows Server 2003".

• Confianza de territorio . Este tipo de relación debe crearse de forma manual entre un do-minio Windows 2003 y un territorio (realm) Kerberos (versión 5) que no sea Windows, ypermite interoperabilidad entre ambos. Es unidireccional y puede ser transitiva o no.

Por tanto, las relaciones de confianza automáticas (implícitas) se crean por defecto al irañadiendo dominios al bosque, y mantienen relacionados todos esos dominios de forma bi-direccional y transitiva. El efecto de estas relaciones es que de forma automática, los usuariosde cualquier dominio del bosque son conocidos (y pueden acceder a los recursos) en todoslos dominios de dicho bosque. Las relaciones de confianza manuales (explícitas) están reser-vadas para casos en donde se busca mejorar la eficiencia o permitir interactuar con otros bos-ques o con dominios que no son Windows 2003.

6.2.4.5. Unidades Organizativas

Una Unidad Organizativa (Organizational Unit, OU) es un objeto del Directorio Activo quepuede contener a otros objetos del directorio. Es decir, es un contenedor de otros objetos, deforma análoga a una carpeta o directorio en un sistema de archivos tradicional. En concreto,dentro de una unidad de este tipo pueden crearse cuentas de usuario, de grupo, de equipo,de recurso compartido, de impresora compartida, etc., además de otras unidades organizati-vas. Es decir, mediante unidades organizativas podemos crear una jerarquía de objetos en eldirectorio (lo cual se asemeja otra vez a un sistema de archivos típico de Windows). Los obje-tos ubicados dentro de una unidad organizativa pueden moverse más tarde a otra, si fueranecesario. Sin embargo, un objeto no puede copiarse: cada objeto es único en el directorio, ysu existencia es independiente de la unidad organizativa a la que pertenece.

Por tanto, el objetivo de las unidades organizativas es estructurar u organizar el conjuntode los objetos del directorio, agrupándolos de foma coherente. En el Directorio Activo, lasunidades organizativas permiten:

6.2.4. Estructura lógica

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 73

Page 86: Administración de Sistemas 06 07

1. Delegar la administración. Cada unidad organizativa puede administrarse de forma in-dependiente. En concreto, se puede otorgar la administración total o parcial de una uni-dad organizativa a un usuario o grupo de usuarios cualquiera. Esto permite delegar laadministración de subconjuntos estancos del dominio a ciertos usuarios que posean elnivel de responsabilidad adecuada.

2. Establecer de forma centralizada comportamientos distintos a usuarios y equipos. Acada unidad organizativa pueden vincularse políticas de grupo, que aplican comporta-mientos (generalmente en forma de restricciones) a los usuarios y equipos cuyas cuentasse ubican en dicha unidad. De esta forma, podemos aplicar restricciones distintas a sub-conjuntos de usuarios y equipos del dominio, en función exclusivamente de la unidadorganizativa donde se ubican. Por ejemplo, podemos limitar a los usuarios del departa-mento de contabilidad para que sólo puedan utilizar ciertas aplicaciones, pero que estono se aplique a los usuarios del departamento de informática.

En muchos sentidos, el concepto de unidad organizativa se puede utilizar en Windows2003 de la misma forma que se entendía el concepto de dominio en versiones anteriores deWindows NT, es decir, conjunto de usuarios, equipos y recursos administrados indepen-dientemente. En realidad, en Windows 2003 el concepto de dominio viene más bien asociadoa la distribución de los sitios (topología de red) y a la implementación de DNS que exista (oquiera crearse) en la empresa.

De este modo, en muchas organizaciones de pequeño o medio tamaño resulta más ade-cuado implementar un modelo de dominio único con múltiples unidades organizativas queun modelo de múltiples dominios. Si es necesario, cada unidad puede administrarse inde-pendientemente, con uno o varios administradores delegados y comportamientos (políticas)diferentes.

6.2.5. Estructura física

En Active Directory, la estructura lógica está separada de la estructura física. La estructuralógica se utiliza para organizar los recursos de red mientras que la estructura física se utilizapara configurar y administrar el tráfico de red. En concreto, la estructura física de Active Di-rectory se compone de sitios y controladores de dominio.

La estructura física de Active Directory define dónde y cuándo se producen el tráfico dereplicación y de inicio de sesión. Una buena comprensión de los componentes físicos de Ac-tive Directory permite optimizar el tráfico de red y el proceso de inicio de sesión, así comosolventar problemas de replicación.

6.2.5.1. Sitios

Un sitio es una combinación de una o varias subredes IP que están conectadas por un víncu-lo de alta velocidad. Definir sitios permite configurar la topología de replicación y acceso aActive Directory de forma que Windows 2003 utilice los vínculos y programas más efectivospara el tráfico de inicio de sesión y replicación.

6.2.5. Estructura física

74 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 87: Administración de Sistemas 06 07

Normalmente los sitios se crean por dos razones principalmente:

• Para optimizar el tráfico de replicación.

• Para permitir que los usuarios se conecten a un controlador de dominio mediante una co-nexión confiable de alta velocidad.

Es decir, los sitios definen la estructura física de la red, mientras que los dominios definenla estructura lógica de la organización.

6.2.5.2. Controladores de dominio

Un controlador de dominio (Domain Controller, DC) es un equipo donde se ejecuta Windows2003 Server y que almacena una replica del directorio. Los controladores de dominio ejecu-tan el servicio KDC, que es responsable de autenticar inicios de sesión de usuario.

La información almacenada en cada controlador de dominio se divide en tres categorías(particiones): dominio, esquema y datos de configuración. Estas particiones del directorioson las unidades de replicación:

1. Partición del directorio de esquema: contiene todos los tipos de objetos y atributos quepueden ser creados en Active Directory. Estos datos son comunes a todos los dominiosen el bosque. Por tanto los datos del esquema se replican a todos los controladores dedominio del bosque.

2. Partición de directorio de configuración: contiene la estructura de los dominios y la to-pología de replicación. Estos datos son comunes a todos los dominios en el bosque, y sereplican a todos los controladores de dominio en el bosque.

3. Partición de directorio de dominio: contiene todos los objetos del directorio para estedominio. Dichos datos se replican a todos los controladores de ese dominio, pero no aotros dominios.

4. Partición de directorio de aplicaciones: contiene datos específicos de aplicación. Estosdatos pueden ser de cualquier tipo excepto principales de seguridad (usuarios, grupos yequipos). En este caso, se tiene un control fino sobre el ámbito de la replicación y la ubi-cación de las réplicas. Este tipo de partición es nuevo de Windows Server 2003.

Además de estas cuatro particiones de directorio de escritura, existe una cuarta categoríade información almacenada en un controlador de dominio: el catálogo global. Un catálogoglobal es un controlador de dominio que almacena las particiones de directorio de escritura,así como copias parciales de sólo lectura de todas las demás particiones de directorio de do-minio del bosque.

6.2.5. Estructura física

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 75

Page 88: Administración de Sistemas 06 07

6.2.5.3. Funciones de los controladores de dominio

Las versiones anteriores de Windows NT Server usaban múltiples controladores de dominioy sólo se permitía que uno de ellos actualizase la base de datos del directorio. Este esquemade maestro único exigía que todos los cambios se replicasen desde el controlador de dominioprincipal (Primary Domain Controller, PDC) a los controladores de dominio secundarios o dereserva (Backup Domain Controllers, BDCs).

En Windows 2003, todos los controladores de dominio admiten cambios, y estos cambiosse replican a todos los controladores de dominio. Las operaciones de administración deusuarios, grupos y equipos son operaciones típicas de múltiples maestros. Sin embargo no espráctico que algunos cambios se realicen en múltiples maestros debido al tráfico de replica-ción y a los posibles conflictos en las operaciones básicas. Por estas razones, las funciones es-peciales, como la de servidor de catálogo global y operaciones de maestro único, se asignansólo a determinados controladores de dominio. A continuación veremos estas funciones.

6.2.5.4. Servidor de catálogo global

El catálogo global es un depósito de información que contiene un subconjunto de atributos pa-ra todos los objetos de Active Directory (partición de directorio de dominio). Los atributosque se almacenan en el catálogo global son los que se utilizan con más frecuencia en las con-sultas. El catálogo global contiene la información necesaria para determinar la ubicación decualquier objeto del directorio.

Un servidor de catálogo global es un controlador de dominio que almacena una copia delcatálogo y procesa las consultas al mismo. El primer controlador de dominio que se crea enActive Directory es un servidor de catálogo global. Se pueden configurar controladores dedominio adicionales para que sean servidores de catálogo global con el fin de equilibrar eltráfico de autenticación de inicios de sesión y la transferencia de consultas.

El catálogo global cumple dos funciones importantes en el directorio:

• Permite que un usuario inicie una sesión en la red mediante el suministro de la informa-ción de pertenencia a grupos universales a un controlador de dominio cuando inicia unproceso de sesión.

• Permite que un usuario busque información de directorio en todo el bosque, indepen-diente de la ubicación de los datos.

6.2.5.5. Operaciones de maestro único

Un maestro de operaciones es un controlador de dominio al que se le ha asignado una o va-rias funciones de maestro único en un dominio o bosque de Active Directory. Los controla-dores de dominio a los que se les asignan estas funciones realizan operaciones que no pue-den ocurrir simultáneamente en otros controladores de dominio de la red. La propiedad deestas operaciones de maestro único puede ser transferida a otros controladores de dominio.

6.2.5. Estructura física

76 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 89: Administración de Sistemas 06 07

Todos los bosques de Active Directory deben tener controladores de dominio que cum-plan dos de las cinco funciones de operaciones de maestro único. Las funciones para todo elbosque son:

• Maestro de esquema. El controlador de dominio maestro de esquema controla todas lasactualizaciones y modificaciones del esquema. Para actualizar el esquema de un bosque,debe tener acceso al maestro de esquema.

• Maestro de nombres de dominio. El controlador de dominio maestro de esquema con-trola las operaciones de agregar o quitar dominios del bosque, asegurando que los nom-bres de dominio sean únicos en el bosque.

Todos los dominios de Active Directory deben tener controladores de dominio que cum-plan tres de las cinco funciones de operaciones de maestro único:

• Maestro de identificadores relativos (RID). El controlador de dominio maestro de iden-tificadores relativos (RID) asigna secuencias de identificadores relativos a cada uno de losdistintos controladores de su dominio.

Cuando un controlador de dominio crea un objeto de usuario, grupo o equipo, asignaal objeto un identificador de seguridad único (SID). Este identificador está formado porun identificador de seguridad de dominio, que es el mismo para todos los que se crean enel dominio, y un identificador relativo que es único para cada identificador de seguridadque se crea en el dominio.

• Emulador de controlador de dominio principal (PDC). Para mantener la compatibilidadcon servidores basados en Windows NT que puedan funcionar como controladores dedominio de reserva (BDC) en dominios de Windows 2003 en modo mixto, pero todavíarequieren un controlador principal de dominio (PDC), se asigna a un controlador de do-minio específico basado en Windows 2003, la función de emular a un PDC. A este contro-lador de dominio lo ven los servidores basados en NT como un PDC.

• Maestro de infraestructuras. Cuando los objetos se mueven o se eliminan, un controla-dor de dominio de cada dominio, el maestro de infraestructura, es el responsable de ac-tualizar los identificadores de seguridad y nombres completos en las referencias de obje-tos de dominio cruzado de ese dominio.

6.3. Objetos que administra un dominioEl Directorio Activo, tal como se ha visto en capítulos anteriores, es en realidad una base dedatos jerárquica de objetos, que representan las entidades que pueden administrarse en unared de ordenadores, o, más correctamente en nuestro caso, en un dominio de sistemas Win-dows 2003. Esta base de datos de objetos de administración es compartida, para consulta,por todos los ordenadores miembros del dominio y, para modificación, por todos los contro-ladores del dominio (o DC, Domain Controllers).

6.3. Objetos que administra un dominio

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 77

Page 90: Administración de Sistemas 06 07

Por tanto, en Windows 2003, la gestión de un dominio puede realizarse de forma centrali-zada, administrando únicamente el Directorio Activo. En este contexto, "administrar" signifi-ca crear y configurar adecuadamente los objetos del directorio que representan a las entida-des o recursos que existen en el dominio (recursos como usuarios, grupos, equipos, etc.).

Este apartado expone con detalle los principales tipos de objetos que pueden crearse en elDirectorio Activo de Windows 2003, planteando en cada caso sus opciones de configuracióny su utilidad dentro de la administración del dominio.

6.3.1. Usuarios globales

En la administración de sistemas Windows 2003 independientes (administración local), secrean en los sistemas cuentas de usuario y de grupo que sirven para:

1. identificar y autentificar a las personas (usuarios) que deben poder acceder al sistema, y

2. administrar los permisos y derechos que permitirán aplicar el control de acceso adecua-do a dichos usuarios en el sistema.

Por lo tanto, utilizando únicamente protección local, si una persona debe trabajar en va-rios ordenadores, necesita poseer una cuenta de usuario en cada uno de ellos. A continua-ción explicaremos una alternativa a esto.

En un dominio Windows 2003, cualquier servidor que actúa como DC puede crear cuen-tas de usuario global. En este caso, el término "global" debe interpretarse como global al domi-nio. Los datos de una cuenta de usuario global se almacenan en el Directorio Activo y portanto son conocidos por todos los ordenadores del dominio (en realidad, por todos los orde-nadores de bosque). Em otras palabras, no es que se cree una cuenta para ese usuario en cadaordenador miembro, sino que existe una única cuenta (con un único SID) que es visible en to-dos los ordenadores del dominio. En este caso, cuando una persona se conecta a cualquierade dichos ordenadores utilizando para ello su cuenta de usuario global, el ordenador encuestión realiza una consulta al Directorio Activo (i.e., a alguno de los DCs) para que se vali-den las credenciales del usuario. El resultado de la validación es enviado al ordenadormiembro (y de éste al usuario), concediendo o rechazando la conexión.

Los ordenadores miembros de un dominio que no sean DCs, además de conocer a losusuarios globales del dominio, pueden crear también sus propios usuarios locales. En este ca-so, estos usuarios son únicamente visibles en el ordenador en el que han sido creados. Cuan-do una persona desea entrar en el sistema utilizando una cuenta local, dicha cuenta se validacontra la base de datos local de ese ordenador. Además, es importante resaltar que a dichousuario local no se le pueden asignar permisos sobre recursos que residan en otro sistemaWindows 2003 (puesto que allí no existe). Por el contrario, a un usuario global se le puedenconceder permisos sobre cualquier recurso (archivo, directorio, impresora, etc.) de cualquierordenador miembro del dominio, puesto que es visible (y posee el mismo SID) en todosellos.

6.3.1. Usuarios globales

78 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 91: Administración de Sistemas 06 07

6.3.2. Grupos

De forma análoga a los usuarios globales, existen grupos que son almacenados en el Directo-rio Activo y que por tanto son visibles desde todos los ordenadores del dominio (y, en algu-nos casos, también de otros dominios del bosque). En el directorio pueden crearse dos tiposde grupos: grupos de distribución y grupos de seguridad. Los primeros se utilizan exclusiva-mente para crear listas de distribución de correo electrónico, mientras que los segundos sonlos que se utilizan con fines administrativos. Por este motivo, a partir de ahora nos referire-mos exclusivamente a los grupos de seguridad.

En concreto, en dominios Windows 2003 se definen tres clases de grupos de seguridad (o,de forma más precisa, se pueden definir grupos de tres ámbitos distintos):

1. Grupos locales del dominio. En un dominio en nivel funcional Windows 2000 mixto,pueden contener cuentas de usuario y grupo globales de cualquier dominio del bosque.En un dominio en nivel Windows 2000 nativo o Windows Server 2003, pueden contener,además, grupos universales y otros grupos locales del dominio. Sólo son visibles en eldominio en que se crean, y suelen utilizarse para conceder permisos y derechos en cual-quiera de los ordenadores del dominio (nótese que en modo mixto, sólo son visibles porlos DCs del dominio, y por tanto sólo se pueden utilizar para administrar permisos yderechos en esos ordenadores).

2. Grupos globales. En un dominio en nivel funcional Windows 2000 mixto, pueden con-tener cuentas de usuario globales del mismo dominio. En un dominio en nivel Windows2000 nativo o Windows Server 2003, pueden contener, además, otros grupos globalesdel mismo dominio. Son visibles en todos los dominios del bosque, y suelen utilizarsepara clasificar a los usuarios en función de las labores que realizan.

3. Grupos universales. Sólo están disponibles en dominios en nivel funcional Windows2000 nativo o Windows Server 2003 nativo. Pueden contener cuentas de usuario y gru-pos globales, así como otros grupos universales, de cualquier dominio del bosque. Sonvisibles en todo el bosque.

En un ordenador miembro de un dominio también se pueden definir grupos locales. Losgrupos locales pueden estar formados por cuentas de usuario locales y usuarios y gruposglobales de cualquier dominio del bosque (en modo mixto) y además por grupos universales(en modo nativo). Un grupo local no puede ser miembro de otro grupo local. Los grupos lo-cales pueden utilizarse para conceder permisos y derechos en el equipo en que son creados.

Por tanto, la administración de la protección en cada ordenador del dominio puede reali-zarse mediante grupos locales del dominio o grupos locales del equipo en que reside el re-curso a administrar. Por tanto, la recomendación que se hacía en la protección local respectoa la asignación de permisos en base a grupos locales sigue siendo válida. En el caso más ge-neral, la regla que recomienda Windows 2003 es la siguiente:

1. Asignar usuarios globales a grupos globales, según las labores que desempeñen en laorganización.

6.3.2. Grupos

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 79

Page 92: Administración de Sistemas 06 07

2. Incluir (usuarios y/o) grupos globales en grupos locales (del equipo o del dominio) se-gún el nivel de acceso que vayan a tener.

3. Asignar permisos y derechos únicamente a estos grupos locales (del equipo o del domi-nio).

La utilización de grupos universales tiene sentido sólo cuando un mismo conjunto deusuarios (y/o grupos) de varios dominios deben recibir permisos/derechos en varios domi-nios simultáneamente. En Windows 2000, el uso de este tipo de grupo estaba muy desacon-sejado, por dos motivos: primero, porque estos grupos y sus miembros deben replicarse entodos los catálogos globales del bosque, y segundo, porque cualquier incio de sesión de unusuario debe consultar a un catálogo global para determinar la pertenencia de dicho usuarioa posibles grupos universales. Windows 2003 ha suavizado el primero de los problemas, me-jorado la eficiencia de esa replicación (sólo si el bosque está en nivel funcional Windows Ser-ver 2003), de forma que su uso no está ahora tan desaconsejado como lo estaba en Windows2000. En cualquier caso, el uso de un grupo universal siempre puede simularse con la combi-nación adecuada de grupos globales y locales del dominio. Se recomienda al lector reflexio-nar sobre cómo podría hacerse.

En relación con esto, es importante saber que cuando un ordenador pasa a ser miembrode un dominio, el grupo global Administradores del dominio se incluye automática-mente en el grupo local Administradores de dicho ordenador. De igual forma, el grupoglobal Usuarios del dominio se incluye dentro del grupo local Usuarios. De esta for-ma, los administradores y usuarios normales del dominio tienen en cada miembro los mis-mos derechos y permisos que los que tengan ya definidos los administradores y usuarios lo-cales, respectivamente. El administrador local puede, si lo desea, invalidar esta acción auto-mática, extrayendo posteriormente los grupos globales de los locales.

6.3.3. Equipos

Como hemos visto, en el Directorio Activo de un dominio se conserva toda la informaciónrelativa a cuentas de usuarios y grupos globales. Esta misma base de datos de directoio reco-ge también una cuenta de equipo por cada uno de los ordenadores miembro de un dominio.

Entre otras informaciones, en cada una de estas cuentas se almacena el nombre del orde-nador, así como un identificador único y privado que lo identifica unívocamente. Este identi-ficador es análogo al SID de cada cuenta de usuario o grupo, y sólo lo conocen los DCs y elpropio ordenador miembro. Es por tanto, un dato interno del sistema operativo, y ni siquierael administrador puede cambiarlo. Es precisamente este dato, propio de las cuentas de usua-rio, grupo y equipo, lo que permite asignar permisos y derechos en los sistemas a estos trestipos de cuentas. Por este motivo, se denominan principales de seguridad (security principals).Por tanto, la asignación de derechos y permisos (NTFS) a cuentas de equipo es posible, perose limita a situaciones muy poco frecuentes y está fuera del ámbito de este texto.

Windows 2003 puede utilizar distintos protocolos de comunicaciones seguros entre losordenadores miembro de un dominio y los DCs. Entre ellos los más importantes son NTLM(el protocolo utilizado por versiones anteriores de Windows NT, que se mantiene por com-

6.3.3. Equipos

80 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 93: Administración de Sistemas 06 07

patibilidad hacia atrás) y Kerberos V5. Kerberos presenta numerosas ventajas respecto aNTLM, pero sólo es viable en la práctica si todas las máquinas del dominio son Windows2000, Windows XP o Windows Server 2003. Estos protocolos se utilizan siempre que infor-mación relativa a aspectos de seguridad se intercambia entre sistemas pertenecientes a algúndominio y, en concreto, para autenticar usuarios (como se ha explicado arriba).

6.3.4. Unidades Organizativas

Como hemos visto en Sección 6.2.4.5, “Unidades Organizativas”, las unidades organizativasson objetos del directorio que a su vez, pueden contener otros objetos. El uso fundamental delas OUs es delegar la administración de sus objetos a otros usuarios distintos del administra-dor del dominio, y personalizar el comportamiento de los usuarios y/o equipos mediante laaplicación de directivas de grupo (GPOs) específicas a la unidad.

6.4. Compartición de recursosCuando un sistema Windows 2003 participa en una red (grupo de trabajo o dominio), puedecompartir sus recursos con el resto de ordenadores. En este contexto, sólo vamos a conside-rar como recursos a compartir las carpetas o directorios que existen en un sistema Windows.La compartición de otros recursos (tales como impresoras, por ejemplo) queda fuera del ám-bito de este texto.

6.4.1. Permisos y derechos

Cualquier sistema Windows 2003 puede compartir carpetas, tanto si es un servidor como sies una estación de trabajo. Para poder compartir una carpeta basta con desplegar su menúcontextual desde una ventana o desde el explorador de archivos, y seleccionar Compar-tir.... En la ventana asociada a esta opción se determina el nombre que tendrá el recurso(que no tiene por qué coincidir con el nombre de la propia carpeta), así como qué usuariosvan a poder acceder al mismo. En relación con esto, existe una gran diferencia entre que eldirectorio resida en una partición FAT y que resida en una NTFS.

Si la carpeta reside en una partición FAT, este filtro de acceso será el único que determinelos usuarios que van a poder acceder al contenido de la carpeta, puesto que no es posible de-terminar permisos sobre la misma o sus archivos. Es decir, el filtro sólo se establece para po-der acceder al recurso. Si un usuario tiene permisos suficientes para conectarse a un recurso,tendrá acceso sobre todos los archivos y subcarpetas del recurso. Concretamente, el tipo deacceso sobre todos ellos será el que le permita el permiso sobre el recurso (Lectura, Es-critura o Control Total).

Por el contrario, si la carpeta se encuentra en una partición NTFS, ésta tendrá unos permi-sos establecidos (así como sus subcarpetas y archivos), al margen de estar o no compartida.En este caso también es posible establecer permisos desde la ventana de Compartir..., pe-ro entonces sólo los usuarios que puedan pasar ambos filtros podrán acceder a la carpetacompartida y a su contenido. En este caso se recomienda dejar Control Total sobre To-dos en los permisos asociados al recurso (opción por defecto), y controlar quién (y cómo)

6.3.4. Unidades Organizativas

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 81

Page 94: Administración de Sistemas 06 07

puede acceder al recurso y a su contenido mediante los permisos asociados a dicha carpeta(y a sus archivos y subcarpetas). Sin embargo, esta no es la opción por defecto en WindowsServer 2003 (aunque sí lo era en Windows 2000), que sólo concede inicialmente el permiso delectura al grupo Todos al compartir una carpeta.

Esta recomendación es muy útil, si tenemos en cuenta que de esta forma para cada carpe-ta (y archivo) del sistema no utilizamos dos grupos de permisos sino uno solo, independien-temente de que la carpeta sea o no compartida. Este forma de trabajar obliga al administra-dor a asociar los permisos correctos a cada objeto del sistema (aunque no esté compartido),pero por otra parte se unifica la visión de la seguridad de los archivos, con lo que a la largaresulta más segura y más sencilla.

Cuando compartimos recursos a otros usuarios en la red (especialmente en un dominio)hay que tener en cuenta no sólo los permisos del recurso y su contenido, sino también los de-rechos del ordenador que comparte el recurso. En concreto, si un usuario ha iniciado una se-sión interactiva en un ordenador Windows 2003 denominado A, y desea conectarse a un re-curso de red que exporta otro Windows 2003 denominado B, además de poseer suficientespermisos (sobre el recurso, sobre el propio carpeta y sobre su contenido), tiene que tenerconcedido en B el derecho Acceder a este equipo desde la red. De lo contrario, di-cho usuario ni siquiera podrá obtener la lista de los recursos que el ordenador B comparte.

6.4.2. Compartición dentro de un dominio

Cuando la compartición de recursos la realizan equipos que forman parte de un dominioWindows 2003, existen consideraciones que el administración debe conocer.

Primero, una vez se ha compartido físicamente una carpeta en la red (según el procedi-miento descrito arriba), el administrador del dominio puede además publicar este recurso enel directorio. Para ello debe crear un nuevo objeto, en la unidad organizativa adecuada, de ti-po Recurso compartido. A este objeto se le debe asociar un nombre simbólico y el nom-bre de recurso de red que representa (de la forma \\equipo\recurso). Es importante te-ner en cuenta que cuando se publica el recurso de esta forma, no se comprueba si realmenteexiste o no, por lo que es responsabilidad del administrador el haberlo compartido y que sunombre coincida con el de la publicación. Una vez publicado, el recurso puede localizarsemediante búsquedas en el Directorio Activo, como el resto de objetos del mismo. WindowsServer 2003 ha introducido otra forma de publicación: entre las opciones de la pestaña "Com-partir" del explorador de archivos, puede publicarse dicha compartición en el directorio,simplemente asignándole un nombre simbólico. Si se publica de esta forma, el proceso creaautomáticamente el objeto que representa la carpeta compartida en el directorio.

Y segundo, cuando un sistema Windows 2003 se agrega a un dominio, los siguientes re-cursos se comparten de forma automática y por defecto (estas comparticiones no deben mo-dificarse ni prohibirse):

• letra_de_unidad$. Por cada partición existente en el sistema Windows 2003 (C:, D:,etc.) se crea un recurso compartido denominado C$, D$, etc. Los administradores del do-minio, así como los operadores de copia del domino, pueden conectarse por defecto a es-tas unidades.

6.4.2. Compartición dentro de un dominio

82 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 95: Administración de Sistemas 06 07

• ADMIN$. Es un recurso utilizado por el propio sistema durante la administración remotade un ordenador Windows 2003.

• IPC$. Recurso que agrupa los tubos (colas de mensajes) utilizados por los programas pa-ra comunicarse entre ellos. Se utiliza durante la administración remota de un ordenadorWindows 2003, y cuando se observa los recursos que comparte.

• NETLOGON. Recurso que exporta un DC para proporcionar a los ordenadores miembrosdel dominio el servicio de validación de cuentas globales a través de la red (Net Logon ser-vice).

• SYSVOL. Recurso que exporta cada DC de un dominio. Contiene información del Directo-rio Activo (por ejemplo, de directivas de grupo) que debe replicarse en todos los DCs deldominio.

En relación con los nombres de estos recursos, es interesante saber que añadir el carácter"$" al final de cualquier nombre de recurso tiene un efecto específico: prohibe que dicho re-curso se visualice dentro de la lista de recursos que una máquina exporta al resto. Es decir,convierte un recurso en "invisible" para al resto del mundo. En este caso, un usuario remotosólo podrá conectarse al recurso si conoce su nombre de antemano (y tiene suficientes permi-sos, obviamente).

6.4.3. Mandatos Windows 2003 para compartir recursos

La compartición de recursos en Windows 2003 puede realizarse en línea de órdenes utilizan-do los mandatos net share y net use. La sintaxis de ambos mandatos es la siguiente:

1. Mandato net share: Crea, elimina o muestra recursos compartidos.

net sharenet share recurso_compartidonet share recurso_compartido=unidad:ruta_de_acceso

[/users:número | /unlimited] [/remark:"texto"]net share recurso_compartido [/users:número | unlimited]

[/remark:"texto"]net share {recurso_compartido | unidad:ruta_de_acceso} /delete

2. Mandato net use: Conecta o desconecta un equipo de un recurso compartido o muestrainformación acerca de las conexiones del equipo. También controla las conexiones dered persistentes.

net use [nombre_dispositivo][\\nombre_equipo\recurso_compartido[\volumen]][contraseña | *]] [/user:[nombre_dominio\]nombre_usuario][[/delete] | [/persistent:{yes | no}]]

net use nombre_dispositivo [/home[contraseña | *]][/delete:{yes | no}]

net use [/persistent:{yes | no}]

6.4.3. Mandatos Windows 2003 para compartir recursos

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 83

Page 96: Administración de Sistemas 06 07

6.5. Delegación de la administraciónPara delegar, total o parcialmente, la administración de una unidad organizativa existe unasistente (wizard) que aparece cuando se selecciona la acción Delegar el control... enel menú contextual de la unidad organizativa. Este asistente pregunta básicamente los dosaspectos propios de la delegación: a quién se delega y qué se delega. La primera pregunta secontesta o bien con un usuario o con un grupo (se recomienda un grupo). Para responder ala segunda pregunta, se puede elegir una tarea predefinida a delegar (de entre una lista de ta-reas frecuentes), o bien podemos optar por construir una tarea personalizada. En este últimocaso, tenemos que especificar la tarea mediante un conjunto de permisos sobre un cierto tipode objetos del directorio. Esto se explica a continuación.

Internamente, los derechos de administración (o control) sobre un dominio o unidad or-ganizativa funcionan de forma muy similar a los permisos sobre una carpeta o archivo: exis-te una DACL propia y otra heredada, que contienen como entradas aquellos usuarios/gru-pos que tienen concedida (o denegada) una cierta acción sobre la unidad organizativa o so-bre su contenido. En este caso, las acciones son las propias de la administración de objetos enel directorio (control total, creación de objetos, modificación de objetos, consulta de objetos,etc.), donde los "objetos" son las entidades que pueden ser creados dentro de la unidad:usuarios, grupos, unidades organizativas, recursos, impresoras, etc.

En resumen, la delegación de control sobre una unidad organizativa puede hacerse deforma completa (ofreciendo el Control Total sobre la unidad) o de forma parcial (permitiendola lectura, modificación y/o borrado de los objetos de la misma). Hay que tener en cuentaque en el caso de la delegación parcial, el número de posibilidades es inmenso: por una par-te, se incluye la posibilidad de establecer el permiso sobre cada atributo de cada tipo de obje-to posible; por otra parte, se puede establecer a qué unidades se va a aplicar la regla (sólo enesa unidad organizativa, en todas las que se sitúan por debajo, en parte de ellas, etc.). Portanto, para una delegación parcial se recomienda el uso del asistente, ya que su lista de dele-gación de tareas más frecuentes (como por ejemplo "Crear, borrar y administrar cuentas deusuario" o "Restablecer contraseñas en cuentas de usuario") resulta muy útil. Sin embargo,cuando la delegación que buscamos no se encuentra en la lista, tendremos que diseñar una amedida, asignando los permisos oportunos sobre los objetos del directorio que sean necesa-rios.

6.5. Delegación de la administración

84 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 97: Administración de Sistemas 06 07

7Administración dePolíticas de Grupo

Indice7.1. Introducción .................................................................................................. 877.2. Objeto de Política de Grupo (GPO) .................................................................. 877.3. Aplicación de Políticas de Grupo .................................................................... 897.4. Políticas de Grupo y grupos de seguridad ....................................................... 90

7.4.1. Filtrar el ámbito de aplicación de un GPO ............................................. 907.4.2. Delegar la administración de un GPO ................................................... 91

7.5. Principales políticas incluidas en un GPO ........................................................ 927.5.1. Plantillas administrativas ..................................................................... 927.5.2. Configuraciones de seguridad .............................................................. 937.5.3. Instalación de software ........................................................................ 937.5.4. Guiones (Scripts) ................................................................................. 937.5.5. Redirección de carpetas ....................................................................... 957.5.6. Otras políticas ..................................................................................... 95

7.6. Recomendaciones de uso ................................................................................ 95

85

Page 98: Administración de Sistemas 06 07
Page 99: Administración de Sistemas 06 07

7.1. IntroducciónEste capítulo introduce una de las herramientas que incluye Windows Server 2003 para cen-tralizar la administración y configuración de usuarios y equipos en un dominio: las Políticas oDirectivas de Grupo (Group Policies). Las políticas de grupo permiten establecer de forma cen-tralizada múltiples aspectos de la configuración que reciben los usuarios cuando se conectana una máquina del dominio. Estos aspectos incluyen, entre otros, configuraciones del regis-tro, políticas de seguridad, instalación automática de software, ejecución de scripts, redirec-ción de carpetas locales a recursos de red, etc.

7.2. Objeto de Política de Grupo (GPO)En cada sistema Windows Server 2003, forme parte o no de un dominio, existe una política lo-cal que el administrador puede editar según su criterio para ajustar el comportamiento de di-cho equipo. Lógicamente, cuando hay muchos equipos que administrar, resultaría incómodotener que establecer este comportamiento uno por uno. Por este motivo, las políticas de gru-po se han integrado dentro de la administración del Directorio Activo como una herramientade configuración centralizada en dominios Windows 2003.

En concreto, las políticas se especifican mediante objetos de directorio denominados Obje-tos de Política de Grupo (Group Policy Objects), o simplemente GPOs. Un GPO es un objeto queincluye como atributos cada una de las políticas (también denominadas directivas) que puedeestablecerse en Windows Server 2003 para equipos y usuarios. Los GPOs se crean y poste-riormente se vinculan a distintos contenedores del Directorio Activo (sitios, dominios y unida-des organizativas), de forma que los usuarios y equipos que se ubican dentro de estos conte-nedores reciben los parámetros de configuración establecidos en dichos GPOs. De esta for-ma, y utilizando sólo el Directorio Activo, cada equipo y cada usuario del dominio puede re-cibir una configuración apropiada según el tipo de tarea que debe desempeñar. De entre loscontenedores que existen por defecto al crear un dominio, el que representa al dominio y launidad organizativa Domain Controllers ya tienen creados y vinculados sendos GPOs,con un conjunto mínimo de configuraciones. Al resto de unidades organizativas (Builtin,Users y Computers) no se les pueden asociar GPOs. Por lo tanto, para poder implementarun esquema de GPOs en un dominio es necesario crear primero una estructura adecuada deunidades organizativas, y distribuir en ellas los objetos usuario/equipo.

Dentro de cada GPO, las políticas se organizan jerárquicamente en un árbol temático quepermite una distribución lógica de las mismas (ver Figura 7.1, “Herramienta de configura-ción de un GPO”). En este árbol de políticas, justo debajo del nodo raíz, existen dos nodosprincipales que separan las configuraciones para equipos y para usuarios:

1. La configuración del equipo agrupan todos aquellos parámetros de configuración quepueden establecerse a nivel de equipo. Cuando un GPO afecta a un equipo, todas aque-llas políticas de equipo del GPO que el administrador haya configurado se aplicarán alequipo cada vez que se inicie.

2. Las configuración de usuario agrupan los parámetros de configuración que pueden es-

7.1. Introducción

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 87

Page 100: Administración de Sistemas 06 07

tablecerse a nivel de usuario. Cuando un GPO afecta a un usuario, todas aquellas políti-cas de usuario del GPO que el administrador haya configurado se aplicarán cuando di-cho usuario inicie una sesión local (en cualquier equipo del dominio).

Figura 7.1. Herramienta de configuración de un GPO

Además de esa aplicación inicial de las políticas (en el inicio de los equipos y en el iniciode sesión de los usuarios), éstas se reevalúan automáticamente bajo demanda del adminis-trador y, además, de forma periódica. Por defecto, la reevaluación periódica se produce cada90 minutos, con un retraso aleatorio de hasta 30 minutos.

Por último, en cada GPO, el administrador puede deshabilitar selectivamente las políticasde equipo y/o de usuario, lo cual evita que se procesen y puedan aplicarse. Esto resulta útilen aquellos casos en los que en un GPO sólo se configuran políticas de uno de ambos tipos.Supongamos, por ejemplo, que en un GPO se han configurado únicamente ciertas políticasde equipo (y ninguna de usuario). Si el administrador no deshabilita la parte de políticas deusuario, el sistema las seguirá procesando (aunque no las aplicará, al no estar configuradas)para cada usuario al que afecte el GPO, con el consiguiente retraso (no útil) en el inicio de se-sión de dicho usuario.

7.2. Objeto de Política de Grupo (GPO)

88 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 101: Administración de Sistemas 06 07

7.3. Aplicación de Políticas de GrupoA partir de lo expuesto en el apartado anterior, se puede deducir lo siguiente respecto a có-mo se aplican las políticas de grupo:

• Un mismo GPO puede contener indistintamente parámetros o políticas) de configuraciónque deben aplicarse a equipo y a usuarios.

• Cada GPO se vincula a un contenedor del directorio activo (un sitio, un dominio o unaunidad organizativa), afectando implícitamente a todos los objetos que residen en él:

• Los equipos se verán afectados por las políticas de equipo del GPO.• Los usuarios se verán afectados por las política de usuario del GPO.• Los sub-contenedores heredarán el GPO completo.

Es decir, los GPOs vinculados a un sitio son heredados por su dominio. Estos GPOs,más los vinculados al dominio, son heredados por las unidades organizativas de primer ni-vel establecidas en el dominio. Todos ellos, más los vinculados a estas unidades organi-zativas, son heredados por las unidades de segundo nivel ubicadas dentro de aquellas, yasí sucesivamente.

• Existe una relación "muchos a muchos" entre contenedores y GPOs: un mismo GPO pue-de vincularse a múltiples contenedores y un contenedor puede tener vinculados múlti-ples GPOs.

En resumen, las políticas de grupo son heredables y acumulativas. Eso quiere decir que,desde el punto de vista de un equipo o de un usuario concretos, la lista de GPOs que lesafecta depende de su ubicación en Directorio Activo: esta lista incluye todos los GPOs vincu-lados a los contenedores por los que hay que pasar para llegar desde el sitio (y dominio) has-ta la unidad organizativa concreta donde ese equipo o usuario se ubica.

Puesto que cada GPO incorpora los mismos (posibles) parámetros de configuración, esposible que se produzcan conflictos entre los distintos GPOs que afectan a un usuario/equi-po. Resulta necesario que exista un orden de aplicación concreto y conocido, de forma que sesepa finalmente qué politica(s) afectarán a cada usuario y equipo. Este orden es el siguiente:

1. Se aplica la política de grupo local del equipo (denominada Local Group Policy Object, oLGPO).

2. Se aplican los GPOs vinculados a sitios.

3. Se aplican los GPOs vinculados a dominios.

4. Se aplican los GPOs vinculados a unidades organizativas de primer nivel. En su caso,posteriormente se aplicarían GPOs vinculados a unidades de segundo nivel, de tercernivel, etc.

7.3. Aplicación de Políticas de Grupo

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 89

Page 102: Administración de Sistemas 06 07

Este orden de aplicación decide la prioridad entre los GPOs, puesto que una política que seaplica más tarde prevalece sobre otras establecidas anteriormente (las sobreescribe). De formaanáloga a lo establecido para permisos en el sistema de archivos NTFS, podríamos decir quelas políticas explícitas de un contenedor tienen prioridad (se aplican más tarde) sobre las po-líticas heredadas de contenedores superiores. Este comportamiento puede ser refinado me-diante los siguientes dos parámetros:

1. Forzado (Enforced). Este parámetro puede activarse independientemente a cada vínculode un GPO. En particular, si el vínculo de un GPO a un contenedor tiene este parámetroactivado, sus políticas no pueden ser sobrescritas por GPOs que se apliquen posterior-mente (a subcontenedores de dicho contenedor).

2. Bloquear herencia de directivas (Block policy inheritance). Este parámetro pertenece a loscontenedores del Directorio Activo. En particular, si un contenedor tiene este parámetroactivado, se desactiva la herencia de las políticas establecidas en contenedores superio-res, excepto aquellas que corresponden a GPOs vinculados con el parámetro "Forzado".

El comportamiento que se acaba de describir afecta a todos los equipos y a todos losusuarios del dominio en función, exclusivamente, de su ubicación dentro del Directorio Acti-vo. En el caso de las políticas de usuario, este comportamiento y la propia administración delos GPOs puede refinarse aún más utilizando grupos de seguridad.

7.4. Políticas de Grupo y grupos de seguridadComo todos los objetos del Directorio Activo, los GPOs poseen listas de control de acceso (oDACLs). En general, estas DACLs establecen qué usuarios y grupos pueden leer, escribir,administrar, etc., dichos objetos. En el caso concreto de los GPOs, esta asociación de permi-sos a grupos de usuarios (o grupos de seguridad) permite filtrar el ámbito de aplicación de unGPO y delegar su administración.

7.4.1. Filtrar el ámbito de aplicación de un GPO

Uno de los permisos de cada GPO es "Aplicar directiva de grupos" (o, simplemente, Aplicar).Por defecto, este permiso lo tienen concedido el grupo Usuarios autentificados, que incluye enla práctica a todos los usuarios del dominio. Por tanto, la política afecta a todos los usuarioscuyas cuentas se ubiquen dentro del contenedor al que se vincula el GPO.

Si este comportamiento no es el que se desea, se puede eliminar este permiso y conceder-lo a otro(s) grupo(s) más restringidos, o bien mantener este permiso y añadir permisos nega-tivos a otros grupos. Hay que tener en cuenta varias cosas a este respecto:

• Si denegamos el permiso Aplicar a un grupo, impediremos que sus políticas afecten acualquiera de sus miembros, aunque pertenezca a otros grupos que tengan este permisoconcedido.

7.4. Políticas de Grupo y grupos de seguridad

90 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 103: Administración de Sistemas 06 07

• El permiso Aplicar debe asignarse conjuntamente con el permiso Leer, ya que si no, elGPO no se aplica al grupo correspondiente. Si asignamos Aplicar a grupos más restringi-dos que el de Usuarios Autentificados, es recomendable que hagamos lo mismo con elpermiso Leer, puesto que el GPO se procesa para todos los usuarios que poseen este per-miso, aunque sólo se aplica a los que poseen además el Aplicar.

• Existe un caso en el que no se puede seguir esta recomendación: si la política no debeaplicarse al grupo de administradores, éstos no deben tener concedido el permiso Aplicar.Sin embargo, no es posible eliminar el permiso Leer a estos usuarios porque entonces nopodrían administrar el GPO.

7.4.2. Delegar la administración de un GPO

Cualquier usuario o grupo que tenga concedido el permiso de Control Total sobre un GPOpuede administrarlo. Por defecto, en este caso se encuentran:

• el grupo Administración de Empresas,

• el grupo Administradores del Dominio,

• el creador del GPO (Creator Owner),

• y el sistema (System).

A pesar de que estos grupos no tienen concedido el permiso "Aplicar a", los administra-dores también reciben por defecto la política, puesto que forman parte del grupo UsuariosAutentificados.

Es posible delegar la administración de GPOs a otros usuarios y grupos. En realidad, laadministración de un GPO consta de dos actividades distintas y complementarias, que pue-den delegarse independientemente:

1. Creación de un GPO. La creación de un GPO es una actividad previa (e independiente)a su vinculación a un contenedor del directorio. Unicamente los administradores de em-presa y dominio y aquellos usuarios o grupos miembros del grupo Group Policy CreatorOwners pueden crear nuevos objetos de este tipo. Por tanto, el administrador puede de-legar esta acción haciendo que un cierto usuario o grupo pertenezca a este grupo decreadores de GPOs.

2. Vinculación de un GPO a un contenedor. Esta acción se controla mediante permisos es-pecíficos del contenedor (sitio, dominio o unidad organizativa), y puede delegarse me-diante una de las tareas de delegación predefinidas denominada Manage Group Policylinks. El procedimiento para realizar este tipo de delegaciones se encuentra en la Sec-ción 6.5, “Delegación de la administración”.

7.4.2. Delegar la administración de un GPO

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 91

Page 104: Administración de Sistemas 06 07

7.5. Principales políticas incluidas en un GPOComo se ha visto en previamente, cada GPO consta de un árbol de políticas, subdividido ensu nivel más alto en dos subárboles denominados Configuración de equipo y Configuración deusuario. La jerarquía de políticas en cada uno de ellos se subdivide en tres grupos:

1. Configuración de Software (Software Settings). Contiene la configuración, bien del equi-po o bien de usuario, de la instalación automática de software.

2. Configuración de Windows (Windows Settings). Contiene la configuración de ciertos pa-rámetros de Windows, como parámetros de seguridad o scripts, para el equipo o para elusuario.

3. Plantillas Administrativas (Administrative Templates). Contiene las políticas y configura-ciones que se guardan en el registro de Windows, para el equipo o para el usuario.

Es decir, en muchos casos, la misma política existe en ambos subárboles (equipo y usua-rio), aunque generalmente en cada caso con significados y parámetros distintos. Por ejemplo,bajo Configuración del Equipo--Configuración de Windows--Scripts podemos encontrar los scriptsque deben ejecutarse cada vez que el equipo se inicia o detiene, mientras que bajo Configura-ción de Usuario--Configuración de Windows--Scripts se encuentran los scripts que deben ejecu-tarse cada vez que el usuario inicia o finaliza una sesión local.

A continuación se exponen los grupos de políticas más importantes que pueden configu-rarse mediante un GPO, independientemente de su ubicación concreta dentro de la jerar-quía.

7.5.1. Plantillas administrativas

Este grupo contiene todas las configuraciones de políticas basadas en el registro de Windows2003, incluyendo aquellas que controlan el funcionamiento y apariencia del escritorio, de loscomponentes de Windows Server 2003 y de algunas aplicaciones que utilizan estas políticas.

Estas políticas han sido rediseñadas respecto a sus homólogas en Windows NT 4.0, quetenían un serio inconveniente: una vez se habían aplicado, su efecto era permanente porquemodificaban los valores del registro en su ubicación original, perdiéndose el valor anterior.Por ello, al eliminar la política no se desactivaban y la única forma de hacerlo era establecien-do políticas contrarias o editando el registro manualmente. En Windows Server 2003, las po-líticas que afectan el registro se almacenan en un lugar del registro dedicado exclusivamentea las Políticas de Grupo. Esto significa que dejan de tener efecto (y se recupera el valor pordefecto original del registro) si el GPO que las estableció deja de estar en uso. En la termino-logía de Windows Server 2003, las nuevas políticas se denominan políticas verdaderas (true po-licies), mientras que las que no cumplen con esta nueva filosofía se denominan preferencias(Group policy preferences), y su uso está claramente desaconsejado. Por defecto, todas las polí-ticas que pueden seleccionarse bajo el apartado de Plantillas Administrativas de un GPO sonverdaderas.

7.5.1. Plantillas administrativas

92 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 105: Administración de Sistemas 06 07

7.5.2. Configuraciones de seguridad

En este apartado se encuentra la configuración de muchos de los aspectos de seguridad quepueden establecerse en un sistema Windows Server 2003.

En concreto, y centrándonos en los aspectos de seguridad a nivel de equipo, podemosdestacar los siguientes (de entre muchos más):

1. Políticas de Cuentas. Se pueden configurar todos los aspectos sobre el plan de cuentasque se vieron en la Sección 3.5.1, “Otras directivas de seguridad”, tales como caducidadde contraseñas, bloqueo de cuentas, configuración de Kerberos, etc.

2. Políticas Locales. Bajo este apartado se encuentran las configuraciones que correspon-den a la denominada "Directiva local" de la Sección 3.5.1, “Otras directivas de seguri-dad”, es decir, la configuración de la auditoría, la asignación de derechos y privilegiosde usuario y las opciones de seguridad.

3. Registro de Eventos. Aquí se controla el registro de eventos en los registros de aplica-ción, seguridad y sistema, que posteriormente pueden visualizarse con la herramientaVisor de Sucesos.

7.5.3. Instalación de software

Mediante este apartado se puede asignar y/o publicar aplicaciones a equipos o a usuarios en eldominio:

1. Asignar una aplicación significa que los usuarios que la necesitan la tienen disponibleen su escritorio sin necesidad de que un administrador la instale. Cuando se asigna unaaplicación a un usuario o equipo, se crea una entrada para ella en el menú de inicio y seconfigura el registro adecuadamente. La primera vez que el usuario ejecuta la aplica-ción, ésta es automáticamente instalada en el equipo cliente.

2. Publicar una aplicación a un equipo o usuario le da la oportunidad al usuario de insta-lar dicha aplicación bajo demanda (a voluntad), pero no se realiza ninguna acción auto-mática en el equipo (no se modifica el menú de inicio ni el registro). La lista de aplica-ciones publicadas para un usuario aparecen en el Panel de Control, bajo la herramientade Añadir/Eliminar Programas, desde donde pueden ser instaladas.

7.5.4. Guiones (Scripts)

Bajo este apartado, se pueden asignar scripts a equipos o usuarios. En concreto, existen cua-tro tipos de scripts principales:

1. Inicio (equipo). Se ejecuta cada vez que el equipo arranca.

7.5.3. Instalación de software

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 93

Page 106: Administración de Sistemas 06 07

2. Apagado (equipo). Se ejecuta cada vez que el equipo va a detenerse.

3. Inicio de sesión (usuario). Se ejecuta cada vez que el usuario inicia una sesión interacti-va (local) en un equipo.

4. Cierre de sesión (usuario). Se ejecuta cada vez que el usuario se finaliza una sesión inte-ractiva en un equipo.

En todos esos casos, los scripts pueden implementarse en cualquiera de los lenguajes queentiende el soporte de scripts independiente del lenguaje de Windows Server 2003, o Win-dows Scripting Host. Actualmente existe soporte para Visual Basic Scripting Edition, JavaScript, PERL y los tradicionales archivos por lotes MS-DOS. Es posible que en el futuro se in-cluya soporte para otros lenguajes como Tcl-Tk o Python.

El comportamiento de los scripts puede perfilarse mediante algunas políticas que se si-túan en el apartado de Plantillas Administrativas. En la tabla a continuación se muestran al-gunas que resulta útil conocer.

Tabla 7.1. Principales políticas que afectan el comportamiento de los scritps

Config. del Equipo--Plantillas Administrativas--Sistema--Inicio de Sesión

Política Significado

Ejecutar secuencia de comandosde inicio de sesión de forma sín-crona.

Si esta política está activada, Windows 2000 espera a que sehayan procesado los scripts de inicio antes de iniciar el escri-torio. Esta opción también existe para el usuario, pero la esta-blecida aquí tiene preferencia.

Ejecutar archivos de comandosde inicio de forma asíncrona.

Por defecto, los scripts de inicio de equipo se ejecutan ocultosy de forma síncrona (el sistema operativo no termina de arran-car hasta que se han procesado completamente). Esta políticapermite cambiar este comportamiento por defecto.

Ejecutar archivos de comandosde inicio visibles.

Si está habilitada, los scripts de inicio del sistema se ejecutanvisibles en una ventana de órdenes.

Ejecutar archivos de comandosde apagado visibles.

Esta es la política equivalente a la anterior para los scritps dedetención del equipo.

Tiempo de espera máximo parasecuencias de comandos de di-rectivas de grupo.

El tiempo máximo de espera para los scripts (en el caso deque se queden suspendidos, por ejemplo) es de 600 segun-dos. Mediante esta política se puede cambiar este intervalo,hasta un máximo de 32000 segundos.

Config. de Usuario--Plantillas Administrativas--Sistema--Inicio/Cierre de Sesión

Política Significado

Ejecutar secuencia de comandosde inicio de sesión de forma sín-crona.

Si esta política está activada, Windows Server espera aque se hayan procesado los scripts de inicio antes deiniciar el escritorio.

Ejecutar archivos de comandosde inicio de sesión visibles.

Si está habilitada, los scripts de inicio de se sesión delusuario se ejecutan visibles en una ventana de órde-nes.

Ejecutar archivos de comandosde cierre de sesión visibles

Esta es la política equivalente a la anterior para losscritps de fin de sesión del usuario.

7.5.5. Redirección de carpetas

94 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 107: Administración de Sistemas 06 07

7.5.5. Redirección de carpetas

Este grupo de políticas permite redirigir la ubicación local predefinida de ciertas carpetasparticulares de cada usuario (como "Mis Documentos" o el menú de inicio) a otra ubicación,bien sea en la misma máquina o en una unidad de red.

Un ejemplo útil de redirección sería que la carpeta "Mis documentos" apuntara a un di-rectorio personal de cada usuario en la red, como por ejemplo el recurso\\servidor\home\%username%. Esta aproximación resulta más últil que conectarle a di-cho usuario ese recurso a una unidad de red, puesto que muchas aplicaciones abren automá-ticamente la carpeta "Mis documentos" para buscar los archivos personales de ese usuario.Para que dicha redirección funcione correctamente, es necesario que el usuario que recibe laredirección sea el propietario de la carpeta compartida.

7.5.6. Otras políticas

Existen muchas otras políticas que quedan fuera del contexto del presente capítulo. Entreellas, podemos destacar el Mantenimiento de Internet Explorer, que controla la apariencia yla configuración personal de este navegador de web para cada usuario, y los Servicios deInstalación Remota, que permiten configurar automáticamente las opciones de instalaciónde clientes Windows (Windows 2000 Professional, Windows XP).

7.6. Recomendaciones de usoTodo administrador debería tener en cuenta una serie de reglas básicas que permiten simpli-ficar el diseño y la administración de las Políticas de Grupo. A continuación se exponen lasmás relevantes:

• Administración de GPOs. Un adecuado diseño de la administración y delegación deGPOs es crucial en empresas medianas y grandes, en las que generalmente los dominiosse encuentran muy jerarquizados en unidades organizativas. Este diseño debe realizarseen función de la organización y el reparto de labores administrativas que exista en la em-presa.

• Separar usuarios y equipos en unidades organizativas diferentes. Esta decisión de dise-ño simplifica la aplicación de GPOs, ya que al diseñarlas sólo hay que tener en cuenta laconfiguración de usuarios o de equipos. Por otra parte, este diseño facilita que las laboresde administrar equipos y administrar usuarios puedan repartirse entre grupos de admi-nistradores distintos. Finalmente, también es beneficioso respecto al tiempo dedicado aprocesar las políticas de grupo, puesto que pueden deshabilitarse las políticas (de equipoo de usuario) que no se hayan configurado.

• Organización homogénea de unidades organizativas. La organización de las unidadesorganizativas (primero geográfica y luego funcional, o al revés) debe partir de la organi-zación de la empresa y debe ser consistente con ella. Si se sobrediseña esta estructura, re-sultará más difícil aplicar correctamente las políticas de grupo a equipos y usuarios.

• Miniminzar los GPOs asociados a usuarios o equipos. El tiempo de inicio de un equipo

7.5.6. Otras políticas

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 95

Page 108: Administración de Sistemas 06 07

y el tiempo de inicio de sesión de un usuario se incrementan conforme más GPOs se apli-can a dicho equipo o usuario. Resulta por tanto más interesante intentar conseguir lasconfiguraciones adecuadas con el menor número posible de GPOs.

• Minimizar el uso de "No reemplazar" y de "Bloquear la herencia". Estas dos propieda-des de un GPO resultan interesantes en ciertos escenarios, aunque su abuso puede com-plicar mucho la comprensión por parte del administrador de qué políticas están afectan-do realmente a equipos y usuarios. Lógicamente, esto dificulta la capacidad del adminis-trador de resolver situaciones en las que el efecto de las políticas no es el desado.

• Evitar asignaciones de GPOs entre dominios. Aunque es técnicamente posible vinculara un contenedor de un dominio un GPO creado en otro dominio, esta práctica está desa-consejada. El motivo es que los GPOs están almacenados en sus dominios respectivos y alutilizarlos desde otros dominios, el tiempo para su proceso se incrementa.

• Utilizar el proceso Loopback sólo cuando sea necesario. Aunque esta opción queda fue-ra de los objetivos de este capítulo, se explicará brevemente a continuación. En algunasocasiones muy concretas, puede resultar conveniente para ciertos equipos en un dominioque sólo se apliquen las políticas de equipo que les afecten. En otras palabras, conseguirque nunca se apliquen las políticas de usuario, independientemente del usuario que inicieuna sesión local en dichos equipos. Esto puede conseguirse mediante la denominada Po-lítica de Grupo "de bucle inverso" o Loopback, que puede configurarse en la política Con-figuración del Equipo--Plantillas Administrativas--Sistema--Directivas de Grupo--Utilizar modo de proceso de bucleinverso de directivas de grupo.. Puesto que esta opción se aleja bastante delfuncionamiento normal de los GPOs, se recomienda limitarlo a las ocasiones en que seaestrictamente necesario.

7.6. Recomendaciones de uso

96 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 109: Administración de Sistemas 06 07

8Políticas de seguridad en

Linux

Indice8.1. Introducción .................................................................................................. 998.2. Uso de pam_script ......................................................................................... 99

97

Page 110: Administración de Sistemas 06 07
Page 111: Administración de Sistemas 06 07

8.1. IntroducciónLa posibilidad de aplicar políticas de seguridad de una forma centralizada en un dominio re-sulta de mucha utilidad para el administrador, ya que le permite controlar el comportamien-to, el entorno de trabajo y las restricciones de los usuarios en función de sus necesidades y/ode su posición en la organización.

Este capítulo expone cómo podemos implantar políticas de seguridad en dominios Linux,de forma análoga a las GPOs de Windows 2003, pero mediante una tecnología mucho mássimple. En concreto, se trata de un módulo de PAM denominado "pam_script"[http://freshmeat.net/projects/pam_script/] que permite ejecutar scripts escritos por el admi-nistrador cuando los usuarios inician o terminan una sesión de trabajo en el sistema. Tenien-do en cuenta la potencia que ofrecen de los lenguajes de scripting para la administración desistemas en Linux, es fácil imaginar el nivel de flexibilidad que esta solución plantea tantopara la configuración del entorno de trabajo inicial del usuario como para las acciones auto-máticas que deben ejecutarse cuando el usuario finaliza su sesión.

8.2. Uso de pam_scriptUna vez instalada en el sistema mediante el paquete RPM correspondiente, la bibliotecapam_script permite la ejecución automática de un script en tres momentos diferentes duran-te el proceso de inicio/fin de sesión de un usuario en el servicio de PAM que se desee (login,ssh, gdm, kdm, etc.):

1. Autenticación. Si dentro del fichero de configuración del servicio PAM establecemos es-te módulo en la sección auth, cada vez que un usuario se autentifique utilizando dichomódulo se ejecutará un script, cuya ubicación por defecto es /etc/security/onauth.

2. Inicio de sesión. Si dentro del fichero de configuración del servicio PAM establecemoseste módulo en la sección session, cada vez que un usuario inicie una sesión utilizan-do dicho módulo se ejecutará un script, cuya ubicación por defecto es /etc/security/onsessionopen.

3. Fin de sesión. Si dentro del fichero de configuración del servicio PAM establecemos estemódulo en la sección session, cada vez que un usuario cierre una sesión utilizando di-cho módulo se ejecutará un script, cuya ubicación por defecto es /etc/security/onsessionclose.

A modo de ejemplo, a continuación se muestra cómo debería quedar el fichero de confi-guración PAM del servicio gdm (pantalla de inicio en modo gráfico del gestor de ventanasGnome) para poder utilizar pam_script en los tres casos descritos arriba. Se ha elegido unservicio específico como gdm en lugar de system-auth porque éste último es invocado desdetodos los servicios que permiten conectarse al sistema (login, gdm, ssh, ftp, etc.) y de estamanera ilustramos que es posible asociar script de inicio con sólo alguna(s) forma(s) de ini-ciar sesión en el sistema. El fichero de configuración de este servicio se denomina /

8.1. Introducción

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 99

Page 112: Administración de Sistemas 06 07

etc/pam.d/gdm, y quedaría así:

#%PAM-1.0auth required pam_env.soauth required pam_stack.so service=system-authauth required pam_script.so expose=1 runas=rootauth required pam_nologin.so

account required pam_stack.so service=system-authpassword required pam_stack.so service=system-authsession required pam_stack.so service=system-authsession required pam_script.so expose=1 runas=rootsession optional pam_console.so

En principio, los scripts se ejecutan con los atributos de protección del usuario implicado,aunque se puede estableer que se ejecuten en el contexto de protección de otro usuario, me-diante la opción runas=usuario. En el caso de gdm de arriba, los tres scripts se ejecutaráncomo root.

Por otro lado, los scripts siempre reciben dos parámetros como argumentos: el primer ar-gumento es el nombre del usuario implicado en la autenticación/sesión, y el segundo argu-mento es el nombre del servicio para el que se está ejecutando el módulo PAM. Además,existe una variable de entorno denominada PAM_AUTHTOK que contiene la contraseña de di-cho usuario. Esto puede ser útil, por ejemplo, para realizar montajes de recursos SMB, querequieren de dicha contraseña. El valor de retorno del script es significativo: un valor igual acero se entiende como éxito mientras que un valor diferente se supone fallido. Si el móduloPAM es requerido, un módulo que falle supone que el proceso de autenticación o inicio desesión falla para el usuario. Por tanto, también se puede utilizar el script para realizar com-probaciones de cualquier tipo que permitan o impidan al usuario entrar al sistema.

A modo de ejemplo, a continuación se muestra un script simple, vinculado al módulo deautenticación (/etc/security/onauth), que crearía el directorio del usuario en el caso deque no existiera, y posteriormente montaría su directorio personal Windows dentro de dichodirectorio:

USER=$1SERVICE=$2

if [ ! -d /home/$USER ]then

mkdir /home/$USER 2>/dev/nullfind /etc/skel -name ".*" -exec cp -r \{\} /home/$USER/ \;chown -R $USER.g-$USER /home/$USER 2>/dev/null

fi

if [ ! -d /home/$USER/Personal ]then

mkdir /home/$USER/Personal 2>/dev/nullchown $USER.g-$USER /home/$USER/Personal 2>/dev/null

fi

mount -t cifs //dc01/$USER /home/$USER/Personal -o user=$USER, \password=$PAM_AUTHTOK,workgroup=ADMON,uid=$USER,gid=g-$USER 2>/dev/null

exit 0

Para completar la configuración, debería implementarse también el script de cierre de se-

8.2. Uso de pam_script

100 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 113: Administración de Sistemas 06 07

sión /etc/security/onsessionclose para desmontar el recurso SMB del directorio delusuario. El montaje de unidades SMB desde Linux se comenta en la Sección 9.7, “El sistemade ficheros CIFS para Linux”.

8.2. Uso de pam_script

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 101

Page 114: Administración de Sistemas 06 07
Page 115: Administración de Sistemas 06 07

9Configuración Básica de

Samba

Indice9.1. ¿Qué es Samba? ........................................................................................... 1059.2. El protocolo SMB ......................................................................................... 1069.3. Configuración de Samba .............................................................................. 1099.4. Niveles de seguridad ................................................................................... 1109.5. Configuración de Samba en el nivel domain .................................................. 1119.6. Tratamiento de los accesos como invitado ..................................................... 1129.7. El sistema de ficheros CIFS para Linux .......................................................... 1139.8. Opciones del servidor Samba ........................................................................ 1149.9. Opciones del recurso .................................................................................... 115

103

Page 116: Administración de Sistemas 06 07
Page 117: Administración de Sistemas 06 07

9.1. ¿Qué es Samba?Samba es un producto que se distribuye gratuitamente para varias versiones de UNIX(R), deacuerdo con los términos de la General Public License de GNU, y que básicamente permite alsistema UNIX conversar con sistemas Windows a través de la red de forma nativa. De estaforma, el sistema UNIX aparece en el "Entorno de red", y clientes Windows pueden acceder asus recursos de red e impresoras compartidas como si de otro sistema Windows se tratase.Para ello, Samba implementa los protocolos NetBIOS y SMB. NetBIOS es un protocolo de ni-vel de sesión que permite establecer sesiones entre dos ordenadores. SMB (Server MessageBlock), implementado sobre NetBIOS, es el protocolo que permite a los sistemas Windowscompartir ficheros e impresoras.

Esencialmente, Samba consiste en dos programas, denominados smbd y nmbd. Ambosprogramas utilizan el protocolo NetBIOS para acceder a la red, con lo cual pueden conversarcon ordenadores Windows. Haciendo uso de estos dos programas, Samba ofrece los siguien-tes servicios, todos ellos iguales a los ofrecidos por los sistemas Windows:

• Servicios de acceso remoto a ficheros e impresoras.• Autenticación y autorización.• Resolución de nombres.• Anuncio de servicios.

El programa smbd se encarga de ofrecer los servicios de acceso remoto a ficheros e im-presoras (implementando para ello el protocolo SMB), así como de autenticar y autorizarusuarios. smbd ofrece los dos modos de compartición de recursos existentes en Windows,basado en usuarios o basado en recursos. En el modo basado en usuarios (propio de los do-minios Windows) la autorización de acceso al recurso se realiza en función de nombres deusuarios registrados en un dominio, mientras que en el modo basado en recursos (propio deWindows 3.11/95) a cada recurso se le asigna una contraseña, estando autorizado el accesoen función del conocimiento de dicha contraseña.

El programa nmbd permite que el sistema UNIX participe en los mecanismos de resolu-ción de nombres propios de Windows, lo cual incluye el anuncio en el grupo de trabajo, lagestión de la lista de ordenadores del grupo de trabajo, la contestación a peticiones de reso-lución de nombres y el anuncio de los recursos compartidos. De esta forma, el sistema UNIXaparece en el "Entorno de Red", como cualquier otro sistema Windows, publicando la listade recursos que ofrece al resto de la red.

Adicionalmente a los dos programas anteriores, Samba ofrece varias utilidades. Algunasde las más relevantes son las siguientes:

• smbclient. Una interfaz similar a la utilidad ftp, que permite a un usuario de un sistemaUNIX conectarse a recursos SMB y listar, transferir y enviar ficheros.

• swat (Samba Web Administration Tool). Esta utilidad permite configurar Samba de for-ma local o remota utilizando un navegador de web.

9.1. ¿Qué es Samba?

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 105

Page 118: Administración de Sistemas 06 07

• smbfs Sistema de ficheros SMB para Linux. Linux puede montar recursos SMB en su je-rarquía, al igual que sucede con directorios compartidos vía NFS.

• winbind. Permite integrar un servidor Samba en un dominio Windows sin necesidad decrear usuarios UNIX en el servidor Samba que correspondan con los usuarios del domi-nio Windows, simplificando así la labor de administración.

9.2. El protocolo SMBPuesto que Samba es, fundamentalmente, una implementación para UNIX del protocoloSMB, quizás la mejor forma de entender Samba es comenzar por describir SMB con un pocomás de detalle. Esta sección realiza una pequeña revisión de este protocolo.

SMB es un protocolo de comunicación de alto nivel que puede implementarse sobre di-versos protocolos como TCP/IP, NetBEUI y IPX/SPX, tal como muestra la Figura 9.1,“Protocolos sobre los que puede implementarse SMB.”, junto con la ubicación de dichos pro-tocolos en los niveles OSI y en la pila TCP/IP. Entre todas esas alternativas, tanto en el casode Samba como de Windows 2000/XP, SMB se implementa habitualmente encima de Net-BIOS sobre TCP/IP (esta alternativa se ha convertido en el estándar de facto para compartirrecursos entre sistemas Windows). Sin embargo, no incidiremos más en los protocolos quesoportan SMB o en su implementación, puesto que todo ello queda fuera del contexto de estetema.

Figura 9.1. Protocolos sobre los que puede implementarse SMB.

Históricamente, este protocolo fue desarrollado inicialmente por IBM como el IBM PCNetwork SMB Protocol o Core Protocol a principios de los años 80. Desde entonces, diversos fa-bricantes (especialmente Microsoft) han ido ampliando su funcionalidad progresivamente,creando diferentes variantes (versiones) de SMB. Desafortunadamente, en ocasiones el cam-bio de versión ha conllevado el rebautizar el propio protocolo. En este sentido, SMB ha reci-bido, entre otros, los siguientes nombres: Core Protocol, DOS Lan Manager, LAN Manager,NTLM (NT Lan Manager), y en los últimos años, CIFS (Common Internet File System). Todos

9.2. El protocolo SMB

106 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 119: Administración de Sistemas 06 07

ellos, por tanto, hacen referencia a SMB, aunque se diferencien en algunos detalles de su fun-cionalidad y/o implementación.

Si nos fijamos en su interfaz, SMB es un protocolo de tipo cliente/servidor, donde el orde-nador "servidor" ofrece recursos (archivos, impresoras, etc.) que pueden ser utilizados remo-tamente por los ordenadores "cliente" a través de la red. Asimismo, es un protocolo de losdenominados petición/respuesta, indicando que las comunicaciones se inician siempre desdeel cliente como una petición de servicio al servidor (dicha petición se denomina precisamen-te SMB), que la procesa y retorna una respuesta a dicho cliente. (En realidad, existe un casoen que el servidor envía un mensaje al cliente sin haber recibido una petición de éste, pero ladiscusión del protocolo a ese nivel queda fuera del ámbito de este texto). La respuesta delservidor puede ser positiva (con el resultado de procesar la petición del cliente) o negativa(mensaje de error), en función del tipo de petición, la disponibilidad del recurso, el nivel deacceso (permisos) del cliente, etc.

El siguiente aspecto relevante de SMB es saber qué mecanismos de autentificación sopor-ta este protocolo para controlar el acceso del cliente a los recursos compartidos. En concreto,SMB soporta dos modos de autentificación alternativos, denominados share y user:

• Cuando compartimos un recurso en modo share, la protección de dicho recurso recae enuna contraseña que asociamos al mismo, de forma que cualquier usuario de un sistemacliente remoto que conozca dicha palabra de paso podrá acceder sin mayores restriccio-nes al recurso (este es el mecanismo de autentificación por defecto en las implemementa-ciones de SMB para Windows 9X, por ejemplo).

• Sin embargo, en modo user, el servidor recibe inicialmente del sistema cliente unas cre-denciales de usuario (nombre, dominio y contraseña), que debe autentificar para autori-zar el acceso al recurso. Concretamente, si el dominio de las credenciales es conocido, laautentificación se delega a algún controlador de dicho dominio; y en caso contrario, elusuario y la contraseña se autentifican contra la base de datos local del equipo servidor.En cualquier caso, en modo user, el control de acceso sobre el recurso se realiza en fun-ción de qué permisos posee sobre dicho recurso el usuario cuyas credenciales se han en-viado desde el cliente. En otras palabras, una vez el sistema servidor ha identificado y au-tentificado al usuario que desea conectarse al recurso, este sistema dispone ya de un SIDválido con el que puede contrastar los permisos que dicho SID posee sobre el recurso. Esconveniente recordar en este punto que si el recurso en cuestión es una carpeta comparti-da, se tienen en cuenta tanto los permisos del recurso, como los permisos NTFS de la car-peta y sus archivos. El modo user es el mecanismo de autentificación por defecto en lasversiones de SMB de sistemas Windows NT y posteriores.

Finalmente, revisaremos brevemente el funcionamiento interno del protocolo SMB, utili-zando para ello un ejemplo concreto. Supongamos que un sistema cliente desea acceder auna carpeta compartida que exporta el servidor (en modo user). En este escenario, se produ-ciría el siguiente intercambio de mensajes entre ellos:

1. Petición: Sesión NetBIOS. El objetivo de este mensaje es establecer una sesión fiable pa-ra subsiguientes mensajes entre los ordenadores cliente y servidor. Es imprescindible

9.2. El protocolo SMB

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 107

Page 120: Administración de Sistemas 06 07

que el cliente conozca el nombre NetBIOS del servidor para poder alcanzarlo; el nombreNetBIOS del cliente es parte del mensaje, por lo que ambos saben quién es el otro.

2. Respuesta: Sesión NetBIOS. Si no hay error en el mensaje anterior, el servidor envía unmensaje de reconocimiento (ACK), aceptando la conexión.

3. Petición: Dialecto SMB. El cliente envía en este mensaje una lista con los dialectos o va-riantes de SMB que soporta, puesto que es habitual que un sistema Windows soportevarias versiones de SMB simultáneamente.

4. Respuesta: Dialecto SMB. El servidor contesta con el dialecto que prefiere para la co-municación subsiguiente, o un código de error si no soporta ninguna de las alternativasofrecidas por el cliente.

5. Petición: Inicio de sesión. El cliente envía las credenciales de usuario (usuario, dominio,contraseña) con las que éste desea conectarse al servidor. Recuérdese que por defecto, seemplean las credenciales con las que el usuario se conectó interactivamente al sistemacliente, pero se pueden especificar otras explícitamente.

6. Respuesta: Inicio de sesión. El servidor autentifica las credenciales de usuario (ver mo-do user descrito arriba). Si las credenciales son buenas, el servidor posee ya un SID váli-do que le permite, antes que nada, comprobar si el usuario posee el derecho de conectar-se al servidor (directiva "tener acceso a este equipo desde la red"). En caso afirmativo, seacepta la conexión y el servidor construye un identificador numérico particular para esaconexión (denominado User ID o UID) que devuelve al cliente. Los UIDs pueden serreutilizados durante la vida del sistema, pero son únicos para todas las conexiones si-multáneas que mantiene el servidor en un momento dado, por lo que identifican unívo-camente una conexión (aceptada). Todos los mensajes posteriores del cliente deben con-tener este identificador para ser aceptados por el servidor.

Por otro lado, si las credenciales estaban mal (o si los derechos eran insuficientes), elservidor envía un código de error en lugar del UID.

7. Petición: Conexión a un recurso concreto. El cliente envía entonces un mensaje quecontiene una cadena que identifica el recurso al que desea acceder (por ejemplo,\\pc01\impresora o \\pc01\carpeta).

8. Respuesta: Conexión a un recurso concreto. Si el recurso solicitado por el cliente existe(y el SID asociado a la conexión posee suficientes permisos), el servidor construye unidentificador denominado Tree ID o TID, que será utilizado por el cliente para hacer re-ferencia a dicho recurso en posteriores mensajes de esa conexión.

Tras esta secuencia típica de conexión al recurso (carpeta compartida), y si todo ha fun-cionado correctamente, el sistema cliente ya está en condiciones de acceder a la carpeta. Me-diante el envío de los SMBs correspondientes, el cliente ya puede abrir archivos, leerlos, mo-dificarlos, etc., utilizando siempre los identificadores (UID y TID) que el servidor ha cons-truido durante el intercambio de mensajes inicial.

9.3. Configuración de Samba

108 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 121: Administración de Sistemas 06 07

9.3. Configuración de SambaLa configuración de Samba se realiza en el fichero /etc/samba/smb.conf. En este ficherose establecen las características del servidor Samba, así como los recursos que serán compar-tidos en la red. La utilización de este fichero es bastante sencilla, ya que aunque existe ungran número de opciones, muchas de ellas pueden obviarse dado que siempre existe una va-lor por defecto para cada opción, que suele ser apropiado. A título de ejemplo, a continua-ción se muestra un fichero de configuración simple, que exporta el directorio de conexión decada usuario como un recurso de red distinto, y el directorio /espacio/pub como el recur-so de red pub:

[global][homes]

comment = Home Directories[pub]

path = /espacio/pub

Como se ve en el ejemplo, el fichero /etc/samba/smb.conf se encuentra divido en sec-ciones, encabezados por una palabra entre corchetes. Dentro de cada sección figuran opcio-nes de configuración, de la forma etiqueta = valor, que determinan las característicasdel recurso exportado por la sección. Al final del capítulo (Sección 9.8, “Opciones del servi-dor Samba” y Sección 9.9, “Opciones del recurso”) del presente documento se citan las op-ciones más importantes que se pueden establecer en cada sección.

Existen tres secciones predefinidas, denominadas global, homes y printers, y tantassecciones adicionales como recursos extra se quieran compartir. El cometido de dichas sec-ciones predefinidas se describe brevemente a continuación:

[global] Define los parámetros de Samba a nivel global del servidor, así como losparámetros que se establecerán por defecto en el resto de las secciones.

[homes] Define automáticamente un recurso de red por cada usuario conocidopor Samba. Este recurso, por defecto, está asociado al directorio de cone-xión de cada usuario en el ordenador en el que Samba está instalado.

[printers] Define un recurso compartido por cada nombre de impresora conocidapor Samba.

Para cualquier otro recurso (directorio o impresora) que se quiera compartir hay que defi-nir una sección adicional en el fichero de configuración. El encabezamiento de dicha sección(pub en el ejemplo anterior) corresponderá al nombre que el recurso tendrá en la red.

Por otra parte, Samba ofrece una interfaz de edición de este fichero basada en web deno-minada swat. Esta herramienta permite configurar Samba utilizando un navegador de red,tanto de forma local como remota. Para ello, basta con acceder a la direciónhttp://nombre_de_ordenador_samba:901/ mediante cualquier navegador.

9.4. Niveles de seguridad

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 109

Page 122: Administración de Sistemas 06 07

9.4. Niveles de seguridadUna de las consideraciones más importantes a la hora de configurar Samba es la seleccióndel nivel de seguridad.

Desde la perspectiva de un cliente, Samba ofrece dos modos de seguridad, denominadosshare y user, emulando exactamente las dos opciones de SMB que veíamos en la Sección 9.2,“El protocolo SMB”:

1. Modo Share. En modo share, cada vez que un cliente quiere utilizar un recurso ofrecidopor Samba, debe suministrar una contraseña de acceso asociada a dicho recurso.

2. Modo User. En modo user, el cliente debe establecer en primer lugar una sesión con elservidor Samba, para lo cual le suministra un nombre de usuario y una contraseña. Unavez Samba valida al usuario, el cliente obtiene permiso para acceder a los recursos ofre-cidos por Samba.

En cualquiera de ambos, Samba tiene que asociar un usuario del sistema UNIX en el quese ejecuta Samba con la conexión realizada por el cliente. Este usuario es el utilizado a la ho-ra de comprobar los permisos de acceso a los ficheros y directorios que el sistema UNIX/Samba comparte en la red.

La selección del nivel de seguridad se realiza con la opción security, la cual pertenece ala sección [global]. Sus alternativas son las siguientes:

security = share | user | server | domain

Desde la perspectiva del cliente, el nivel share corresponde al modo de seguridad sharey los niveles user, server y domain corresponden todos ellos al modo de seguridad user.A continuación se describen someramente los cuatro niveles.

El nivel share es utilizado normalmente en entornos en los cuales no existe un dominioWindows. En este caso, se asocia una contraseña por cada recurso, que debe proporcionarsecorrectamente desde el cliente cuando se pide la conexión.

En el nivel user, el encargado de validar al usuario es el sistema UNIX donde Samba seejecuta. La validación es idéntica a la que se realizaría si el usuario iniciase una sesión localen el ordenador UNIX. Para que este método sea aplicable, es necesario que existan los mis-mos usuarios y con idénticas contraseñas en los sistemas Windows y en el sistema UNIXdonde Samba se ejecuta.

Desde la aparición de sistemas Windows como Windows 98, Windows NT 4.0 (a partirdel Service Pack 3), Windows 2000 y posteriores, la utilización de este nivel se ha vuelto com-plicada, ya que dichos sistemas Windows transmiten las contraseñas cifradas por la red.Puesto que Samba no posee acceso a las contraseñas cifradas por Windows, el sistema UNIXya no puede realizar la validación. Existen dos métodos para resolver este problema. El pri-mero consiste en modificar el registro del sistema Windows para permitir la transferencia decontraseñas sin cifrar por la red. El segundo método obliga a utilizar una tabla de contrase-

9.4. Niveles de seguridad

110 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 123: Administración de Sistemas 06 07

ñas adicional en el sistema UNIX, en la cual se almacenan las contraseñas cifradas de losusuarios Windows.

En el nivel server, Samba delega la validación del usuario en otro ordenador, normal-mente un sistema Windows. Cuando un cliente intenta iniciar una sesión con Samba, éste úl-timo intenta iniciar una sesión en el ordenador en el cual ha delegado la validación con lamisma acreditación (usuario+contraseña) recibidos del cliente. Si la sesión realizada porSamba es satisfactoria, entonces la solicitud del cliente es aceptada. Este método aporta laventaja de no necesitar que las contraseñas se mantengan sincronizadas entre los sistemasWindows y UNIX, ya que la contraseña UNIX no es utilizada en el proceso de validación.Adicionalmente, no hay inconveniente en utilizar contraseñas cifradas, ya que la validaciónla realiza un sistema Windows.

Por último, existe la posibilidad de utilizar el nivel domain. Este nivel es similar al nivelserver, aunque en este caso el ordenador en el que se delega la validación debe ser un DC,o una lista de DCs. La ventaja de este método estriba en que el ordenador Samba pasa a serun verdadero miembro del dominio Windows, lo que implica, por ejemplo, que puedan uti-lizarse las relaciones de confianza en las que participa el dominio Windows. Esto significa,en pocas palabras, que usuarios pertenecientes a otros dominios en los que los DCs confíanson conocidos por Samba.

Dadas las ventajas del nivel domain, este documento se centra fundamentalmente en estemétodo. Para detalles específicos de los otros niveles, se recomienda la consulta de la docu-mentación original de Samba.

9.5. Configuración de Samba en el nivel domainLos pasos a seguir para configurar Samba con el nivel de seguridad domain son los siguien-tes:

1. Desde alguno de los DCs del dominio, dar de alta el sistema UNIX donde se ejecutaSamba en el dominio (si en dicho dominio ya existía una cuenta de máquina con el mis-mo nombre, hay que borrar dicha cuenta y volver a crearla).

2. Detener el servidor Samba. Para ello:

bash# service smb stop

3. Utilizando swat, o editando manualmente el fichero de configuración /etc/samba/smb.conf, configurar Samba en modo domain. En concreto, en la sección[global] hay que establecer las siguientes opciones:

security = domainworkgroup = DOMINIOencrypt passwords = yespassword server = DC1_DEL_DOMINIO, DC2_DEL_DOMINIO, ...

En esta configuración, la última línea hace referencia a los ordenadores que realiza-

9.5. Configuración de Samba en el nivel domain

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 111

Page 124: Administración de Sistemas 06 07

rán la autenticación de los usuarios. Esta línea se puede simplificar, y sustituir por:password server = *

4. Agregar el sistema UNIX al dominio:

bash# net rpc join member -U administrador -W "DOMINIO" -S "DC"

5. Iniciar el servidor Samba:

bash# service smb start

9.6. Tratamiento de los accesos como invitadoCuando se utiliza el nivel de seguridad domain, el tratamiento de los accesos como usuarioinvitado requiere algunas consideraciones. En particular, hay que tener en cuenta tres facto-res:

1. Si el usuario que accede ha sido acreditado por el dominio Windows al cual pertenece elservidor Samba.

2. Si el usuario que accede existe, como usuario UNIX, en el servidor Samba.

3. El valor que tenga actualmente asignado la opción global de Samba map to guest.

La Tabla 9.1, “Resumen de los accesos como invitado en modo "domain"” a continuaciónindica, en función de los tres factores anteriores, si Samba permite o no el acceso y, en casode permitirlo, si al usuario que accede se le considera como él mismo o como invitado.

Tabla 9.1. Resumen de los accesos como invitado en modo "domain"

MAP TO GUEST = NEVER

En Windows...

En Samba... Acreditado No acreditado

Existe Mismo usuario No permitido

No Existe No permitido No permitido

MAP TO GUEST = BAD USER

En Windows...

En Samba... Acreditado No acreditado

Existe Mismo usuario No permitido

No Existe Invitado Invitado

9.6. Tratamiento de los accesos como invitado

112 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 125: Administración de Sistemas 06 07

MAP TO GUEST = BAD PASSWORD

En Windows...

En Samba... Acreditado No acreditado

Existe Mismo usuario Invitado

No Existe Invitado Invitado

En cualquier caso, para que el usuario "invitado" pueda acceder a un recurso compartido,este acceso tiene que permitirse expresamente para el recurso con la opción guest ok (cuyovalor por defecto es no).

9.7. El sistema de ficheros CIFS para LinuxLinux dispone de soporte para montar recursos SMB. En concreto, los sistemas Linux actua-les son capaces de montar recursos compatibles con la nueva especificación del protocoloSMB, denominada CIFS (Common Internet File System). De esta forma, Linux, al igual quepuede montar en un directorio local un directorio exportado vía NFS, puede montar un re-curso SMB/CIFS ofrecido por un servidor SMB (un sistema Windows o un servidor Samba,por ejemplo).

No obstante, existe una diferencia significativa entre NFS y CIFS. En NFS no se requiereautenticar al usuario que realiza la conexión; el servidor NFS utiliza el UID del usuario delordenador cliente para acceder a los ficheros y directorios exportados. Un servidor SMB, porcontra, requiere autenticar al usuario, para lo que necesita un nombre de usuario y una con-traseña. Por ello, para montar un recurso SMB/CIFS se utiliza el mandato mount indicándoleun tipo de sistema de archivos específico, denominado cifs:

bash# mount -t cifs -o user=USUARIO,password=CONTRASEÑA,domain=DOMINIO//ORDENADOR/RECURSO /PUNTO/DE/MONTAJE

Si se omite la opción password, el sistema solicita al usuario que introduzca una contra-seña. Si el servidor SMB valida al usuario, a partir del directorio /PUNTO/DE/MONTAJE seconsigue el acceso al recurso //ORDENADOR/RECURSO.

Como de costumbre en los montajes de sistemas de archivos, podemos optar por registrarel montaje en el fichero /etc/fstab. Sin embargo, dicho registro presenta un problema enel caso del sistema de archivos cifs, puesto que el montaje siempre supone la petición deuna contraseña, bien escrita en las opciones de montaje, bien solicitada por teclado en el mo-mento de realizar dicho montaje. Obviamente, esto dificulta el montaje automático en tiem-po de inicio, a menos que escribamos la contraseña en el fichero fstab, lo cual no resultamuy buena idea por motivos de seguridad (dicho archivo puede ser leido por cualquierusuario). La alternativa consiste en utilizar un fichero de credenciales (opción de montajecredentials=FICHERO), donde escribimos el nombre del usuario y su contraseña. A pesarde que la contraseña en dicho fichero también se escribe en texto plano, resulta suficienteque dicho fichero pueda ser leído por el usuario que realiza el montaje (por ejemplo, root, sies un montaje automático durante el inicio), lo cual permite un nivel de seguridad un pocomayor. Se recomienda consultar la página de manual mount.cifs(8) para obtener detalles

9.7. El sistema de ficheros CIFS para Linux

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 113

Page 126: Administración de Sistemas 06 07

sobre esta opción.

A continuación se muestra una tabla con las principales opciones de montaje del sistemade archivos CIFS:

Tabla 9.2. Opciones de montaje del sistema de archivos CIFS

Opción Descripción

user Usuario con el que se realiza la conexión al ordenadorremoto

password Contraseña del usuario

domain Dominio al que pertenece el usuario

uid Nombre del usuario linux que será el propietario del di-rectorio donde se ha montado el recurso de red

gid Nombre del grupo linux que será el grupo propietariodel directorio donde se ha montado el recurso de red

dir_mode Bits de premiso de los directorios

file_mode Bits de permiso de los ficheros

9.8. Opciones del servidor SambaEn la Tabla 9.3, “Principales opciones de la sección [global] de Samba” se describen algunasopciones del servidor Samba. Estas opciones tan sólo son aplicables a la sección [global].

Tabla 9.3. Principales opciones de la sección [global] de Samba

Opción Significado Valor por defecto

netbios name Nombre (NetBIOS) del ordenador Samba. Primer componente delnombre DNS del ordena-dor.

workgroup Nombre del dominio (o grupo de trabajo) alque pertenece Samba.

nulo

security Nivel de seguridad (share, user, ser-ver, domain).

user

encrypt passwords Utilizar contraseñas cifradas de Windows (enmodo domain, sí deben utilizarse).

no

password server Ordenador Windows utilizado para la autenti-ficación. En modo domain, debe ser una lis-ta de los DCs del dominio.

nulo

map to guest Establece en qué condiciones un acceso aSamba debe considerarse en modo invitado(en el nivel domain, este parámetro afectasólo cuando el acceso no ha sido acreditadopor el DC del dominio).

never

log level Nivel de detalle en la auditoría de Samba. Esun número que indica la cantidad de infor-mación a auditar. A mayor valor, más canti-dad de información.

Se establece en el scriptque inicia el servicio Sam-ba.

9.8. Opciones del servidor Samba

114 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 127: Administración de Sistemas 06 07

Opción Significado Valor por defecto

log file Nombre del fichero donde se almacenanmensajes de auditoría de Samba.

Se establece en el scriptque inicia el servicio Sam-ba.

9.9. Opciones del recursoEn la Tabla 9.4, “Principales opciones de los recursos en Samba” se describen algunas opcio-nes aplicables a cada recurso compartido. Pueden establecerse también en la sección global,siendo en este caso utilizadas como valores por defecto para cada recurso compartido.

Tabla 9.4. Principales opciones de los recursos en Samba

Opción Significado Valor por defecto

read only ({yes/no}) Recurso exportado como sólo lectura. yes

browseable({yes/no})

El servicio aparece en la lista de recursoscompartidos al explorar el ordenador Sambadesde el Entorno de Red Windows.

yes

path Ruta absoluta al directorio compartido por elrecurso.

nulo

comment Descripción del servicio (cadena de caracte-res).

nulo

guest ok ({yes/no}) Permitir accesos como invitado al recurso. no

guest account Si un acceso se realiza como invitado, se uti-liza el usuario indicado para representar laconexión.

nobody

guest only({yes/no})

Todos los accesos se aceptan en modo invi-tado.

no

copy Duplica otro recurso existente. nulo

force user Los accesos al recurso se realizan como siel usuario que accede es el usuario indicado.

nulo (se utiliza el mismousuario que ha realizado laconexión).

force group Los accesos al recurso se realizan como siel usuario que accede pertenece al grupo in-dicado.

nulo (se utiliza el grupo pri-mario del usuario que harealizado la conexión).

hosts allow Lista ordenadores desde los que se permiteacceder al recurso

lista vacía (i.e., todos losordenadores).

hosts deny Lista ordenadores desde los que no se per-mite acceder al recurso. En caso de conflic-to, prevalece lo indicado en hosts allow.

lista vacía (ningún ordena-dor).

valid users Lista de usuarios que pueden acceder al re-curso.

lista vacía (i.e., todos losusuarios).

follow symlinks({yes/no})

Permitir el seguimiento de los enlaces sim-bólicos que contenga el recurso.

yes.

inherit permissions({yes/no})

Al crear ficheros y subdirectorios nuevos, es-tos heredan los permisos UNIX de la carpetadonde se crean.

no.

9.9. Opciones del recurso

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 115

Page 128: Administración de Sistemas 06 07
Page 129: Administración de Sistemas 06 07

10Integración de dominios

mediante servidoresWindows Server 2003

Indice10.1. Introducción .............................................................................................. 11910.2. Aspectos básicos a considerar ..................................................................... 11910.3. Modificaciones del Directorio Activo ........................................................... 12010.4. Autentificación en los clientes Linux ............................................................ 122

10.4.1. Linux como cliente de OpenLDAP .................................................... 12210.4.2. Linux como cliente del Directorio Activo ........................................... 124

117

Page 130: Administración de Sistemas 06 07
Page 131: Administración de Sistemas 06 07

10.1. IntroducciónCuando una organización posee múltiples ordenadores en los que hay instalado el mismosistema operativo, la opción de administración más adecuada suele ser la creación de un do-minio o conjunto lógico de sistemas que admite gestionarse de forma centralizada, típica-mente mediante un esquema cliente/servidor. Para ello, es imprescindible que en dicho siste-ma operativo exista alguna tecnología que permita esa centralización de aspectos comocuentas de usuarios/grupos, autentificación, políticas de seguridad, etc. En la actualidad,tanto en el caso de Windows Server 2003 como el de Linux, esta tecnología existe y está basa-da en un servicio de directorio compatible con el estándar LDAP.

Sin embargo, es cada vez más habitual que las organizaciones posean simultáenamentesistemas de diferentes tipos. En este tipo de escenarios, la opción más sencilla (y a menudo laúnica posible) consiste en gestionar los sistemas de cada tipo de forma independiente, utili-zando las herramientas administrativas que cada fabricante proporciona. En el caso más fa-vorable, podemos crear un dominio que integre los sistemas de cada tipo (un dominio de sis-temas Linux, un dominio de sistemas Windows (NT, 2000, 2004, XP), etc.), de forma que lagestión está centralizada en cada dominio. Pero obviamente, eso aún supone la repetición deacciones de administración en cada dominio: creación de los mismos usuarios y grupos, con-figuración de permisos y políticas de seguridad, administración de recursos compartidos en-tre sistemas, etc.

Es evidente que la opción más coherente en este tipo de entornos mixtos sería la creaciónde un dominio heterogéneo (o multi-plataforma), que agrupara todos los sistemas de la organiza-ción en una única administración centralizada. Lamentablemente, esta alternativa no es sen-cilla, ya que los diferentes fabricantes de sistemas no suelen diseñarlos para que sean compa-tibles entre sí. Incluso en el caso de sistemas que basan sus tecnologías en estándares (comohemos dicho, Windows Server 2003 y Linux implementan sus dominios mediante LDAP),esta integración no resulta trivial. Ello es debido fundamentalmente a diferencias de diseñoentre los sistemas y a que normalmente ningún sistema implementa los estándares de formacompleta y correcta hasta el último detalle.

Este capítulo se centra en cómo conseguir un dominio heterogéneo de sistemas Windowsy Linux mediante una gestión centralizada en servidores Windows Server 2003 (o más co-rrectamente, controladores de dominio). En concreto, se pretende abordar la labor fundamentalen la integración de sistemas: la centralización de usuarios (y grupos) de ambos sistemas enuna única base de datos, en este caso el Directorio Activo de Windows Server 2003.

10.2. Aspectos básicos a considerarGlobalmente, lo que se pretende conseguir es centralizar la administración de cuentas deusuario y grupo mediante un dominio Windows 2003 de tal forma que sistemas Linux pue-dan ser clientes de dicho dominio igual que si fueran sistemas Windows miembros del domi-nio. El resultado final de la configuración será una única base de datos de usuarios/gruposalmacenada en el Directorio Activo de Windows y la posibilidad de que dichos usuariospuedan iniciar una sesión en cualquiera de los sistemas cliente (Windows o Linux), sin nece-sitar cuentas de usuario locales en ese sistema.

10.1. Introducción

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 119

Page 132: Administración de Sistemas 06 07

Para el caso de clientes Linux, este objetivo global supone realizar ciertas configuracionestanto en el servicio de directorio Windows como en los sistemas Linux:

A. En el Directorio Activo. Si este servicio va a actuar como base de información adminis-trativa para los sistemas Linux, es necesario modificar dicho directorio para que se al-macene la información que Linux necesita para cada usuario y cada grupo (incluyendoel UID, GID, directorio de conexión o home, shell inicial, etc.).

B. En los clientes Linux. Las modificaciones a realizar permitirán, por un lado, que los sis-temas Linux puedan acceder al Directorio Activo de los controladores Windows paraconsultar las listas de usuarios y grupos del dominio; y por otro lado, que los sistemasLinux sean capaces de autentificar los inicios de sesión de dichos usuarios contra losDCs Windows.

Las dos siguientes secciones se centran en discutir las configuraciones exactas que hayque realizar en ambos tipos de sistemas.

10.3. Modificaciones del Directorio ActivoPara conseguir que un sistema Linux vea como cuentas de usuario los usuarios globales defi-nidos en el Directorio Activo, es imprescindible conseguir que la definición de un usuarioglobal Windows incluya los atributos que definen a un usuario en Linux. Y exactamenteigual ocurre con las cuentas de grupo. En concreto, los sistemas Linux necesitan, al menos, lossiguientes atributos:

1. Para cada usuario:

• Un nombre de usuario (login name).

• Una contraseña (cifrada).

• Un identificador numérico de usuario (UID).

• Un identificador numérico de grupo primario (GID).

• Un directorio de conexión inicial (home).

• Un programa de atención al usuario (shell).

2. Para cada grupo:

• Un nombre de grupo.

• Un identificador numérico de grupo (GID).

10.3. Modificaciones del Directorio Activo

120 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 133: Administración de Sistemas 06 07

• Una lista de los nombres de usuario que pertenecen a ese grupo.

Como es lógico, algunos de los atributos que el Directorio Activo almacena por defectopara un usuario y grupo "Windows" pueden servir también para el caso de clientes Linux (esel caso del nombre del usuario o del grupo y de la contraseña). Sin embargo, hay atributoscomo el UID, GID, directorio home, etc., que no existen en el Directorio Activo simplementeporque Windows no los utiliza. Por ello, si queremos ofrecérselos a los clientes Linux, necesi-taremos incorporarlos primero al Directorio Activo. Esto puede conseguirse mediante la mo-dificación del esquema del directorio. Una vez añadidos los nuevos atributos a los objetos detipo usuario y grupo, ya pueden crearse cuentas que contengan todos los datos necesariospara clientes tanto Windows como Linux.

Hasta la primera versión de Windows Sever 2003, existían dos formas de realizar la mo-dificación del esquema del Directorio Activo para añadir los "atributos UNIX" a los objetosde tipo usuario y grupo: un parche de libre distribución denominado MKS AD4Unix y unasuite de utilidades de Microsoft denominadas genéricamente Windows Services for UNIX (oSFU). En el primer caso, el parche realizaba la modificación del esquema y de la herramientaUsuarios y Equipos de Active Directory para incluir dichos atributos UNIX. En el caso de lasSFU, además, se incluía un conjunto de servicios tales como cliente y servidor de NIS, NFS yTelnet, varios shells, utilidades comunes en UNIX, etc.

A partir de Windows Server 2003 R2, las SFU vienen de serie en el sistema en lugar de enun paquete aparte. Por tanto, no resulta necesario modificar el esquema del Directorio Acti-vo para disponer de los atributos UNIX. Sin embargo, para poder acceder a esta funcionali-dad, sí es necesario instalar el "servidor NIS", que incluye la pestaña "Atributos UNIX" parausuarios y grupos en la herramienta Usuarios y Equipos de Active Directory. Esto se realizainstalando un componente de Windows (desde el Panel de Control) denominado "IdentityManagement for UNIX" dentro de los "Servicios de Active Directory". En la Figura 10.1,“Pestaña de atributos UNIX en Usuarios y Equipos de Active Directory.” se muestran loselementos de esta pestaña. Para poder acceder a los atributos es necesario seleccionar el "do-minio NIS" (que coincide por defecto con el nombre NetBIOS del dominio), y ya se está encondiciones de rellenar el resto de los atributos del usuario: UID, shell, directorio home y gru-po primario (GID).

10.3. Modificaciones del Directorio Activo

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 121

Page 134: Administración de Sistemas 06 07

Figura 10.1. Pestaña de atributos UNIX en Usuarios y Equipos de Active Directory.

Como puede verse en la figura, la elección del grupo no es un número o identificador quepueda teclearse, sino un desplegable de los grupos para los que previamente hemos activadosus atributos UNIX. Esto obliga a activar primero los atributos UNIX de los grupos (que que-ramos sean visibles desde UNIX) y luego hacer lo propio con los usuarios. A este respecto, esimportante destacar que en el Directorio Activo existe una limitación que impide a un grupollamarse igual que un usuario en el mismo dominio (aunque residan en unidades organizati-vas distintas). Esto dificulta la implementación de la estrategia de grupos privados que man-tienen los sistemas Linux basados en RedHat (en el ejemplo, el grupo primario del usuario"andres" se ha denominado "g-andres" por este motivo).

10.4. Autentificación en los clientes LinuxEn la Sección 4.8, “Autenticación basada en OpenLDAP” se explica cómo es posible configu-rar un sistema Linux como cliente LDAP. Esta sección recuerda los princpales conceptos re-lacionados e introduce las peculiaridades que aparecen cuando el sistema Linux debe sercliente de un servidor LDAP Windows (es decir, de un servicio de Directorio Activo).

10.4.1. Linux como cliente de OpenLDAP

En general, Linux separa el acceso interno a las cuentas de usuario/grupo y la autentificaciónde usuarios en dos bibliotecas diferentes, denominadas respectivamente NSS y PAM . En am-bos casos, estas bibliotecas pueden configurarse dinámicamente para obtener sus datos de

10.4. Autentificación en los clientes Linux

122 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 135: Administración de Sistemas 06 07

múltiples fuentes alternativas (ficheros locales, servidores NIS, servidores LDAP, etc.). Si de-seamos configurar el sistema Linux como cliente LDAP, debemos establecer que, para ambasbibliotecas, la fuente de información debe ser un servidor LDAP.

Si el cliente es un sistema Linux basado en RedHat, y el servidor es otro sistema Linuxejecutando OpenLDAP, la configuración es realmente sencilla: primero hay que asegurarseque está instalado el paquete RPM nss_ldap (que contiene los módulos LDAP para PAM yNSS) y posteriormente debemos ejecutar la herramienta authconfig (también puede invocar-se su versión en modo gráfico, system-config-authentication). En dicha herramienta hayque activar la recepción de información de cuentas y la autentificación de tipo LDAP, indi-cando en ambos casos la dirección del servidor y la base o sufijo LDAP. Internamente, estaherramienta modifica principalmente los siguientes ficheros:

• /etc/nsswitch.conf. Contiene la configuración del cliente NSS del sistema Linux. Ennuestro caso, hay que comprobar que las líneas que configuran de dónde hay que leer lainformación de usuarios, contraseñas shadow y grupos incluyan la opción ldap:

passwd: files ldapshadow: files ldapgroup: files ldap

• /etc/pam.d/system-auth. Contiene la configuración básica de autentificación del sis-tema Linux mediante PAM. La herramienta authconfig configura automáticamente loscuatro tipos de módulos (auth, account, password, y session) para que utilicenLDAP como alternativa:

auth required /lib/security/$ISA/pam_env.soauth sufficient /lib/security/$ISA/pam_unix.so likeauth nullokauth sufficient /lib/security/$ISA/pam_ldap.so use_first_passauth required /lib/security/$ISA/pam_deny.so

account required /lib/security/$ISA/pam_unix.soaccount [default=bad success=ok user_unknown=ignore service_err=ignoresystem_err=ignore] /lib/security/$ISA/pam_ldap.so

password required /lib/security/$ISA/pam_cracklib.so retry=3 type=password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtokmd5 shadowpassword sufficient /lib/security/$ISA/pam_ldap.so use_authtokpassword required /lib/security/$ISA/pam_deny.so

session required /lib/security/$ISA/pam_limits.sosession required /lib/security/$ISA/pam_unix.sosession optional /lib/security/$ISA/pam_ldap.so

• /etc/ldap.conf. Contiene la configuración de las bibliotecas NSS y PAM cuando seutilizan contra un servidor LDAP. Si el servidor en cuestión es OpenLDAP, el fichero yaestá preparado para interpretar adecuadamente los atributos LDAP de los objetos "usua-rio" y "grupo" del directorio como los atributos UNIX necesarios (UID, GID, contraseña,etc.), con lo que no es necesaria ninguna modificación de posterior.

10.4.2. Linux como cliente del Directorio Activo

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 123

Page 136: Administración de Sistemas 06 07

10.4.2. Linux como cliente del Directorio Activo

Si el servicio LDAP contra el que el sistema Linux debe actuar es un Directorio Activo deWindows Server 2003, la configuración es similar a la explicada en la sección anterior, aun-que existen un par de salvedades importantes que hay que considerar: en primer lugar, el fi-chero /etc/ldap.conf no es el adecuado y resulta necesario modificar su configuración, yen segundo el Directorio Activo no permite por defecto las consultas anónimas (que hacenlos clientes LDAP Linux normalmente). A continuación se expone cómo solucionar ambosproblemas. Por último, al final de la sección, se incluye un apartado donde se comenta lasdos posibilidades de configurar el cliente de autenticación en el sistema Linux (bibliotecaPAM): LDAP y Kerberos.

Tras la ejecución de la herramienta authconfig (igual que en la sección anterior), es nece-sario modificar manualmente el fichero /etc/ldap.conf, ya que no está preparado para in-terpretar correctamente los atributos de los objetos del directorio como los atributos UNIXque necesitan NSS y PAM. En particular, debemos asegurarnos que el fichero incluye las si-guientes líneas (suponiendo que el dominio Windows en cuestión se denomina "ad-mon.lab"):

# Your LDAP server.host 158.42.170.14

# The distinguished name of the search base.base dc=admon,dc=lab

# The distinguished name to bind to the server with.# Optional: default is to bind anonymously.binddn cn=linux,ou=special-users,dc=admon,dc=lab

# The credentials to bind with.# Optional: default is no credential.bindpw -Admon-

# Base searchnss_base_passwd dc=admon,dc=lab?subnss_base_shadow dc=admon,dc=lab?subnss_base_group dc=admon,dc=lab?sub

# Services for UNIX 3.5 mappingsnss_map_objectclass posixAccount Usernss_map_objectclass shadowAccount Usernss_map_objectclass posixGroup Groupnss_map_attribute uid sAMAccountNamenss_map_attribute uidNumber uidNumbernss_map_attribute gidNumber gidNumbernss_map_attribute loginShell loginShellnss_map_attribute uniqueMember membernss_map_attribute homeDirectory unixHomeDirectory

# pam configurationpam_login_attribute msSFU30Namepam_filter objectclass=Userssl nopam_password md5

En el fichero anterior, las líneas nss_base_* especifican en qué contenedores se ubicanlas cuentas de usuario y grupo, mientras que las líneas nss_map_* asocian adecuadamentelos atributos de las cuentas de usuario y grupo a sus correspondientes del Directorio Activo.Finalmente, las líneas que comienzan por pam_* configuran PAM para que sea compatible

10.4.2. Linux como cliente del Directorio Activo

124 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 137: Administración de Sistemas 06 07

con dicho servicio de directorio.

Para comprobar que efectivamente la asociación entre los atributos de los objetos del Di-rectorio Activo y los atributos UNIX correspondientes es la adecuada, a continuación semuestran los atributos del usuario del Directorio Activo "andres", correspondientes al usua-rio de la Figura 10.1, “Pestaña de atributos UNIX en Usuarios y Equipos de Active Direc-tory.”.

# andres, Desarrollo, admon.labdn: CN=andres,OU=Desarrollo,DC=admon,DC=labobjectClass: topobjectClass: personobjectClass: organizationalPersonobjectClass: usercn: andresgivenName: andresdistinguishedName: CN=andres,OU=Desarrollo,DC=admon,DC=labinstanceType: 4whenCreated: 20070531144519.0ZwhenChanged: 20070601104631.0ZdisplayName: andresuSNCreated: 16398memberOf: CN=proy1,OU=Desarrollo,DC=admon,DC=labmemberOf: CN=g-andres,OU=Desarrollo,DC=admon,DC=labuSNChanged: 28711name: andresobjectGUID:: GwlsqoY+Ykm5wZZFVtIKew==userAccountControl: 512badPwdCount: 0codePage: 0countryCode: 0badPasswordTime: 128251773380156250lastLogoff: 0lastLogon: 128251789138750000pwdLastSet: 128250963195312500primaryGroupID: 513objectSid:: AQUAAAAAAAUVAAAAHCoq2isuNW66PFYOUgQAAA==accountExpires: 9223372036854775807logonCount: 8sAMAccountName: andressAMAccountType: 805306368userPrincipalName: [email protected]: CN=Person,CN=Schema,CN=Configuration,DC=admon,DC=labdSCorePropagationData: 20070531144632.0ZdSCorePropagationData: 20070531144632.0ZdSCorePropagationData: 20070531144632.0ZdSCorePropagationData: 16010108151056.0Zuid: andresmsSFU30Name: andresmsSFU30NisDomain: admonuidNumber: 10000gidNumber: 10000unixHomeDirectory: /home/andresloginShell: /bin/bash

Por otro lado, existe un ligero problema relativo a la exploración anónima del directorioque debemos resolver: por defecto, el Directorio Activo no permite realizar búsquedas anó-nimas (de usuarios no autentificados) en la base de datos del directorio. Como la bibliotecaNSS de Linux realiza ese tipo de búsquedas, esto puede ocasionar algunos problemas a lahora de visualizar los nombres de usuarios y grupos (por ejemplo, en el prompt del intérpretede órdenes o al realizar un ls -l). Para solucionarlo tenemos dos alternativas: configurar elDirectorio Activo para que permita las consultas anónimas o configurar el cliente LDAP de

10.4.2. Linux como cliente del Directorio Activo

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 125

Page 138: Administración de Sistemas 06 07

Linux para que haga todas las consultas como un usuario conocido por el dominio Windows(ya que por defecto, el grupo Usuarios Autentificados tiene permisos de lectura en to-do el directorio).

Ambas alternativas tienen sus problemas de seguridad. En el primer caso, admitir consul-tas anónimas en el Directorio Activo no es buena idea si el DC es accesible por red desde elexterior de la organización, puesto que el contenido del directorio quedaría público a todo elmundo. En el segundo caso, el usuario como el que se realizarían las consultas desde elcliente Linux debe tener sus credenciales (usuario y contraseña) en texto claro (sin cifrar) enel fichero /etc/ldap.conf, que posee permisos de lectura para cualquier usuario conecta-do localmente al sistema Linux.

Quizás la opción menos comprometida sería la segunda, pero utilizando además unusuario especial que sólo sirviera para ese fin, y cuya funcionalidad en los sistemas Linux/Windows del dominio estuviera restringida. Para ello es necesario crear un usuario en el Di-rectorio Activo (no hace falta activar sus atributos UNIX) y especificar dicho usuario y sucontraseña en el fichero /etc/ldap.conf, en las líneas binddn y bindpw, respectivamen-te. En el ejemplo de arriba, se ha utilizado un usuario denomindo "linux" (dentro de la uni-dad organizativa "special-users") cuya contraseña es "-Admon-".

Posteriormente, podemos restringir las acciones que dicho usuario pueda realizar en lossistemas Windows del dominio (mediante directivas de seguridad o GPOs) y en los sistemasLinux, especificando el fichero /bin/false como shell en sus atributos UNIX.

10.4.2.1. Autenticación LDAP vs. Kerberos

En la configuración de Linux como cliente de un dominio Windows descrita arriba, el siste-ma Linux se configura como cliente de cuentas (bibilioteca NSS) y de autenticación(biblioteca PAM) de los controladores del dominio a través del protocolo LDAP. Sin embar-go, la forma nativa en que los sistemas Windows pertenecientes a un dominio realizan la au-tenticación es mediante el protocolo Kerberos. En el dominio, los DCs son servidores de Ker-beros y todos los miembros de dicho dominio autentican los inicios de sesión utilizando di-cho protocolo.

En los sistemas Linux, es posible configurar la biblioteca PAM para que utilice Kerberos yrealice la autenticación de usuarios mediante este protocolo en los inicios de sesión. Paraello, se puede utilizar la misma herramienta de configuración descrita arriba (system-con-fig-authentication), pero en la pestaña de autenticación debe seleccionarse la habilitación delprotocolo Kerberos en lugar de LDAP. La configuración de Kerberos tiene básicamente tresapartados: el entorno o realm, el servidor KDC (Kerberos Distribution Center) y el servidor deadministración. En el primer caso, debe teclearse el nombre completo (DNS) del dominioWindows pero en mayúsculas, y en los otros dos casos, el nombre completo o la dirección IPde uno de los servidores (DCs) del dominio. La Figura 10.2, “Configuración de la autentica-ción Kerberos en Linux.” muestra cómo realizar esta configuración para el dominio Win-dows "admon.lab".

10.4.2. Linux como cliente del Directorio Activo

126 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 139: Administración de Sistemas 06 07

Figura 10.2. Configuración de la autenticación Kerberos en Linux.

La configuración de la biblioteca PAM a través de Kerberos respecto a LDAP tiene dosventajas fundamentales: en primer lugar, el cliente Linux se comporta exactamente igual queun sistema Windows miembro del dominio respecto a la autenticación. Y en segundo lugar,no resulta necesario configurar ningún mecanismo especial en el sistema Linux para encrip-tar las comunicaciones (mediante certificados), ya que el propio protocolo Kerberos garanti-za la confidencialidad en la manipulación de las contraseñas utilizadas en la autenticación.

10.4.2. Linux como cliente del Directorio Activo

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 127

Page 140: Administración de Sistemas 06 07
Page 141: Administración de Sistemas 06 07

AMontaje de dispositivos en Linux

A.1. IntroducciónUnix ofrece al usuario una visión jerárquica del sistema de archivos, donde los directoriospueden ser creados en cualquier nivel para organizar así los ficheros. A diferencia de otrossistemas, Unix ofrece una sola jerarquía, es decir, un solo directorio raíz.

Por contra, en sistemas tipo Windows, el sistema presenta varias jerarquías, tantas comounidades de almacenamiento (particiones, disquetes, cd-roms, unidades de red) tenga el or-denador. Cada una de estas jerarquías es identificada por una letra de unidad seguida delcarácter ':', por ejemplo, D:.

Unix, en cambio, encadena todos los dispositivos que contienen sistemas de archivos enuna única jerarquía, siendo por tanto este acceso transparente al usuario. A esta técnica se ledenomina montaje de dispositivos.

A.2. Utilización básicaPara utilizar un dispositivo que contiene un sistema de archivos se utiliza el mandatomount, el cual utiliza dos argumentos, un nombre de dispositivo y un nombre de directorio.Por ejemplo:

bash# mount /dev/hdb6 /mnt

En el ejemplo anterior, el directorio raíz del sistema de archivos que reside en el dispositi-vo /dev/hdb6 (la segunda partición lógica del disco duro primario esclavo) se monta en eldirectorio /mnt/. De esta forma, cualquier acceso que haga referencia a /mnt/ hace queUnix acceda a la partición que ha sido montada.

Linux reconoce muchos tipos de sistemas de archivos, algunos nativos del propio Linux yotros propios de otros sistemas operativos o estándares internacionales. Los más relevantesson:

Tabla A.1. Principales tipos de particiones soportados por Linux

129

Page 142: Administración de Sistemas 06 07

Tipo Descripción

ext2 Sistema de archivos nativo de Linux

ext3 Sistema "ext2" con registro de transacciones

swap Area de intercambio en disco de Linux

proc Sistema de ficheros virtual que contiene una jerarquía de infor-mación sobre el núcleo de Linux.

msdos Sistema FAT16 ó FAT32 con nombres cortos.

vfat Sistema FAT16 ó FAT32 con nombres largos.

iso9660 Sistema de archivos en CD-ROM

nfs Directorio remoto accesible vía NFS

Para indicar a mount el tipo del sistema de archivos, se utiliza la opción -t. Por ejemplo:

bash# mount -t iso9660 /dev/cdrom1 /mnt/cdrom

Al margen de los tipos anteriores puede utilizarse el tipo auto, el cual indica a mountque reconozca de forma automática el tipo del sistema de archivos, opción que resulta espe-cialmente útil en el fichero /etc/fstab, el cual se describe a continuación. Cuando se utili-za mount sin la opción -t, se supone la opción -t auto.

Debe tenerse en cuenta que lo anteriormente expuesto incluye a todo tipo de dispositivos.Por tanto, el acceso a medios no fijos como cd-rom o disquete se realiza igualmente utilizan-do mount.

Una utilidad adicional mount consiste en visualizar la tabla de los dispositivos actual-mente montados. Para ello, basta con ejectuar mount sin argumentos.

La acción contraria a montar un dispositivo se llama, lógicamente, desmontar el dispositi-vo. Para ello se invoca el mandato umount indicando el directorio donde el dispositivo habíasido montado. Siguiendo con el ejemplo anterior, antes de poder expulsar el cd-rom, debe-ríamos ejecutar lo siguiente:

bash# umount /mnt/cdrom

A.3. La tabla de montaje de dispositivosCon el fin de simplificar y unificar la gestión de los dispositivos montados, el administradorpuede establecer en el fichero /etc/fstab aquellos dispositivos que son conocidos por elsistema, llegando incluso a indicar si algunos de ellos deben ser montados durante el arran-que del ordenador. Un ejemplo de este fichero es el siguiente:

/dev/hda3 / ext2 defaults 1 1/dev/hda2 swap swap defaults 0 0none /proc proc defaults 0 0/dev/hdb1 /e700l ext2 noauto,user 0 0/dev/hdb2 /e700 msdos noauto,user 0 0/dev/fd0 /A auto noauto,user 0 0

A.3. La tabla de montaje de dispositivos

130 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 143: Administración de Sistemas 06 07

Cada línea de dicho fichero establece un dispositivo a montar junto con sus opciones. Porejemplo, la Tabla A.2, “Interpretación del fichero /etc/fstab” interpreta el significado de losparámetros de la primera línea del fichero anterior.

Tabla A.2. Interpretación del fichero /etc/fstab

Parámetro Descripción

/dev/hda3 Dispositivo a montar.

/ Directorio donde montar el dispositivo.

ext3 Tipo de sistema de archivos del dispositivo.

defaults Opciones de montaje ("por defecto", en este caso).

1 Volcado.

1 Orden de verificación por fsck en el arranque del sistema.Sólo debe aplicarse a los dispositivos locales de tipos nativosLinux que se montan durante el arranque.

Existe una gran cantidad de opciones de montaje, algunas de las cuales son dependientesdel tipo del sistema de archivos (consúltese el mandato mount en el manual). Las opcionesmás comunes y su significado se presentan en la Tabla A.3, “Opciones más comunes en elmontaje de dispositivos en Linux.”.

Tabla A.3. Opciones más comunes en el montaje de dispositivos en Linux.

Opción Descripción

auto/noauto Sí/no montar el dispositivo durante el arranque del sistema.

user/nouser Sí/no permitir un usuario convencional montar este dispositivo.

ro/rw Montar el dispositivo en modo sólo-lectura/lectura-escritura.

dev/nodev Sí/no interpretar ficheros especiales de dispositivo.

exec/noexec Sí/no permitir la ejecución de ficheros binarios contenidos enel dispositivo.

suid/nosuid Sí/no permitir la ejecución de ficheros contenidos en el dispo-sitivo que tengan bits SETUID ó SETGID activos.

sync/async Acceder al sistema de archivos mediante operaciones síncro-nas/asíncronas.

defaults Opciones por defecto (incluye rw, suid, dev, exec, auto,nouser y async).

Una de las ventajas de este fichero es que simplifica la utilización del mandato mount, elcual puede utilizar un solo argumento, bien sea el nombre del dispositivo o, mejor aún, elnombre del directorio. En estos casos, mount utiliza el tipo de sistema de archivos y las op-ciones especificados en el fichero. Por ejemplo:

bash# mount /A

A.3. La tabla de montaje de dispositivos

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 131

Page 144: Administración de Sistemas 06 07

monta en el directorio /A el dispositivo /dev/fd0 de acuerdo con la última línea del fi-chero /etc/fstab anterior. Puesto que se ha utilizado el tipo de sistema de archivos auto,el disquete podría contener indistintamente un sistema de archivos msdos, ext2, vfat, etc.,siendo la detección del tipo realizada por mount.

A.4. Otros mandatos relacionados

• mkfs: crea un sistema de archivos vacío en un dispositivo.

• fsck: verifica la consistencia de un sistema de archivos.

• df: informa sobre el espacio libre y ocupado de un sistema de archivos.

• du: informa sobre el espacio que un fichero o directorio ocupa en disco.

A.4. Otros mandatos relacionados

132 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 145: Administración de Sistemas 06 07

BNiveles de ejecución en Linux

B.1. Inicio y detención de un sistema LinuxUn sistema Linux se inicia desde el cargador del sistema (habitualmente LILO o GRUB) te-cleando una simple etiqueta o realizando una selección en un menú gráfico. Un sistema Li-nux debe detenerse de forma correcta, nunca apagando directamente el ordenador. Para ellose utiliza el mandato shutdown. Este mandato se emplea habitualmente en dos situaciones:

1. Para detener el sistema inmediatamente: shutdown -h now

2. Para reiniciar el sistema inmediatamente: shutdown -r now

B.2. El concepto de nivel de ejecuciónLinux está programado para ejecutarse en un determinado nivel de ejecución. El número deniveles y sus nombre están predeterminados. En cambio, las acciones a realizar en cada nivelson configurables por el superusuario tal como se explica más tarde en este documento. Laconfiguración de niveles en sistemas Linux basados en RedHat Linux se presenta en la Ta-bla B.1, “Niveles de ejecución en RedHat/Fedora Linux” a continuación.

Tabla B.1. Niveles de ejecución en RedHat/Fedora Linux

Nivel Nombre Descripción

0 halt Este nivel detiene el sistema

1 single user mode Modo de administración. El sistema crea un shell con los privi-legios del superusuario sin solicitar nombre de usuario o con-traseña.

2 multiuser Modo de funcionamiento normal sin algunos servicios de red(NFS, por ejemplo).

3 multiuser+network Como el modo 2 pero con todos los servicios de red activos

4 No utilizado normalmente en RedHat/Fedora

5 X11 El servidor X se inicia automáticamente desde el primer mo-mento.

133

Page 146: Administración de Sistemas 06 07

Nivel Nombre Descripción

6 reboot Se reinicia el sistema.

S,s emergency singleuser

Igual que le nivel 1, pero sin acceder a los ficheros de configu-ración de inicio.

Bajo esta perspectiva, un sistema Linux no se arranca o detiene, sino que simplemente secambia su nivel de ejecución. Algunas consideraciones importantes sobre los niveles son:

• Durante un arranque normal, los sistemas Linux basados en RedHat se colocan en el ni-vel 3 (multiusuario con red) o en el nivel 5 (análogo al 3 pero con el sistema de ventanasactivo desde el inicio).

• La orden shutdown -h now cambia el nivel actual al nivel 0 (halt).

• La orden shutdown -r now cambia el nivel actual al nivel 6 (reboot).

• La orden /sbin/telinit nivel cambia al nivel especificado.

• La orden /sbin/runlevel indica el nivel de ejecución previo y el actual.

• Desde LILO puede expresarse el nivel de ejecución deseado tras la etiqueta del sistemaoperativo (Linux) a cargar. Por ejemplo, para arrancar Linux en el nivel 1 se utiliza:

LILO boot: linux 1

• Igualmente, desde GRUB también puede indicarse el nivel de ejecución en el que se de-sea arrancar. En este caso, hay que seleccionar la entrada de Linux en el menú de GRUB ypulsar la tecla 'e' para que GRUB entre en el modo de edición. En la línea que hace refe-rencia al kernel de Linux hay que añadir al final el nivel de ejecución al que se desea en-trar. Por ejemplo, dada la siguiente línea:

kernel /boot/vmlinuz ro root=/dev/hdb1

se modificaría de esta forma:

kernel /boot/vmlinuz ro root=/dev/hdb1 1

Una vez hecha esta modificación, se debe pulsar 'b' para que GRUB arranque en el ni-vel indicado.

B.3. Ficheros de configuración de los nivelesEl administrador puede configurar las acciones que deben realizarse al entrar en un determi-nado nivel de ejecución. Los directorios y ficheros relevantes para esta configuración son:

B.3. Ficheros de configuración de los niveles

134 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 147: Administración de Sistemas 06 07

• Directorio /etc/rc.d/: En él residen todos los scripts de inicialización.

• Fichero /etc/inittab: Fichero base de configuración del arranque de la máquina.

• Fichero /etc/rc.d/rc.sysinit: Script de inicialización del ordenador, independientedel nivel.

• Directorios /etc/rc.d/rc?.d/: Exixte un directorio por cada nivel de ejecución, quecontiene enlaces simbólicos a los scripts que configuran la entrada a este nivel.

• Directorio /etc/rc.d/init.d/: Aquí residen todos los scripts reales que pueden serejecutados cuando se entra en un nivel de ejecución.

B.4. Secuencia de arranque de un sistema LinuxCuando arranca un sistema Linux se producen las acciones siguientes:

1. Se carga e inicializa el núcleo del sistema.

2. El núcleo crea el primer proceso del sistema, denominado init.

3. init realiza las acciones especificadas en el fichero /etc/inittab.

4. init ejecuta el script /etc/rc.d/rc.sysinit.

5. init hace que el sistema entre en el nivel especificado en /etc/inittab o alternativa-mente en el nivel indicado desde el cargador (LILO o GRUB).

No es normal tener que configurar esta secuencia de arranque, dictaminada por los fiche-ros /etc/inittab y /etc/rc.d/rc.sysinit. Estos ficheros son configurados en origenpor quien distribuye el sistema operativo. No obstante, pueden ser necesarios para configu-rar sistemas Linux con requerimientos muy específicos.

B.5. Secuencia de entrada en un nivel de ejecuciónCuando se entra en un determinado nivel de ejecución, se realizan las siguientes acciones:

1. Se ejecutan, por orden de nombre, todos los scripts que comienzan por 'K' en el directo-rio correspondiente al nivel, utilizando como argumento para dicho script la opciónstop.

2. Se ejecutan, por orden de nombre, todos los scripts que comienzan por 'S' en el directo-rio correspondiente al nivel, utilizando como argumento para dicho script la opciónstart.

B.4. Secuencia de arranque de un sistema Linux

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 135

Page 148: Administración de Sistemas 06 07

A título de ejemplo, a continuación se muestra un listado del directorio que correspondeal nivel multiusuario con red (/etc/rc.d/rc3.d/).

bash# ls -l rc3.d/

total 0lrwxrwxrwx 1 root root 13 Apr 1 1998 K15gpm -> ../init.d/gpmlrwxrwxrwx 1 root root 13 Apr 1 1998 K60lpd -> ../init.d/lpdlrwxrwxrwx 1 root root 15 Apr 1 1998 K95nfsfs -> ../init.d/nfsfslrwxrwxrwx 1 root root 17 Apr 1 1998 S01kerneld -> ../init.d/kerneldlrwxrwxrwx 1 root root 17 Apr 1 1998 S10network -> ../init.d/networklrwxrwxrwx 1 root root 16 Apr 1 1998 S20random -> ../init.d/randomlrwxrwxrwx 1 root root 16 Apr 1 1998 S30syslog -> ../init.d/sysloglrwxrwxrwx 1 root root 13 Apr 1 1998 S40atd -> ../init.d/atdlrwxrwxrwx 1 root root 15 Apr 1 1998 S40crond -> ../init.d/crondlrwxrwxrwx 1 root root 18 Apr 1 1998 S75keytable -> ../init.d/keytablelrwxrwxrwx 1 root root 11 Apr 1 1998 S99local -> ../rc.local

Puede observarse cómo en este directorio tan sólo existen enlaces simbólicos a los verda-deros scripts que residen en el directorio /etc/rc.d/init.d/. Cada uno de estos scriptsacepta dos parámetros, start y stop, en función del cual inicia o detiene el servicio corres-pondiente. En este ejemplo, la secuencia de entrada al nivel 3 sería:

gpm stoplpd stopnfsfs stopkerneld startnetwork startrandom startsyslog startatd startcrond startkeytable startrc.local start

Estos scripts que residen en el directorio /etc/rc.d/init.d/ pueden utilizarse directa-mente, lo que permite iniciar o detener servicios de forma manual. Por ejemplo, los siguien-tes mandatos detienen el subsistema de red y lo vuelven a iniciar.

bash# /etc/rc.d/init.d/network stopbash# /etc/rc.d/init.d/network start

De forma alternativa, puede utilizarse la orden service. Los siguientes mandatos sonequivalentes a los anteriores:

bash# service network stopbash# service network start

B.6. Servicios independientes de los niveles de ejecuciónAlgunos servicios de red no se configuran tal como se ha expuesto en apartados anteriores,sino que son activados desde un servicio genérico denominado xinetd. A xinetd se le co-noce normalmente como el "super servidor de internet", dado que puede ser configurado pa-

B.6. Servicios independientes de los niveles de ejecución

136 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 149: Administración de Sistemas 06 07

ra atender múltiples servicios. Cuando detecta una petición para un determinado servicio,activa el programa concreto que debe atender realmente el servicio y le traslada la petición.La consecuencia de este funcionamiento es que todos los servicios dependientes de xinetdse activan en un determinado nivel de ejecución tan sólo si xinetd está activo en dicho ni-vel de ejecución.

El servicio xinetd se configura en el fichero /etc/xinetd.conf y en el directorio /etc/xinet.d/. En este directorio debe crearse un fichero de configuración por cada servi-cio dependiente de xinetd. Esta configuración es bastante compleja, pero generalmente serealiza de forma automática cuando se instalan los paquetes Fedora correspondientes. Paramás detalles pueden consultarse la páginas de manual de xinetd y xinetd.conf.

B.7. Configuración de los niveles de ejecuciónLa configuración de los niveles de ejecución se limita a indicar qué scripts deben ejecutarse alentrar en cada nivel, bien para detener o para activar un determinado servicio. Para ello, bas-ta con crear los enlaces simbólicos adecuados, o mejor todavía, utilizar el mandato chkconfigo alguna herramienta gráfica.

El mandato chkconfig permite añadir y eliminar servicios en los niveles de ejecución, asícomo consultar la configuración de cada servicio. La sintaxis de este mandato es la siguiente:

chkconfig --list [name]chkconfig [--level levels] name {on|off|reset}

Utilizado con la opción --list, este mandato visualiza la configuración de todos los ser-vicios o de un nivel concreto. Las acciones on y off activan y desactivan respectivamente unservicio en los niveles especificados. La acción reset reestablece los valores predetermina-dos para este servicio.

Un método alternativo consiste en utilizar una herramienta gráfica que simplifique estalabor, tal como la herramienta de configuración de servicios de Fedora, la cual permite tam-bién configurar los servicios que dependen de xinetd y arrancar o detener servicios ma-nualmente. La Figura B.1, “Editor gráfico de niveles de ejecución en Fedora Linux” muestrael aspecto de dicha herramienta que puede invocarse directamente mediante el mandato /usr/bin/serviceconf.

B.7. Configuración de los niveles de ejecución

ASO/ADS (DSIC,UPV) ©Espinosa,Terrasa,Ferrer,Alvarez 137

Page 150: Administración de Sistemas 06 07

Figura B.1. Editor gráfico de niveles de ejecución en Fedora Linux

B.7. Configuración de los niveles de ejecución

138 ©Espinosa,Terrasa,Ferrer,Alvarez ASO/ADS (DSIC,UPV)

Page 151: Administración de Sistemas 06 07

CNota LegalSe concede permiso para copiar, distribuir y/o modificar este documento bajo los términosde la GNU Free Documentation License, Version 1.2 o posterior, publicada por la Free Soft-ware Foundation, siendo secciones invariantes este apéndice que contiene la nota legal. Seconsidera texto de portada el siguiente:

Administración de Sistemas

por Agustín Espinosa, Andrés Terrasa, Fernando Ferrer y Alvaro Alvarez

Copyright (c) 2001 Agustín Espinosa y Andrés Terrasa

Copyright (c) 2002 Agustín Espinosa, Andrés Terrasa y Fernando Ferrer

Copyright (c) 2003-2008 Agustín Espinosa, Andrés Terrasa, Fernando Ferrer y Alvaro Al-varez

Versión 8.0, septiembre 2008

Este documento puede ser copiado y distribuido en cualquier medio con o sin fines co-merciales, siempre que la licencia GNU Free Documentation License (FDL)[http://www.gnu.org/copyleft/fdl.html], las notas de copyright y esta nota legal diciendo quela GNU FDL se aplica al documento se reproduzcan en todas las copias y que no se añadaninguna otra condición a las de la GNU FDL.

139