Check the new version here

Popular channels

Samba 4 Controlador Active Directory



Sin duda, Active Directory es la característica más atractiva a la hora de decidirnos por Windows Server como servidor de nuestra red local. El conjunto de servicios y utilidades que ofrece para la gestión de usuarios y equipos permite una gestión tremendamente productiva, especialmente si trabajamos con clientes Windows.



Por otro lado Samba, la implementación para el mundo Linux del protocolo CFIS de Windows, permitía hasta la fecha implantar un servidor de dominio NT, que aunque permite la autenticación centralizada, quedaba muchos pasos atrás respecto las funcionalidades de cualquier Windows Server de 2003 hacia adelante. Pero, ahora la nueva versión de Samba, Samba 4, permite implementar un DC (Domain Controller) basado en Active Directory.

En este primer post, vamos a documentar la instalación de Samba 4, en este caso sobre un Ubuntu Server 12.04 y vamos a agregar un cliente al dominio. En los posts siguientes, seguiremos con la configuración de nuestro directorio activo y con el despliegue de directivas de grupo.

En primer lugar configuraremos la red de nuestro futuro servidor, editando el archivo /etc/network/interfaces (trabajaremos a lo largo del post con privilegios elevados, por tanto, iniciaremos sesión como root o haremos sudo su):




Observamos como configuramos como primer servidor de nombres el propio equipo, como secundario elegimos alguno que nos permita acceder a Internet ( el de nuestro ISP o el público de Google en este caso).

A continuación instalaremos el servicio NTP (Network Time Protocol) para asegurar que nuestro equipo siempre tenga la hora correcta (el funcionamiento de Kerberos exige que los equipos estén sincronizados en cuanto la hora). Para instalar el servicio:

# apt-get install ntp

