6.3. ¿Qué puede hacer Samba por mí?

Como se explicó anteriormente, Samba puede ayudar la coexistencia de máquinas Windows y Unix en la misma red. Sin embargo, existen algunas razones por las cuales podría desear instalar un servidor Samba en su red:

A continuación se verá a Samba en acción. Se asume la siguiente configuración de red: un servidor Samba sobre una máquina Unix, cuyo hostname es toltec, y un par de clientes Windows, denominados maya y aztec, todos los equipos están conectados gracias a una red de área local (LAN). Se asume también que toltec tiene una impresora de inyección de tinta conectada, lp, y un disco compartido spirit -ambos recursos están disponibles para las otras dos máquinas-. Un gráfico de esta red se muestra en la Figura 6.1, “Configuración de red simple con un servidor Samba”.

Figura 6.1. Configuración de red simple con un servidor Samba[11]

Configuración de red simple con un servidor SambaSi quiere obtener el código fuente de esta figura realizada con pulse aquí.

En esta red, cada ordenador comparte el mismo grupo de trabajo (workgroup). Un grupo de trabajo no es más que una etiqueta que identifica a un determinado grupo de ordenadores y sus recursos en una red SBM. Pueden existir varios grupos de trabajo sobre la red al mismo tiempo, pero para el ejemplo sólo se tiene uno: el grupo de trabajo METRAN.

6.3.1. Compartiendo un disco

Si todo está bien configurado, se debería ver el servidor Samba, toltec, a través del entorno de red de la máquina Windows denominada maya. De hecho, la Figura 6.2, “Entorno de red” muestra el entorno de red de la maya, incluyendo a toltec y a cada una de las máquinas que residen en el grupo de trabajo METRAN. Dese cuenta del icono “Entire Network” al principio de la lista. Como se mencionó anteriormente, pueden existir más grupos de trabajo sobre una red SBM al mismo tiempo. Si un usuario hace click sobre ese icono, verá la lista de todos los grupos de trabajo que actualmente existen en la red.

Figura 6.2. Entorno de red

Entorno de red

Se puede ver con más detalle los recursos compartidos por toltec haciendo doble click sobre su icono. Esta acción provoca un contacto con toltec, solicitándole la lista de sus recursos compartidos -la impresora y el disco- que proporciona. En este caso, existe una impresora denominada lp, un directorio personal denominado jay y el disco compartido llamado spirit en el servidor, como se muestra en la Figura 6.3, “Recursos compartidos por toltec vistos desde maya”. Tenga en cuenta que Windows muestra los hostnames con letras mayúsculas/minúsculas (Toltec). La distinción entre mayúsculas y minúsculas es irrelevantes en los nombres de las máquinas (hostname), por lo que puede ver toltec, Toltec y TOLTEC como resultado de algunos comandos o en distintas pantallas, pero todos se refieren al mismo sistema. Gracias a Samba, Windows 98 ve al servidor Unix como a un servidor SBM válido, y puede acceder al directorio spirit como si fuese un directorio más del sistema.

Figura 6.3. Recursos compartidos por toltec vistos desde maya

Recursos compartidos por toltec vistos desde maya

Una característica interesante de Windows es la capacidad de mapear una letra de unidad (como E:, F: o Z:) hacia un directorio compartido usando la opción “Conectar a Unidad de Red” (Map Network Drive) desde el explorador de Windows [12]. Una vez hecho esto, las aplicaciones podrán acceder a la carpeta compartida utilizando la letra de la unidad de disco asignada. Se pueden almacenar datos en ella, instalar y ejecutar programas desde ella e incluso protegerla con una contraseña para evitar accesos no deseados. La Figura 6.4, “Mapeo de una unidad de red en una letra de unidad Windows” muestra un ejemplo de mapeado de un directorio compartido hacia una letra de una unidad.

Figura 6.4. Mapeo de una unidad de red en una letra de unidad Windows

Mapeo de una unidad de red en una letra de unidad Windows

Eche un vistazo a la línea que aparece al lado de la ruta (Path) en la figura Figura 6.4, “Mapeo de una unidad de red en una letra de unidad Windows”. Una forma equivalente de representar un directorio en una máquina de la red es utilizando dos barras invertidas (\\), seguidas del nombre de la máquina de red, otra barra invertida (\), y el directorio de red de la máquina, como se muestra en el Ejemplo 6.1, “Representación de un directorio en una máquina de red”:

Ejemplo 6.1. Representación de un directorio en una máquina de red

\\maquina-de-red\directorio

Esto se conoce como notación UNC (Universal Naming Convention) en el mundo Windows. Por ejemplo, la caja de diálogo de la Figura 6.4, “Mapeo de una unidad de red en una letra de unidad Windows” representa el directorio de red del servidor toltec como en el Ejemplo 6.2, “Notación UNC (Universal Naming Convention)”:

Ejemplo 6.2. Notación UNC (Universal Naming Convention)

\\toltec\spirit

Si esto le resulta familiar, probablemente esté pensando en uniform resource locator (URL), que es la notación que utilizan los navegadores web como Mozilla o Konqueror para acceder a las máquinas a través de Internet. Asegúrese de no confundir ambas notaciones, las URLs utilizan barras inclinadas hacia la derecha en vez de barras invertidas, y están precedidas por el nombre del protocolo de transferencia de datos (por ejemplo: ftp, http) y dos puntos (:). En realidad, URL y UNC son dos cosas completamente distintas, aunque algunas veces se pueda especificar un recurso SBM haciendo uso de la notación URL en vez de la notación UNC. Para especificar la siguiente dirección, \\toltec\spirit, en notación URL, se ha de escribir: smb://toltec/spirit.

