domingo, 20 de enero de 2008

Como montar servidor de Dominio de Directorio Activo Primario en Linux (SAMBA PDC)

Pues sí, vamos a la carga con un nuevo tutorial en DeSmAdRi.

Como muchos ya saben, un servidor de dominio de Directorio Activo permite establecer permisos y políticas en los ordenadores de una red sobre los recursos de la red o incluso del propio ordenador local al que se le aplican las políticas, o dicho más sencillo, cuando el ***** de sysadmin o su jefe ha decidido que no aparezca en el Menu Inicio >> Programas >> Juegos >> Solitario.

Además de putear al personal quitando el solitario o el buscaminas del menú permite hacer cosas más interesantes y aplicar scripts en cada inicio o cierre de sesión para actualizar el antivirus y un largo etcetera para no enrollarme .

Lo habitual es que se monte el servidor de Dominio Directorio Activo con un Windows 2003 Server Standard pero en este artículo intentaremos no tener que pagar a Micro$oft montando nuestro Servidor de Directorio Activo bajo Linux gracias a SAMBA. Samba es un conjunto de aplicaciones que trabajan con el protocolo que usa Windows para hacer dominios: SMB (Server Message Block) por lo tanto lo único que necesitamos es instalar samba y un poco de mano en configurar todo correctamente.

Para instalar correctamente samba bastará con:

apt-get install samba

Y como de costumbre apt nos instalará también las dependencias automáticamente.

Editamos el fichero /etc/samba/smb.conf para:

Poner donde WORKGROUP = NOMBREDOMINIO
Descomentar la línea domain logon = yes
Comentar la línea invalid users = root de la sección [global]
Descomentar unix password sync = yes
Descomentar logon path = \\%N\%U\profile

De éste modo le hemos dado nombre al dominio, hemos hecho al servidor Samba que actue como dominio,permitir el uso del usuario root pues es el que necesitaremos para agregar equipos al dominio, permitir usar cuentas del servidor Linux y establece la ruta donde buscar el perfil al iniciar.

Seguimos editando el fichero /etc/samba/smb.conf y descomentamos las secciones [profiles] y [netlogon] enteras. Donde lo más importante es que tengan:

path=/home/samba/profiles
guest ok = yes

Una vez que ya hemos terminado con la configuración de SAMBA ahora queda crear las máquinas,usuarios,perfiles... del dominio.

La primera vez creamos el grupo machines:

groupadd machines

Creamos una máquina a host cuyo nombre debe coincidir con el hostname del Cliente Windows que va a conectarse al servidor de dominio (Un Windows XP Profesional):

useradd -g machines -d /dev/null -c "Cliente Windows XP PRO" -s /bin/false nombredelhost$

Lo que acabamos de hacer es un usuario especial cuyo grupo es el grupo machines, no tiene carpeta home ni shell pues no las necesita y su nombre debe terminar en un dolar que es como reconoce samba que se trata de una máquina y no un usuario normal.

Deshabilitamos la contraseña para la máquina pues no es necesaria:

passwd -l nombredelhost$

Creamos la máquina en la base de datos de SAMBA:

smbpasswd -a -m nombredelhost

Fijarse bien que en el último comando no hay que poner un $ al final.

Ya tenemos creada la máquina ahora falta crear usuarios del dominio. El primer paso:

useradd -m usuario1
passwd usuario1
Escribe la password dos veces
smbpasswd -a usuario1
Escribe la misma password dos veces

Ahora vamos a tener que meternos con el ordenador con Windows instalado y en INICIO >> Ejecutar escribimos gpedit.msc para que abra el editor de políticas del sistema. Configuramos las políticas que queramos y una vez lo tengamos todo pinchamos en el botón acción >> Exportar lista y el fichero resultante lo nombramos como config.pol y movemos ese archivo a la ubicación (si no existe lo creamos):

/home/samba/profiles

Volvemos a nuestra querida Debian y damos permisos SUID a la carpeta /home/samba/profile:

chmod -R 4755 /home/samba/profile

Y ya queda poco, regresamos a Windows XP, pinchamos Botón derecho sobre Mi Pc >> Propiedades >> Pestaña: Nombre del equipo >> Boton: Cambiar y pinchamos en Dominio y rellenamos el cuadro en blanco con el nombre o workgroup que hemos puesto en el fichero /etc/samba/smb.conf (NOMBREDOMINIO) no distingue mayúsculas de minúsculas en este caso.

Pedirá en una ventana usuario y password. Nos autenticamos con el usuario root y su clave correspondiente y ¡voila! en pocos segundos debería aparecer un mensaje de bienvenida al nuevo dominio y que necesita reiniciar (ya estaba tardando) para aplicar los cambios. Ya solo falta autenticarse con el usuario,ppassword y asegurarnos que elegimos el dominio adecuado y no el grupo de trabajo local de la máquina (el que pone "este equipo").

Consejos típicos a problemas típicos:

  • Permisos solo para root en ciertas carpetas. Comprobar si da acceso denegado los permisos y propietarios de carpetas.
  • Aplicar cambios en samba. Reinicia samba con cada cambio en el smb.conf. Para reiniciar: /etc/init.d/samba restart
P.D: Con esta configuración los perfiles de usuario son móviles por defecto. Aún no he visto como hacerlos locales. Recomendable para dominios pequeños de no más de 50 usuarios.

2 comentarios:

Administrador dijo...

Felicitaciones por el tuto, una pregunta, sobre qué distribución recomiendas instalar el samba ?
Cordial Saludo.

Fernando dijo...

Gracias y felicidades por un trabajo tan elaborado y util.
Una pregunta...
Supongo que el directorio /home/samba/profiles deberá ser propiedad del root.
Crees que daría algun problema si en lugar de usar el usuario root para validar maquinas del dominio se utilizase otro usuario administrador?