Ahora que ya te sientes a gusto entre usuarios y dominios, te enseñaremos como configurar Samba para convertirse en un controlador primario de dominio (PDC) para los equipos Windows 9X y NT. ¿Por qué usar dominios? La respuesta no parece obvia hasta que miras detrás del telón, sobre todo con Windows 9X.
Hay que remarcar que, con los grupos tradicionales, Windows 9X simplemente acepta cualquier usuario y contraseña que utilices al acceder al equipo. En Windows 9X no existen los usuarios no autorizados; cuando un usuario nuevo accede al sistema, éste simplemente le pide una contraseña nueva y lo autentifica contra esa misma contraseña. La única vez que Windows 9X intenta utilizar la contraseña es cuando te conectas a otro recurso.
Por otro lado, la autenticación en los dominios es similar a los sistemas Unix. Para poder acceder al dominio son necesarios un nombre de usuario y una contraseña válidos, que son autenticados a través de la base de datos de contraseñas del controlador primario de dominio. Si la contraseña no es válida, se notifica inmediatamente al usuario y este no puede acceder al dominio.
Hay más buenas noticias: una vez que te has conectado al dominio, puedes acceder a cualquiera de los recursos de este para los que tengas derechos sin tener que reautenticarte. Dicho de otra forma, el PDC devuelve una señal al cliente que le permite acceder a cualquier recurso sin tener que consultar otra vez al PDC. Seguro que ya te has dado cuenta de la gran reducción que esto supone para el tráfico de la red, sin embargo puedes desactivar esto a través de la opción revalidate.
Configurando Samba para los Dominios Windows
Si deseas que Samba actúe como PDC, utiliza la sección siguiente para configurar Samba y tus clientes de forma que admitan el acceso por dominios.
Clientes Windows 95/98.
Configurar Samba como PDC para Windows 9X es un poco desilusionante. Todo lo que necesitas hacer es asegurarte de que:
- Samba es el único PDC para ese grupo de trabajo.
- Hay un servidor WINS disponible en la red, sea un servidor Samba o Windows NT Server. (Consulta el Capítulo 7, Resolución de Nombre e Impresión para más información sobre WINS).
- Samba está usando seguridad a nivel de usuario, es decir, no permite la autenticación de contraseñas a nadie más. No querrás utilizar seguridad a nivel de dominio si el propio Samba está actuando como PDC.
En este punto, puedes insertar las siguientes opciones en tu fichero de configuración de Samba:
[global]
workgroup = SIMPLE
domain logons = yes
# Be sure to set user-level security!
security = user
# Be sure to become the primary domain controller!
os level = 34
local master = yes
preferred master = yes
domain master = yes
La opción domain logons permite a Samba hacer una autenticación de dominio en nombre de otros clientes que lo soliciten. El nombre del dominio ha de ser el mismo que el del grupo de trabajo establecido en el fichero de configuración de Samba, en este caso: SIMPLE.
Después de esto, necesitas crear un recurso de disco compartido llamado [netlogon] que sea de solo lectura, no publico y no explorable. No importa a donde apunte sólo importa que los clientes Windows puedan conectarse a él.
[netlogon]
comment = The domain logon service
path = /export/samba/logon
public = no
writeable = no
browsable = no
Clientes Windows NT
Si tienes clientes Windows NT en tu red, hay varios pasos más que has de seguir para que Samba pueda actuar como PDC para ellos.
AVISO: Necesitaras usar Samba 2.1 o superior para asegurar que pueda funcionar como PDC para los clientes Windows NT. Antes de Samba 2.1, para los clientes Windows NT solo estaba disponible una autenticación limitada. En el momento en que se imprimió este libro, la ultima versión de Samba era la 2.0.5, pero la 2.1 esta disponible a través de una descarga CVS. Las instrucciones para descargar las versiones alpha de Samba están en el Apéndice E, Descargando Samba con CVS.
Igual que antes, necesitas asegurarte que Samba es el PDC para el grupo de trabajo actual y que esta usando la seguridad a nivel de usuario. Además, has de asegurarte de estar usando contraseñas encriptadas. Dicho de otra forma, modifica las opciones [global] del ejemplo anterior para incluir la opción encrypted passwords=yes:
[global]
workgroup = SIMPLE
encrypted passwords = yes
domain logons = yes
security = user
Crear cuentas de confianza para los clientes NT
Este paso es, exclusivamente, para los clientes NT. Todos los clientes NT que se conectan a un PDC hacen uso de las cuentas de confianza. Estas cuentas permiten a una maquina conectarse con el PDC (y no con uno de sus recursos), lo que significa que el PDC puede verificar posteriores conexiones de los usuarios desde ese cliente. A nivel de utilización, una cuenta de confianza es idéntica a una cuenta de usuario. De hecho, vamos a utilizar cuentas de usuario estándar para simular cuentas de confianza.
El nombre de usuario de una cuenta de confianza para un equipo es el nombre del equipo con un signo de dólar añadido a el. Por ejemplo, si nuestra maquina NT se llama chimera el nombre de la cuenta será chimera$. La contraseña inicial de la cuenta será el nombre del equipo en minúsculas. Para reforzar la cuenta de confianza en el servidor Samba, necesitarás crear una cuenta Unix con el nombre de la maquina y una entrada con una contraseña encriptada en el fichero smbpasswd. Vamos a ver la primera parte. Aquí, sólo necesitaremos modificar el fichero /etc/passwd para soportar las cuentas de confianza; no hay necesidad de crear un directorio personal o asignar un 'shell' al usuario porque solo estamos interesados en que se permita el acceso ('login'). Por tanto, podemos crear una cuenta 'tonta' con la siguiente entrada:
chimera$:*:1000:900:Trust Account:/dev/null:/dev/null
Fíjate en que hemos desactivado el campo de contraseña insertando un *. Esto es porque Samba usará el fichero smbpasswd para guardar la contraseña, y no deseamos que nadie haga un telnet a la maquina usando esa cuenta. De hecho, el único valor aparte del nombre de la cuenta es el UID de la misma para la base de datos de contraseñas (1000). Este numero debe apuntar a un único ID de recurso en el servidor NT y no puede entrar en conflicto con ningún otro ID. Por ello, ningún usuario o grupo de NT puede apuntar a este recurso o se producirá un error de red.
Ahora, añade la contraseña encriptada usando el comando smbpasswd, como sigue:
# smbpasswd -a -m chimera
Added user chimera$
Password changed for user chimera$
La opción -m especifica que se está creando una cuenta de confianza. El programa smbpasswd establecerá la contraseña encriptada inicial como el nombre NetBIOS del ordenador en minúsculas; no necesitas introducirla. Cuando utilices esta opción en la línea de comandos, no pongas el signo de dólar ($) después del nombre del ordenador, se añadirá automáticamente. Una vez que se añade la contraseña encriptada, Samba está preparado para manejar accesos al dominio desde un cliente NT.
Una vez que tengas Windows configurado para accesos por dominio, necesitas configurar tus clientes Windows para que se conecten a este al iniciar.
Windows 95/98
Con Windows 95/98, esto puede hacerse a través de la configuración de Red del Panel de Control, seleccionando las Propiedades para el 'Cliente de redes Microsoft'. En este momento, verás una ventana de dialogo parecida a la de la figura 6-4. Selecciona la opción 'Conectarse a un dominio NT' en la parte de arriba de la ventana e introduce el nombre del dominio que aparece en el fichero de configuración de Samba como 'Nombre de dominio NT'. Ahora haz clic en Aceptar y reinicia el equipo.
Figure: Configurando un cliente Windows 9X para acceder al dominio
|
|
AVISO: Si Windows te indica que ya estás conectado al dominio, probablemente ya tengas una conexión activa a un recurso de ese grupo de trabajo (como puede ser una unidad de red). Simplemente desconecta el recurso temporalmente haciendo clic con el botón derecho en su icono y seleccionando la opción 'Desconectar'.
Cuando Windows reinicie, verás la ventana de acceso estándar pero con un campo adicional: el nombre de dominio. Este ya debería estar cubierto, así que introduce tu contraseña y haz clic en Aceptar. En este momento Windows consultara al PDC (Samba) para ver si la contraseña es correcta (puedes revisar los ficheros de registro si quieres ver esto en detalle). Si todo va bien, ¡felicidades!. Has configurado correctamente Samba para actuar como PDC para tus clientes Windows 95/98 y estos están correctamente conectados.
Windows NT 4.0
Para configurar los clientes Windows NT, abre la opción Red del Panel de Control y la primera pestaña que veas corresponderá a la identificación del ordenador.
Utiliza el botón 'Cambiar...' y veras una ventana de dialogo similar a la de la figura 6-5. En ella puedes convertir al cliente NT en miembro del dominio seleccionando el botón 'Dominio'. Ahí, escribe el nombre del dominio en el que quieres que se conecte; ha de ser el mismo que el nombre de grupo de trabajo que estableciste en el fichero de configuración de Samba. No marques la opción 'Crear una cuenta de equipo en el Dominio' porque Samba no soporta esto correctamente.
Figure: Configurando un cliente Windows NT para logeados de dominio.
|
|
AVISO: Como Windows 95/98, si NT te indica que ya estás conectado al dominio, probablemente ya tengas una conexión activa a un recurso de ese grupo de trabajo (como puede ser una unidad de red). Simplemente desconecta el recurso temporalmente haciendo clic con el botón derecho en su icono y seleccionando la opción 'Desconectar'.
Una vez que pulses el botón Aceptar, Windows te presentara una ventana de bienvenida al dominio. En este momento, necesitas reiniciar el ordenador y una vez que lo hagas te presentara una ventana de acceso similar a la de los clientes Windows 95/98. Ahora puedes acceder usando cualquier cuenta que ya tuvieras en el servidor Samba y que este configurada para permitir accesos.
AVISO: Asegúrate de seleccionar el dominio correcto en la ventana de dialogo de NT. Una vez seleccionado, puede llevarle un rato a NT construir la lista de dominios disponibles.
Una vez que introduzcas la contraseña, Windows NT consultará al PDC (Samba) si la contraseña es correcta. Como antes, puedes consultar los ficheros de registro para ver esta acción en detalle. Si funciona, ¡felicidades!. Has configurado correctamente Samba para actuar como PDC para tus clientes Windows NT y estos están correctamente conectados.
La tabla 6-9 muestra las opciones que se usan normalmente en los accesos por dominios.
Table: Opciones de Logeado de Dominio de Windows 95/98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
domain logons
Esta opción configura Samba para aceptar accesos por dominios actuando como PDC. Cuando un cliente se conecta correctamente al dominio, Samba devuelve un paquete especial al cliente que le permite acceder a los recursos de la red sin necesidad de consultar de nuevo al PDC para autenticarse. Fíjate en que Samba ha de utilizar la seguridad a nivel de usuario (security=user) y debe ser el PDC para que esta opción funcione. Además las maquinas Windows esperaran que en el servidor Samba exista un recurso compartido llamado [netlogon] (consulta la sección 'Configurando Samba para los Dominios Windows.').
domain group map
Esta opción señala la localización de un fichero de mapeado diseñado para traducir los nombres de grupos de Windows NT a nombres de grupo Unix. Este fichero debe residir en el servidor Samba. Por ejemplo:
/usr/local/samba/private/groups.mapping
El fichero tiene un formato sencillo:
UnixGroup=NTGroup
Un ejemplo es:
admin = Administrative
El grupo Unix especificado debe ser un grupo valido dentro del fichero /etc/group. El grupo NT ha de ser el nombre del grupo Unix al que quieres que pertenezca el cliente NT. Esta opción solo funciona con clientes NT.
domain user map
Esta opción especifica la localización de un fichero de mapeado diseñado para traducir los nombres de usuario Unix a nombres de usuario de Windows NT. Este fichero debe residir en el servidor Samba. Por ejemplo:
/usr/local/samba/private/domainuser.mapping
Este fichero tiene un formato sencillo:
UnixUsername = [\\ Domain\\] NTUserName
Una línea de ejemplo seria:
Joe= Joseph Miller
El nombre de usuario Unix especificado debe ser un nombre de usuario valido dentro del fichero /etc/passwd. El nombre Unix será aquel al que quieres que apunte el nombre de usuario de NT. Esta opción solo funciona con clientes NT.
AVISO: Si deseas mas información sobre como usa Windows NT los nombres de usuario y grupos locales de dominio, te recomendamos el libro de Eric Pearce's 'Windows NT in a NutShell', publicado por O'Reilly.
local group map
Esta opción señala la localización de un fichero de mapeado diseñado para traducir los nombres de grupos locales de Windows NT a grupos Unix. Los grupos locales incluyen grupos como Administradores y Usuarios. Este fichero residirá en el servidor Samba. Por ejemplo:
/usr/local/samba/private/localgroup.mapping
Este fichero tiene un formato sencillo:
UnixGroup = [BUILTIN\] NTGroup
Un ejemplo seria:
root = BUILTIN\Administrators
Esta opción solo funciona con clientes NT. Para mas información te recomendamos el libro de Eric Pearce's 'Windows NT in a NutShell', publicado por O'Reilly.
revalidate
Esta opción a nivel de recurso le indica a Samba que fuerce a los usuarios a autenticar su contraseña cada vez que se conecten a un recurso diferente en un equipo, y no importa que nivel de seguridad este activado en el servidor Samba. El valor por defecto es no, lo que permite a los usuarios ser autenticados una sola vez. Puedes anular esto con:
revalidate=yes
Puedes usar esta opción para aumentar la seguridad en tu sistema. De todas formas, has de valorarlo frente a los inconvenientes de tener a los usuarios autenticándose cada vez que se conecten a un recurso.