Introducción a Samba


samba_logo
¡Hola Amigos!. Empezaré declarando que No es lo mismo utilizar Samba que escribir sobre él. Como dijo un gran poeta hindú o persa (no recuerdo bien), “Moviendo el dedo se escribe, y una vez escrito, ni toda tu devoción ni todas tus lágrimas podrán borrar algo de lo escrito”. Pido disculpas adelantadas por la extensión del artículo o por alguna omisión involuntaria. ¡Gracias!.
¿Que es Samba para los usuarios de UNIX/Linux?. Entre otras definiciones es tremenda forma de bailar practicada en Brasil y en muchos otros países, que excede con mucho a mis modestos conocimientos sobre el Cómo Divertirse. :-) Así pues, acudo a mi enciclopedia y encuentro:
De Wikipedia: Samba es una implementación libre del protocolo de archivos compartidos de Microsoft Windows (antiguamente llamado SMB, renombrado recientemente a CIFS) para sistemas de tipo UNIX. De esta forma, es posible que computadoras con GNU/Linux, Mac OS X o Unix en general se vean como servidores o actúen como clientes en redes de Windows. Samba también permite validar usuarios haciendo de Controlador Principal de Dominio (PDC), como miembro de dominio e incluso como un dominio Active Directory para redes basadas en Windows; aparte de ser capaz de servir colas de impresión, directorios compartidos y autentificar con su propio archivo de usuarios.
Veremos:
  • Ejemplos del uso de Samba
  • Instalemos y leamos Documentación
  • Versiones Samba 3.xxx y Samba 4.xxx
  • Permisos y derechos en carpetas y archivos en GNU/Linux
  • Algunos programas relacionados con Samba en Wheezy
  • Recomendaciones

Ejemplos del uso de Samba

El Inmenso proyecto Samba está presente en muchos programas y servicios en nuestro mundo Linux: En el diario y simple acceso a recursos compartidos en redes SMB/CIFS que hacemos diariamente los que tenemos instalados Linux en nuestras estaciones de trabajo.
Servidores de ficheros y de impresoras tanto con usuarios que se autentican ante el propio servidor, como ante un servidor LDAP, o ante un Active Directory de Microsft Windows. También lo veremos en el papel protagónico principal en Controladores de Dominio al estilo de los NT 4 de Microsoft, hechos sobre UNIX/Linux. Ejemplo de esos PDC son ClearOS, Zentyal, Linux Artica Proxy, etc.
Ahora, con la salida estable del Samba 4, también nos podemos hacer un Active Directory sobre UNIX/Linux. Además, es el actor principal de los llamados FreeNAS de la distribución FreeBSD. Para más información, visite el Sitio Oficial de Samba, cuyo slogan es: “Opening Windows to a Wider World. Samba is the standard Windows interoperability suite of programs for Linux and Unix“. El nuevo “Look” del sitio es muy sugerente.

Instalemos y leamos la Documentación

“No existe mejor manual ni artículo que la propia documentación que trae el paquete samba-doc“. En la Aldea www encontramos miles -muchos más- artículos, tutoriales, howtos, y el copón divino de literatura en todos los idiomas sobre Samba.
No pretendemos, ni por asomo, sustituir a la documentación acompañante, ni mucho menos a los posts. Acaso y muy humildemente dar como siempre un Punto de Entrada al fascinante mundo del Proyecto Samba. Para instalar la documentación lo hacemos mediante el Synaptic o ejecutamos en una consola como el usuario root:
aptitude install samba-doc samba-doc-pdf
La documentación se instala en las carpetas /usr/share/doc/samba-doc y /usr/share/doc/samba-doc-pdfrespectivamente. Por favor, aunque esté en inglés, lean la documentación. En caso de que no puedan, es hora de aprender al menos a leer inglés. :-)

Versiones Samba 3.xxx y Samba 4.xxx

Aclaramos que en el repositorio del Wheezy, encontraremos los paquetes samba y samba4. El primero es la versión 3.6.6-6, mientras que el segundo es la 4.0.0~beta2+dfsg1-3.2.
La diferencia fundamental entre las versiones 3.xxx y la 4.xxx, es que con las primeras podemos instalar, entre otros tipos de servicios, un Controlador Principal de Dominio al estilo de los NT4 de Microsoft; mientras que con la serie 4, ya podemos hacernos un Directorio Activo o “Active Directory” al estilo de los Directorios Activos con Microsoft Windows 2000 o superiores.