Una vez instalado, configuraremos el servicio para elegir el servidor horario de nuestra preferencia, en nuestro caso, elegimos los servidores ubicados en España. Así mismo, habilitamos el servicio para que nuestra red pueda consultar la hora al servidor (podemos consultar los servidores disponibles en la página de NTP project.




A continuación procederemos a instalar Samba 4. Aunque se puede descargar como paquete ya construido mediante apt-get, la página de Samba recomienda bajar las fuentes y compilarlas. De hecho, si se intenta bajar el paquete del repositorio da un error a media instalación ( en algunos blogs comentan cómo seguir la instalación a partir de ese punto).

En primer lugar, nos bajamos los archivos necesarios o prerequisitos:

# apt-get install build-essential libacl1-dev python-dev libldap2-dev pkg-config gdb libgnutls-dev libreadline-dev libattr1-dev python-dnspython libpopt-dev libbsd-dev attr docbook-xsl libcups2-dev git

Una vez finalizada la instalación, bajaremos la versión más reciente del repositorio GIT:

# git clone git://git.samba.org/samba.git /usr/src/samba4/

Una vez finalizada la descarga procederemos a compilar:

# sudo ./configure –enable-debug

# make (gracias a luigdima por el aviso)

# make install


y añadiremos el path de las carpeta bin y sbin de samba:

# export PATH=”/usr/local/samba/sbin:/usr/local/samba/bin:$PATH”

Ya tenemos el Samba instalado, ahora podemos proceder a la construcción del dominio, para ello utilizaremos el comando samba-tool domain provision y procederemos a rellenar los datos de nuestro dominio. En DNS forwarder, pondremos la dirección IP del DNS que queremos que resuelva las peticiones externas (reenviador).




En cuanto la password que nos solicita, deberá tener complejidad, caso contrario nos pedirá una nueva contraseña, para las pruebas realizadas hemos elegido [email protected] (obviamente en producción debeis elegir una contraseña más original

A continuación editaremos el archivo smb.conf (cuidado, que en lugar de /etc/samba/, lo tenemos en /usr/local/samba/etc!!) y añadiremos la opción que los clientes puedan actualizar su registro dns.




A continuación reiniciamos la máquina y cuando iniciamos sesión iniciamos el servicio de samba:
# /usr/local/samba/sbin/samba start

Ahora realizamos una prueba para comprobar que efectivamente funciona el servicio de DNS:




Ahora probaremos el servicio Kerberos, para ello instalaremos la utilidad de cliente:

# apt-get install krb5-user

Cuando nos pida el reino Kerberos, deberemos poner el que hemos elegido, pero muy importante en mayúsculas! Una vez instalado podemos testear por ejemplo la password de administrador:




Si todo funciona sin problemas, podemos seguir, pero si tenemos algún problema deberemos reiniciar el proceso, para ello borraremos el archivo smb.conf y procederemos a repetir el proceso de crear el dominio, pero muy importante añadiendo el argumento –use-ntvfs al final y configurando directamente con el comando los argumentos, por ejemplo:

# samba-tool domain provision –realm casa.local –domain CASA –adminpass [email protected] –server-role=dc –use-ntvfs

Posteriormente en el archivo smb.conf añadiremos el dns forwarder y la opción de update de los clientes.

Llegados a este punto, podemos probar a agregar un equipo al dominio, en nuestro caso un Windows 7 Enterprise. Para ello, en la configuración de red del cliente, pondremos como DNS la IP de nuestro servidor samba:




Ahora procederemos a agregar el equipo al dominio:



Comprobamos como el cliente se ha agregado correctamente al dominio:






Aunque Samba 4 dispone de herramientas gráficas web como SWAT, utilizaremos para administrar el dominio, el conjunto de herramientas gratuitas que ofrece Microsoft, conocido como RSAT (Remote Server Administration Tool). Dichas herramientas, disponibles tanto para Windows 7 como Windows 8, no permitirán gestionar nuestro controlador de dominio, de forma idéntica a si estuviéramos delante de un Windows 2008R2 Server.

El primer paso será descargarnos de la página de Microsoft la versión RSAT adecuada a nuestro equipo cliente. En nuestro caso, un Windows 7 Enterprise de 32 bits
:




Una vez instalado el paquete de herramientas, procederemos a habilitar aquellas que necesitemos, para ello deberemos ir a Panel de Control, Programas y características, Activar características de Windows:




Aquí activaremos las herramientas de administración que sean necesarias, en nuestro caso tendremos suficiente con la administración básica del AD y la administración de políticas de grupo. Si posteriormente se necesitan herramientas adicionales, siempre se pueden activar.

Una vez hemos activado las diferentes herramientas, vamos a comenzar a administrar nuestro dominio. En primer lugar, abrimos Usuarios y Equipos de Active Directory. En esta consola podemos crear OU, grupos, usuarios y preaprovisionar máquinas al dominio. Aquí a modo de ejemplo, creamos dos usuarios que llamaremos aduser1 y aduser2.




Vamos a crear ahora la carpeta en el servidor donde ubicaremos las carpetas personales de los usuarios del dominio y a continuación editaremos el archivo smb.conf (recordar que lo tenemos en /usr/local/samba/etc para compartir dicho recurso. En el ejemplo que estamos realizando voy a llamar a dicha carpeta Usuaris:

# mkdir /Usuaris




Una vez realizada esta acción, reiniciamos el servidor y volvemos a iniciar el servicio de samba ( /usr/local/samba/sbin/samba start) para que los cambios tengan efecto.

El siguiente paso es configurar los permisos de este nuevo recurso. Esto lo haremos desde el cliente. Es muy importante recordar que debemos evitar que un usuario tenga acceso a la carpeta personal de otro, para ello, es necesario bloquear las herencias de los permisos de la carpeta Usuaris a las carpetas hijas creadas en su interior. Para acceder desde el cliente a la carpeta compartida utilizaremos el explorador de archivos.




Clicamos botón derecho sobre la carpeta, seleccionamos Seguridad y elegimos Opciones Avanzadas. Eliminamos todos los permisos que aparecen y procedemos ahora a crear los que necesitamos:

-Administrator (administrador del dominio) tiene control total para esa carpeta, subcarpetas y archivos.
-Repetimos los mismos permisos para el grupo Domain Admins.
-Elegimos idéntica configuración para SYSTEM.
-A CREATOR OWNER (el usuario que crea un recurso) le damos control total pero solo de subcarpetas y archivos.
-Al grupo Domain Users les daremos permiso de Atravesar carpeta/Ejecutar archivo, mostrar carpeta/leer datos, Crear archivos/escribir datos y Cambiar permisos, pero solamente en esta carpeta.






Toca ahora configurar el perfil de los usuarios definidos anteriormente para que crear su carpeta personal. Para ello, desde la consol de Usuarios y Equipos seleccionamos el usuario y en Propiedades -> Perfil escribimos la ruta de su carpeta personal, utilizamos la variable de entorno %username% que nos permitirá que usuarios nuevos creados a partir de copiar uno de los anteriores, utilicen su nombre de usuario para crear la carpeta.



Si ahora iniciamos sesión en el cliente con uno de los usuarios, por ejemplo aduser1 comprobamos como nos aparece su carpeta personal.



A modo de ejemplo vamos a ver como mapear directamente a las carpetas personales en red de los usuarios que se han creado en el servidor, la carpeta de Mis Documentos que aparece en el perfil de cada usuario. De esta manera, cuando un usuario guarde el archivo en Mis Documentos, realmente lo está guardando en red y por tanto, verá ese documento independientemente del equipo desde el cual inicie sesión.

Para aplicar las GPO en nuestro caso, desde el equipo cliente y validados como administrador del dominio, abrimos la herramienta Administración de directivas de grupo del conjunto




Creamos una nueva GPO y la vinculamos al dominio le ponemos un nombre, por ejemplo mapear, una vez creada clicamos con el botón derecho y procedemos a editar:



Desplegamos el árbol de directivas hasta la opción deseada, configuración de usuario -> Configuración de Windows -> Redirección de carpetas -> Documentos y con el botón derecho seleccionamos Propiedades.



En Destino, marcamos la opción básica, la opción de crear una carpeta para cada usuario en la ruta raíz y como ruta raíz, elegimos la ruta donde tenemos las carpetas en red de los usuarios.



En Configuración marcamos la opción de Mover el contenido de Documentos a la nueva ubicación.



Finalmente sobre la máquina cliente forzamos la actualización de las directivas gpupdate/force y cerramos sesión.

Iniciamos sesión con un usuario del dominio y comprobamos como si vamos a la ruta de red, aparece la carpeta Documentos creada en su carpeta personal. A veces es necesario, reiniciar la sesión de usuario la primera vez para que los cambios tengan efecto.




Comprobamos creando un archivo en la carpeta Documentos de Bibliotecas, cómo este archivo realmente se crea en la carpeta en red y por tanto estará disponible desde cualquier cliente del dominio.



A partir de aquí se puede aplicar cualquier tipo de directiva, tanto de equipo como de usuario a los miembros del dominio.

+1
0
0
0
0No comments yet