13.1
IntroducciÓn Samba es una herramienta útil
para cualquiera que necesite integrar máquinas
que ejecuten múltiples sistemas operativos.
Aunque compartir una conexión entre múltiples
sistema operativos es relativamente sencillo cuando
todos utilizan TCP/IP como protocolo de red, conseguir
que cada una de estas máquinas lea los
archivos de las otras y utilice las impresoras
compartidas no es tan fácil; a menos claro
está que utilices Samba. Samba es la ejecución de Linux del protocolo
SMB (Server Message Block, o Servidor de Bloques
de Mensajes); este protocolo se utiliza para permitir
la interacción del sistema de archivos
y de la impresora a través de redes con
múltiples sistemas operativos. Entre estos
sistemas se encuentran todos los Linux y Unix,
los Macintosh o los Microsoft Windows. Las principales
acciones que permite Samba son: • Servicios de archivos e impresoras; esto
quiere decir que se pueden montar directorios
Linux en otros sistemas operativos y utilizar
sus impresoras, pero también a la inversa.
• Servicios de autenticación (validar
el acceso de usuarios con nombre y contraseña).
• Servicios de resolución de nombres
(utilización de nombres dentro de la red).
• Servicios de listado o “browsing”
(conocer qué máquinas están
disponibles en la red). Existen dos demonios diferentes que proporcionan
servicio SMB a una máquina Linux: smbd
y nmbd; cada uno de estos demonios tiene una función
específica que, unidas, proporcionan todo
lo que se necesita para ejecutar Samba. El demonio “smbd” es el servicio
que gestiona la compartición de archivos
e impresoras; recibe solicitudes de clientes y
reacciona de acuerdo a la configuración
del servidor. Por otro lado “nmbd”
gestiona la traducción de nombres NetBIOS
(Network Basic Input/Output System, Sistema de
Entrada/Salida Básico de Red), que es un
sistema para nombrar máquinas que permite
que éstas sean reconocidas mediante un
nombre en lugar de tener que conocer en qué
tipo de red se encuentra la máquina. Otro
sistema que ofrece nmbd es el Servicio WINS (Windows
Internet Name Service, o Servicio de Nombres de
Internet de Windows), que puede considerarse como
una especie de servidor de nombres para NetBIOS. Samba ya viene instalado en GuadaLinex; pero
si lo reinstalas o actualizas de versión
la instalación va a preguntarte si quieres
ejecutar los demonios de forma independiente o
desde inetd; sigue la recomendación y selecciona
la ejecución como demonios independientes. También se nos pregunta si vamos a utilizar
contraseñas cifradas, lo que es más
que recomendable; además hay que tener
en cuenta que los usuarios de Samba son distintos
de los usuarios del sistema (aunque los nombres
pueden coincidir); lo más inteligente es
responder afirmativamente, lo que creará
un archivo para almacenar los usuarios y contraseñas
de Samba. Puedes ejecutar la aplicación de “Red”
e introducir una descripción y un grupo
de trabajo o dominio de la red. El servidor WINS
no es necesario que lo actives, a no ser que tengas
uno funcionando en tu red, claro está (si
no estás seguro es que no lo necesitas). El directorio donde residen los archivos de configuración
es /etc/Samba; en él se encuentran los
tres archivos que configuran Samba; el principal
es smb.conf. La configuración de este archivo
es tediosa realizarla a mano, ya que a diferencia
por ejemplo del httpd.conf de Apache el archivo
está casi vacío, por lo que habría
que introducir las diferentes opciones, en lugar
de eliminar el carácter “#”. Para solventar este problema vamos a utilizar
un programa gráfico llamado “swat”;
para instalarlo puedes usar apt (apt-get install
swat), que resolverá las dependencias de
forma adecuada; la única ventana que nos
muestra el programa de instalación es una
advertencia de que el archivo smb.conf va a ser
modificado y sobreescrito, para que realicemos
una copia de seguridad del archivo con las modificaciones
que tengamos ya hechos; tan sólo acepta. Este programa tiene una forma curiosa de ejecutarse,
ya que funciona como si fuera un servicio dependiente
de inetd; tras la instalación está
desactivado, por lo que edita el archivo inetd.conf
y elimina el “#<off>#” que hay
en la última línea. Una vez hecho
reinicia el demonio inetd y abre tu navegador
de Internet favorito; “swat” se ejecuta
como un servidor local en el puerto 901. Debes introducir el nombre de usuario “root”
y su contraseña; la pantalla principal
(“home”) muestra el menú disponible,
y está visible en todo momento; el resto
de la página muestra los enlaces a la documentación
existente referente a los demonios, los archivos
de configuración, utilidades de administración,
herramientas clientes, utilidades de diagnóstico,
... aunque está en inglés, puede
servirte como primera referencia ante una duda
puntual. La primera sección es “globals”,
y permite establecer las opciones generales de
Samba; podemos elegir la configuración
básica (recomendada) o la avanzada. Junto
a cada opción aparece un enlace a una pequeña
descripción de esa opción. Ya debes
tener configuradas algunas, como “workgroup”,
el nombre de NetBios y la descripción (“server
string”). El grupo de trabajo se utiliza
para permitir que Samba emule el funcionamiento
de un servidor windows, permitiendo que los usuarios
se autentifiquen con su nombre de usuario y contraseña. En las opciones de seguridad podemos elegir entre
el nivel usuario (cada usuario debe validar su
acceso mediante su login y password de Linux)
que es el nivel seleccionado por defecto (y recomendado),
y nivel compartido o “share” (para
accesos sin contraseña); “guest account”
es el nombre de usuario para accesos anónimos.
El resto de opciones se usan raramente. La pantalla “Shares” contiene la
página para gestionar los directorios compartidos.;
para crear uno debes introducir un nombre para
identificarlo y pulsar en “Create Share”,
podrás configurar varios elementos; el
primero y más importante es “path”,
que es la ruta a compartir; pueden especificarse
usuarios a los que se les permite el acceso (“valid
users”) o se les deniega (“invalid
users”).
Una vez hechas las modificaciones oportunas debes
pulsar “Commit Changes”. Puedes crear
todos los directorios compartidos que quieras. El menú “Printer” contiene
la página de gestión de impresoras
compartidas; sus opciones son similares a la anterior;
la variable “path” debe ponerse con
el valor “/tmp”. “Wizard” es un asistente de configuración
rápido, donde puede elegirse la forma de
ejecutar los demonios, la utilización de
WINS y si el directorio local del usuario es navegable
o no. Una vez hechos los cambios, debes pulsar
“Commit”. Con el botón “Status” se muestra
el estado del servidor y permite manipular los
demonios (activarlos, detenerlos o reiniciarlos);
se muestran las conexiones activas, los elementos
compartidos y los archivos abiertos. “View” muestra el fichero de configuración
utilizado, mostrando las opciones más relevantes. “Password” permite cambiar la clave
de acceso y dar de alta nuevos usuarios; estos
valores se almacenarán en el archivo smbpasswd.
Las opciones para los usuarios son, de izquierda
a derecha: cambiar contraseña, añadir
usuario, borrar usuario, deshabilitar usuario
y habilitar usuario. La parte inferior permite
modificar un usuario ya creado.
Para poder utilizar recursos exportados con Samba
debes utilizar el comando: “smbclient //nombre_máquina/recurso
-U usuario”, siendo este último el
nombre de un usuario Samba y no el login del sistema.
Esta herramienta funciona igual que un cliente
ftp, aunque puedes utilizar el explorador nautilus
mediante la dirección “smb://nombre_máquina/recurso”;
si no pones ningún recurso verás
todos los disponibles. Se puede montar al estilo de “mount”
un directorio compartido en red (ya sea de Linux
o de Windows) mediante la orden “smbmount
//nombre_máquina/directorio ruta_local
-o nombre_usuario”. La conexión desde un sistema Windows se
realiza como si fuera una máquina Windows
más. |