12.2. ¿Qué es Samba?
Andrew Tridgell no podía utilizar el nombre smb para su proyecto porque estaba registrado y, según cuenta la leyenda, la palabra Samba fue el primer resultado que sugirió el procesador de textos cuando Andrew escribió las letras smb en un documento.
Partiendo de las especificaciones del protocolo SMB, el ingeniero informático australiano Andrew Tridgell comenzó el desarrollo del proyecto Samba que tenía como objetivo ofrecer una alternativa libre para que sistemas “no Microsoft” (originalmente sistemas UNIX) pudiesen intercambiar archivos e impresoras con sistemas Microsoft. El objetivo era, y sigue siendo, que un ordenador que ejecute un sistema operativo “no Microsoft” (como, por ejemplo, Ubuntu) pueda ser visto en la red local como cualquier otro ordenador que estuviese ejecutando Windows.
Sin embargo, Microsoft no ha vuelto a publicar ninguna de las modificaciones que ha realizado desde entonces en sus protocolos de red…, y han sido muchas. Esto ha ocasionado que el equipo de Samba haya tenido que aplicar técnicas de ingeniería inversa para tratar de averiguar lo que hacen las nuevas versiones del protocolo CIFS y modificar Samba en función de los resultados obtenidos. La consecuencia es que, hasta la versión 3.6.22, no se podía implementar un equivalente a Active Directory usando Samba, aunque sí se podía implantar un servidor que reemplazase por completo a otro con Windows NT.
Dispones de la lista completa de versiones de Samba en http://www.samba.org/samba/history/
De forma paralela a la rama «oficial» de Samba, en 2003 comenzó a gestarse la versión 4, con la que se afrontó la reescritura de gran parte de su código, fijando como objetivo la plena compatibilidad con Active Directory. En enero de 2006 se publicó la primera revisión técnica, pero no fué hasta el 11 de Diciembre de 2012 cuando se presentó la primera versión estable.
Por otro lado, una de las ventajas que aporta Samba es que, como se ha programado desde cero, en muchas ocasiones es más rápido que los protocolos originales. Además, como se publica bajo licencia Open Source (en concreto su licencia es GPL), ha sido portado a muchos sistemas operativos diferentes.
En este capítulo aprenderemos diferentes formas de utilizar archivos compartidos por Windows o compartir archivos desde Linux para que los ordenadores que ejecuten Windows puedan acceder a ellos. Como hemos venido haciendo hasta ahora, en todos los casos utilizaremos Ubuntu como sistema “no Microsoft”, aunque no debemos olvidar que Samba se encuentra también en UNIX, BSD, Solaris, Mac OSX e incluso Android.