Permisos y derechos en carpetas y archivos en GNU/Linux

Muy Importante: Imprescindible que antes de continuar leyendo, descargue una copia del artículo “Permisos y derechos en GNU/Linux“, del autor Juan Antonio Aguilera, de la UCI en Cuba. 1 febrero 2012 a las 12:29 PM (tomada del sitio humanos.uci.cu). También puede leer el Artículo Original aquí.
Uno de los aspectos “difícil de entender” sobre Samba es precisamente la seguridad inherente al sistema de ficheros UNIX/Linux sobre el cual se asienta y opera. Este simple detalle constituye uno de los problemas principales que tienden a confundir a muchos que se inician en Samba y lo tildan hasta de “Diabólico”. ¡Pobre Samba!. :-)
Muchos usuarios que vienen del mundo Windows, se quedan perplejos ante la forma en que se manejan los recursos compartidos vía Samba, debido en lo fundamental a que no se comporta como ellos esperan. Algunos Administradores de Redes Microsoft se confunden frecuentemente con respecto al Control de Acceso a la Red y en cómo garantizar el acceso a los usuarios que ellos necesitan, mientras protegen otros recursos de accesos no autorizados. Por otra parte, Administradores UNIX/Linux, sobre todo lo que no están familiarizados con el ambiente de Microsoft Windows, tiene dificultad en visualizar cómo fijar adecuadamente los permisos de acceso a archivos y directorios de forma que satisfagan los deseos de los usuarios de Windows.
El Problema Fundamental radica en el cómo se asignan los permisos de archivos y directorios en cada Sistema de Archivos de cada uno de los ambientes.
Samba no puede obviar ni ocultar esa realidad aunque establezca un puente o transición en cierto grado entre ambos ambientes. Samba se concibió para proveer un medio de intercambiar datos entre diferentes sistemas operativos. Samba no se creó para cambiar a la plataforma UNIX/Linux en una plataforma como Microsoft Windows. En vez de eso, el propósito inicial fue el brindar un nivel suficiente de intercambio de datos entre los dos ambientes. No obstante, lo que es capaz de hacer actualmente Samba, excede a los planes y perspectivas de sus inicios, a pesar de que la corta distancia existente entre ambos continúa disminuyendo cada día.

Algunos programas relacionados con Samba en Wheezy

