Clientes SAMBA/LDAP para Ubuntu y Zentyal (eBox)


Con la idea en mente de sustituir completamente las infraestructuras de algunas de las sucursales, estamos usando Zentyal (antes eBox) como servidor centralizado con excelentes resultados.

Básicamente, se trata de un servidor Ubuntu con una interfaz web que permite configurar multitud de parámetros, desde montar un proxy con autenticación LDAP, pasando por groupware, antivirus, firewall, balanceo de  distintas líneas de comunicación, copias de seguridad, y un largo etc….Siendo software libre, como es, es también posible contratar un muy buen servicio de soporte.

Otro tema a tener en cuenta, en estos días en que desde nuestro gobierno se retiran fondos de I+D,  es que es un producto español, con lo que podemos aportar nuestro granito de arena para que, desde el más absoluto respeto por estos sectores, no todo sean ladrillos y turismo en España.

Una de las cosas buenas de Zentyal, es que te permite integrar de una forma realmente fácil, Samba y LDAP, de forma que puedes crear los usuarios en LDAP  y asignarles directorios compartidos, mediante una interfaz web bastante intuitiva.  Aún así, la parte de configuración de estos aspectos queda fuera del alcance de este artículo y os remito a la documentación de Zentyal para llevarlo a cabo. Comentar, también, que es posible hacer lo mismo con un servidor Ubuntu sin Zentyal, aunque es ese caso la configuración de LDAP y la integración de Samba es bastante más compleja.

He preparado unos scripts para facilitar el acceso desde la estación Ubuntu a los directorios Samba utilizando, además, la autenticación basada en LDAP.

El script busca en el directorio LDAP los grupos a los que pertenece el usuario y conecta los directorios compartidos de dichos grupos y el Home de Samba a la estación de dicho usuario. Se comprueba, previamente, que las credenciales son válidas y, en caso contrario, se genera un mensaje informativo. Si existe un fichero login.net en cualquiera de los directorios compartidos o en el Home del usuario, se ejecuta durante la entrada. De este modo, podemos ejecutar en estaciones individuales o en grupos de ellas, los procesos que necesitemos, tan solo con incluirlos dentro de dicho login.net.

Se incluye, además, una opción para que el usuario pueda cambiar su contraseña.


El script de instalación debe ser ejecutado sin sudo, el programa pedirá la contraseña cuando lo necesite, e instalará y configurará los paquetes necesarios para el correcto funcionamiento de la estación. Es necesario que la estación tenga acceso a Internet para descargar los paquetes necesarios.

Para una futura versión, está previsto incorporar comprobaciones de políticas de contraseñas (caducidad, longitud, etc).

El tar.gz puede ser descargado desde aquí durante algún tiempo. Si pasado ese tiempo le interesan a alguien, dejadme un comentario y lo vuelvo a subir.

Espero que alguien más lo encuentre de utilidad!

Saludos

 

Nota: está disponible la versión 2.0