Una vez que la unidad de red está configurada, Windows y sus programas la verán como una unidad de disco más. Si tiene alguna aplicación multiusuario, puede instalarla sobre una unidad de red[13]. La Figura 6.5, “Un directorio de red mapeado como la unidad J en el cliente” muestra la unidad de red resultante, como si fuese una unidad más en el cliente Windows 98. Advierta la tubería de enlace en el icono de la unidad “J:”; esto indica que es una unidad de red, en lugar de una unidad física.

Figura 6.5. Un directorio de red mapeado como la unidad J en el cliente

Un directorio de red mapeado como la unidad J en el cliente

Dependiendo del sistema operativo Widows que utilice (Windows Me, Windows 2000 o Windows XP), el entorno de red funcionará de una forma distinta. Es necesario pulsar sobre algunos iconos más, pero se puede ver el servidor toltec como se muestra en la Figura 6.6, “Recursos compartidos en toltec (vistos desde aztec)”. Esta captura está realizada desde un sistema Windows 2000. Haciendo uso de la opción “Conectar a unidad de red” (Map Network Drive), obtendríamos el mismo resultado en otras versiones de Windows.

Figura 6.6. Recursos compartidos en toltec (vistos desde aztec)

Recursos compartidos en toltec (vistos desde aztec)

6.3.2. Compartiendo una impresora

Probablemente se haya fijado en la impresora lp que aparece en la lista de recursos de toltec en la Figura 6.3, “Recursos compartidos por toltec vistos desde maya”. Esto indica que el servidor Unix posee una impresora que puede ser compartida con los clientes SBM del grupo de trabajo. Los datos enviados a la impresora desde cualquier cliente será colocado en la cola de impresión del servidor Unix, para seguidamente ser impresos en el orden de llegada.

Configurar una impresora para que sea accesible a través de Samba a los clientes Windows es, si cabe más sencillo que configurar una unidad de disco. Haciendo doble click sobre la impresora e identificando el fabricante y modelo de la misma, puede instalar el controlador para esa impresora en el cliente Windows. Desde ese momento, Windows podrá formatear cualquier información enviada a la impresora de red y acceder a ella como si fuese una impresora local. En Windows 98, al hacer doble click sobre el icono de impresoras que aparece en el Panel de Control, abre la ventana de impresoras que se muestra en la Figura 6.7, “Impresora en red disponible en toltec”. Una vez más, note la tubería colocada bajo la impresora, lo que indica que se trata de una impresora en red.

Figura 6.7. Impresora en red disponible en toltec

Impresora en red disponible en toltec

6.3.3. Viendo las cosas desde Unix

Como se mencionó anteriormente, Samba no es más que un conjunto de demonios. Puede verlos haciendo uso del comando ps; puede ver cualquier mensaje que generen a través de archivos de depuración personalizados o a través del syslog (dependiendo de como se haya configurado Samba); y puede configurarlos desde un único archivo de configuración: smb.conf. A parte de esto, si quiere saber que están haciendo los demonios en un determinado momento, Samba posee un programa denominado smbstatus que muestra la información requerida. El Ejemplo 6.3, “Muestra de la salida del comando smbstatus” muestra su salida:

Ejemplo 6.3. Muestra de la salida del comando smbstatus

# /usr/bin/smbstatus
Processing section "[homes]"
Processing section "[printers]"
Processing section "[spirit]"

Samba version 2.2.6
Service     uid    gid    pid     machine
-----------------------------------------
spirit      jay    jay    7735    maya     (172.16.1.6) Sun Aug 12 12:17:14 2002
spirit      jay    jay    7779    aztec    (172.16.1.2) Sun Aug 12 12:49:11 2002
jay         jay    jay    7735    maya     (172.16.1.6) Sun Aug 12 12:56:19 2002

Locked files:
Pid    DenyMode   R/W        Oplock     Name
--------------------------------------------------
7735   DENY_WRITE RDONLY     NONE       /u/RegClean.exe   Sun Aug 12 13:01:22 2002

Share mode memory usage (bytes):
   1048368(99%) free + 136(0%) used + 72(0%) overhead = 1048576(100%) total

El informe de estado de Samba proporciona tres grupos de datos, cada uno de ellos dividido en secciones separadas. La primera sección identifica los sistemas que han conectado con el servidor Samba, identificando a cada cliente por su nombre de máquina (maza y aztec) y su dirección IP. La segunda sección informa del nombre y estado de los ficheros compartidos por el servidor que están actualmente en uso, incluyendo el estado de lectura/escritura o cualquier bloqueo que estos posean. Finalmente, Samba informa sobre la memoria en uso por los recursos que administra, incluyendo la cantidad de memoria que se está utilizando por los recursos compartidos más el gasto fijo de memoria. (Tenga en cuenta que esta no es la misma cantidad de memoria que el total de memoria utilizada por los procesos smbd y nmbd.)



[10] En inglés Client Access Licenses (CALs)

[11] Si quiere obtener el código fuente de esta figura realizada con Dia pulse aquí.

[12] También puede hacer click con el botón derecho en el recurso compartido y seleccionar la entrada del menú “Conectar a Unidad de Red” (Map Network Drive).

[13] Tenga en cuenta que muchas veces la aceptación de la licencia de usuario final prohibe instalar un programa en red, de forma que varios clientes puedan acceder a el. Compruebe el acuerdo legal que acompaña al producto para asegurarse.