Modificaciones del Directorio Activo

Para conseguir que un sistema Linux vea como cuentas de usuario los usuarios globales que definidos en el Directorio Activo, es imprescindible conseguir que la definición de un usuario global Windows incluya los atributos que definen a un usuario en Linux. Y exactamente igual ocurre con las cuentas de grupo. En concreto, los sistemas Linux necesitan, al menos, los siguientes 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).

    • Una lista de los nombres de de usuario que pertenecen a ese grupo.

Como es lógico, algunos de los atributos que el Directorio Activo almacena por defecto para un usuario y grupo "Windows" pueden servir también para el caso de clientes Linux (es el caso del nombre del usuario o del grupo y de la contraseña). Sin embargo, hay atributos como el UID, GID, directorio home, etc., que no existen en el Directorio Activo simplemente porque Windows no los utiliza. Por ello, si queremos ofrecérselos a los clientes Linux, necesitaremos incorporarlos primero al Directorio Activo. Esto puede conseguirse mediante la modificación del esquema del directorio. Una vez añadidos los nuevos atributos a los objetos de tipo usuario y grupo, ya pueden crearse cuentas que contengan todos los datos necesarios para clientes tanto Windows como Linux.

Para llevar a cabo la modificación del esquema no es necesario realizar dicha configuración manualmente. Al contrario, existe una utilidad de libre distribución denominada MKS AD4Unix, implementada inicialmente por Maxim Batourine (perteneciente a la Universidad de Toronto). Esta utilidad se instala muy fácilmente, mediante un fichero de tipo MSI (Microsoft Installer) en el sistema Windows que actúa como Maestro de Esquema. En concreto, el archivo instalable se denomina MKSADPlugins.msi y contiene tres apartados esenciales:

  1. La modificación del esquema que define los atributos necesarios para la definición de usuarios/grupos tipo UNIX y los incorpora a los objetos de tipo cuenta de usuario y cuenta de grupo.

  2. La modificación de la herramienta Usuarios y Equipos de Active Directory para incorporar una nueva pestaña en las ventanas de definición de usuarios y de grupos. Esta pestaña, denominada UNIX settings (o atributos UNIX), contiene los nuevos atributos añadidos al esquema.

  3. Algunas utilidades de configuración propias, como el programa MKSADPlugginSettings (accesible desde InicioProgramasMKS A4Unix). Esta utilidad permite definir el nombre de un dominio NIS, en el caso de que los sistemas Linux estén administrados mediante uno de estos dominios, y los valores por defecto que tomarán los atributos UNIX que luego especificaremos en Usuarios y Equipos de Active Directory (el rango de UIDs y GIDs, el shell inicial de los usuarios, etc.).

Antes de instalar el paquete MKSADPlugins.msi es necesario permitir explícitamente la modificación del esquema del Directorio Activo, ya que no lo está por defecto. Para ello, hay que realizar las siguientes acciones en el controlador de dominio que actúa como Maestro de Esquema (por defecto, este rol se ejecuta en el primer controlador de dominio instalado en todo el bosque):

  1. Registrar la Herramienta del Esquema como una de las consolas de tipo MMC, es decir, las herramientas típicas de administración en sistemas Windows 2000 y posteriores. Para ello, hay que ejecutar la siguiente orden en una "interfaz de comandos" (cmd) Windows:

    regsvr32 c:\winnt\system32\schmmgmt.dll
    
  2. Abrir una consola genérica (InicioEjecutar...mmc) y añadir la herramienta Esquema de Active Directory desde el menú.

  3. Una vez añadida a la consola la Herramienta del Esquema, ésta aparece en el panel izquierdo de la consola. Pulsamos sobre el icono principal de la herramienta y en el menú contextual, elegimos la opción Maestro de operaciones. Esta sería la forma de cambiar el sistema que actualmente posee el rol Maestro de Esquema, pero en nuestro caso, no vamos a cambiar este aspecto. En la ventana que aparece, simplemente activamos la opción denominada Se puede modificar el esquema en este controlador de dominio.

A partir de ese momento, ya puede instalarse el paquete MSI en el ordenador donde se han permitido las modificaciones del esquema. Durante la instalación de dicho paquete, se pasa por diferentes ventanas sucesivas:

  1. Aceptamos la licencia.

  2. Permitimos su ejecución a todos los usuarios.

  3. Realizamos la instalación completa.

  4. Contestamos "sí" a la pregunta La instalación puede modificar el esquema. Esta opción sólo debe marcarse si instalamos el pluggin en el DC Maestro de Esquema y sólo cuando se instala por primera vez.

Tras la instalación del paquete, debemos configurarlo antes de estar en condiciones de utilizar los atributos UNIX en las cuentas de usuario y grupo del Directorio Activo. Para ello debemos ejecutar la herramienta MKSADPlugginSettings (comentada arriba) y, al menos, activar el apartado "dominio NIS", aunque no tengamos ninguno en los sistemas Linux. Lo más útil consiste en activar un dominio NIS que se denomine igual que el nombre NetBIOS de nuestro dominio Windows.

Posteriormente, es posible que deseemos instalar el pluggin en el resto de controladores de dominio, de forma que veamos los atributos UNIX en la herramienta Usuarios y Equipos de Active Directory en todos ellos. De ser así, hay que instalar el paquete MSI en dichos controladores, pero esta vez no activando la opción de modificar el esquema (que debe realizarse sólo la primera vez, en el DC Maestro del Esquema). Sin embargo, debe tenerse en cuenta que la utilización simultánea de la pestaña de atributos UNIX desde varios DCs del mismo dominio tiene un problema: el pluggin de MKS AD4Unix recuerda los últimos UID/GID asignados, de forma que al crear un usuario/grupo nuevo, ofrece al administrador unos UID/GID nuevos (incrementando en uno el último utilizado, en cada caso). El problema es que, en lugar de almacenar esos últimos UIDs/GIDs asignados en el Directorio Activo, donde estarían accesibles desde otros DCs, los guarda en el registro local de cada DC. Por lo tanto, si creamos usuarios UNIX desde diferentes DCs simultáneamente, no podemos confiar en que, automáticamente, los UIDs/GIDs de dichos usuarios sean distintos, con los consiguientes problemas que esto ocasiona.

Si todo ha funcionado correctamente, ya estamos en disposición de crear, en cualquier DC del dominio, usuarios y grupos que puedan verse como tales desde los clientes Linux del dominio.