24 comentarios en “Clientes SAMBA/LDAP para Ubuntu y Zentyal (eBox)

  1. hola que tal. recientemente he estado probando el zentyal

    el problema que tengo es que el zentyal-desktop, no me funciona como creo que deberia, es decir, lo instalo, luego me puedo validar contra el LDAP, pero no las unidades Samba, ya que si hago click sobre ellas, me pide pass y dominio.

    he probado tu script para ver si aclaraba algo y al hacer login, me tira un error de “hubo problemas”, he mirado por dentro del script y no me aclara mucho el error.

    lo que he hecho al instalar, ha sido poner la IP del server y luego la configuración del LDAP : dc=s-zentyal1,dc=empresa,dc=lan

    Podrias comentar, si lo del samba funciona con tu script y darme un poco de luz sobre el error ?

    por cierto, enhorabuena por el scritp 🙂

    Me gusta

    • Hola,

      entiendo que estás probando contra Zentyal server.
      El funcionamiento del cliente correcto consiste en que te mapee la unidad Home del usuario así como todos los shares de los grupos LDAP a los que pertenezca dicho usuario.

      ¿Has probado a abrir el LDAP desde un browser para ver qué tal anda? Debe aparecer la clase de objecto sambagroupmapping con los shares que hayas creado. Si no es así, es que quizá no se crearon los shares en el servidor de la forma adecuada. A mí me funciona bien sólo si creo los shares desde dentro de las opciones de grupo, si la memoria no me falla 😉

      Saludos

      Me gusta

      • hola. Si es con un zentyal-server 2.0 sobre ubuntu server 10.04

        ¿ a que te refieres con “abrir el ldap con un browser” ?
        ¿ te refieres al ldapadmin ?

        Me gusta

    • Si te digo la verdad, cuando yo lo probé no había salido la versión Desktop. Yo lo probé desde un Ubuntu 10.04 (o 10.10, no recuerdo) contra Zentyal Server.

      …Y sí, ldapadmin, por ejemplo… Al final, el cliente lo único que hace es usar ldapsearch y parsear el resultado para poder hacer los montajes…

      …Tengo que confesar que aún no he podido probar el Desktop, el trabajo me tiene últimamente muy pillado y no hay manera de sacar un rato para “jugar”… 😦

      Me gusta

      • bueno, pero teoricamente, una vez validado mediante LDAP (que eso si que funciona con zenytal) deberia poder acceder a las unidades compartidas samba sin que me volviese a pedir la contraseña ?

        es que ya no se si el script no va bien, o soy yo que algo no he configurado bien.

        gracias 🙂

        Me gusta

  2. Eso sería genial. Así es como les describí a la gente de eBox, perdón Zentyal 😉 , lo que necesitaría para una de mis instalaciones y es lo que, creo, se implementará con el tiempo. Es decir, la integración de estos scripts (lógicamente usando el lenguaje que ellos vean mejor, no creo que sea bash) en la versión Desktop de forma que aprovechen las credenciales, ya introducidas al inicio de sesión, para montar los shares.
    No sé si en la versión actual del producto esa funcionalidad está ya contemplada. Tendrías que hablar con ellos…

    Me gusta

    • eso ya lo he pedido en el foro, tanto en ingles com españo, a ver si alguien responde.

      por ahora por lo que veo no funciona, ¿ pero tu script si que hacia eso ? lo digo porque si es que si me lo miro con mas detalle a ver si lo puedo adptar.

      gracias.

      Me gusta

      • Mi script te va a pedir usuario y contraseña siempre, me temo.
        Mi intención inicial era hacer yo mismo la integración con el login de Ubuntu 10.04 (desktop), pero al saber que les gustó la idea, a la gente de Zentyal, y que iban a incluirlo tarde o temprano, decidí no dedicar esfuerzos a ese tema 😦

        Me gusta

  3. pues he montado de nuevo un server y un cliente, ambos ubuntu 10.04 (server y desktop), en una red totalmente nueva (todo virtualizado). y me sigue haciendo lo mismo, es decir, se integra bien en LDAP, me muestra en el escritorio un icono todo blanco que se supone que es el /home del usuario alojado en el server, y cuando le doy encima, pues me pide dominio y contraseña…

    ¿ esto en tu script funcionaba ?. o tambien para cada unidad compartida tenia que “loguearme” gracias !

    Me gusta

    • En mi script te pide una sola vez usuario y contraseña y después se procede al montaje de todos los shares de los grupos a los que pertenezca el usuario y del home. Después puedes accecer, de la forma habitual, a todos los volúmenes como si estuvieran en tu equipo.

      Me gusta

      • Insteresante esta el script ahora lo que me interesaria saber que usuario se debe ingresar: el usuario de zentyal, un usuario con calidad de administrador ldap o cualquier usuario

        gracias =D

        Me gusta

      • Se presupone que en el servidor Zentyal hay creados usuarios y grupos Samba/LDAP.
        Al conectarte con éstos te conecta, dinámicamente, el home samba de dicho usuario y los shares que le correspondan en función de los grupos samba/LDAP a los que pertenezca y que, lógicamente, tengan un share asociado. Se busca, además, un fichero login.net en cada uno de esos shares y, si existe, se ejecuta, de forma que puedaas ejecutar lo que necesites para un grupo concreto o para un usuario en particular.
        Hay que tener cuidado al grear los shares y hacerlo desde la configuración del grupo. Hay otra forma de crearlos pero si no se hace como te indico, el cliente no funcionará correctamente.
        Saludos

        Me gusta

      • Lo que me interesa mas que nada es que de cualquier computador un usuario se pueda ingresar (login+pass) y que se cree su perfil de usuario, como en sistemas win

        Me gusta

      • Bueno, lo que hace es, exactamente, lo que he comentado…

        Siempre puedes aprovechar el fichero login.net para hacer lo que necesites en la estación que hace login, ya que lo ejecutará cada vez que ese usuario se conecte….

        Me gusta

  4. Este comentario no tiene nada que ver con el tema ni con el scripts, pero me ha surgido un problemas, y queria mirar si ustedes me lo podrian solucionar.

    He instalado zentyal y algunos paquete para un proyecto que tengo que hacer, para ello debo tener un dominio especifico, el problema esque ese paso me lo salte y ahora no me deja cambiar el nombre de dominio, mi pregunta es, como puede cambiar ese nombre de dominio sin tener que instalar la máquina desde 0, ya que si lo intento cambiar desde Core-> Sistema -> General, lo intento modificar desde allí y me sale un error (the request action cannot de performance. Reason: The kerberos realm is already initialized and it is tied with the domain name).

    Si alguien tiene alguna idea o alguna página donde pueda solucionarme mi duda lo agradeceria. Salu2

    Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s