Si realizamos una búsqueda con la palabra “samba” por Descripción y nombre mediante el Synaptic, nos devolverá una lista bastante larga de paquetes. También la podemos obtener si ejecutamos el siguiente comando:
aptitude search ~dsamba
Si queremos guardar en un archivo de texto para una tranquila lectura sobre la información de todos los paquetes relacionados, podemos hacerlo mediante:
aptitude show ~dsamba > samba-paquetes.txt
También pudimos ejecutar aptitude search ~dsamba > samba-lista-paquetes.txt, y posteriormente leer con calma los nombres. Además, sería beneficioso hacer lo mismo con la palabra “smb”. Esa tarea la dejamos a su discreción. :-) Nosotros nos limitaremos solamente a describir muy brevemente algunos de ellos. Por orden alfabético seleccionamos:
fusesmb: Sistema de archivos cliente basado en el protocolo de transferencia de archivos SMB. Proporciona la posibilidad de intercambiar archivos de forma transparente con servidores Microsoft Windows, y servidores UNIX ejecutando Samba. Se basa en FUSE, el entorno de sistemas de archivos en espacio de usuario de Linux.
gadmin-samba: Herramienta para la configuración de Samba con interfaz gráfica GTK+. gadmin-sambaes un programa fácil de utilizar mediante el cual podemos implementar un servidor de ficheros e impresoras; un controlador de dominio; administrar totalmente a usuarios y recursos compartidos, etc.
gnome-system-tools: Herramientas para la configuración del GNOME. Entre sus múltiples características, encontramos la referente a compartir carpetas mediante Samba. Aclaramos que el nivel de control sobre los permisos de usuarios es extremadamente básico y personalmente no la recomiendo para ésta tarea.
gosa: Palabra Mayor. Programa que brinda la Administración de Sistemas mediante una interfaz web, para implementaciones de servicios basados en LDAP. Provee el acceso a POSIX, Samba, Proxy, Fax, PureFTP, cuentas Kerberos según la implementación del Massachusset Institute of Thecnology MIT, y muchas otras funciones.
kdenetwork-filesharing: Módulo de KDE para la configuración de recursos compartidos. Interfaz gráfica a la cual accedemos vía el Panel de Control para configurar recursos compartidos mediante Network FileSystem o Samba.
ldap-account-manager: Interfaz Web para la administración de cuentas en un directorio LDAP. Se ejecuta sobre un servidor de páginas web y nos permite administrar cuentas de usuarios, grupos y máquinas. Actualmente soporta tipos de cuenta Samba 3, Unix, Kolab2 y entradas de libretas de direcciones, entre otras.
samba: Servidor de archivos, impresoras e identificación usando SMB/CIFS en UNIX. Samba es una implementación del protocolo SMB/CIFS para sistemas UNIX, proporcionando la posibilidad de compartir archivos e impresoras entre plataformas como Microsoft Windows, OS X y otros sistemas UNIX.
Samba también puede funcionar como un controlador de dominio como lo haría un NT4, y puede integrarse con dominios de NT4 y Reinos de «Active Directory» como un miembro de un Reino (“Realm”). Para utilizarlo en un dominio de NT4 o un reino de «Active Directory», también necesitará el paquetewinbind. El paquete samba NO es necesario para conectarse a los servidores de SMB/CIFS existentes (véase smbclient) o para montar sistemas de archivos remotos (véase cifs-utils).
  • cifs-utils: Utlidades para el Sistema de Archivos Comunes para Internet o “Common Internet File System“. Contiene las herramientas necesarias para montar en el sistema de archivos local, sistemas de archivos remotos de redes que soporten el protocolo CIFS.
samba4: Servidor de archivos, impresoras e identificación usando SMB/CIFS en UNIX. Servidor Controlador de Dominio tipo NT y Directorio Activo (version 4).
smb4k: Avanzado y muy buen navegador de equipos y recursos compartidos en redes SMB/CIFS. Pertenece a la plataforma KDE.
smbclient: Herramientas de consola para trabajar con recursos compartidos en redes SMB/CIFS. Contiene utilidades de la línea de comandos para acceder a servidores Windows y Samba: smbclient, smbtar, smbspool, smbtree y otras.
swatSamba Web Administration Tool”. Permite administrar un servidor Samba vía Web. No se va a mantener más por parte de sus desarrolladores. Por otra parte, su configuración por defecto no es segura para redes no confiables, según el Team de Debian.
winbind: Servidor de integración del servicio de nombres de Samba. Integra los mecanismos de autenticación y de servicios de directorio (búsqueda de usuarios y grupos ) desde un Controlador de Dominio o un Directorio Activo de Windows, en una máquina UNIX/Linux
En Ubuntu tenemos también al programa system-config-samba, el cual da un nivel básico para administrar recursos compartidos e importar usuarios de Linux hacia la base de datos de Samba. Dedicaremos un artículo a cómo podemos instalar y usar esa herramienta en Wheezy.

Recomendaciones

  • Siempre ir de lo sencillo a lo complejo.
  • Comencemos por:
.- Usar las herramientas para acceder y trabajar con recursos en redes SMB/CIFS.
.- Estudiar y aplicar los Permisos y Derechos en Carpetas y Archivos en sistemas de ficheros GNU/Linux.
.- Estudiar las Definiciones y Conceptos de la documentación.
.- Empezar por compartir carpetas de forma local.
.- Aprender a unir nuestro Debian a un Dominio Microsoft.
.- Compartir recursos locales para usuarios de un Dominio o Directorio Activo de Windows.
.- Volver a estudiar y practicar mucho.
.- Implementar nuestro propio Controlador de Dominio en Samba.
No quiero terminar sin antes declarar que Samba no es un tema adecuado para los Sospechosos Habituales de caer en La Desesperación y la Prisa, ésta última considerada el octavo Pecado Capital según la Filosofía China. :-)
Y hasta la próxima aventura, Amigos!!!.
Agradecimientos:

No hay comentarios:

Publicar un comentario