4.1.2 Variables.

Samba incluye un completo juego de variables para determinar las características del servidor Samba y de los clientes a los cuales conecta. Cada una de estas variables comienza con un símbolo de porcentaje (%), seguido por un único carácter minúscula o mayúscula, y puede ser usada sólo en la parte del valor de una opción de configuración (p.ej., después del signo igual):

[pub] path = /home/ftp/pub/%a

La variable %a contiene como valor la arquitectura de la máquina cliente (p.ej. WinNT para Windows NT, Win95 para Windows 95 o 98, o WfWg para Windows para Trabajo en Grupos). A consecuencia de esto, Samba asignará una ruta única para el recurso [pub] para las máquinas clientes que corran Windows NT, una diferente para las máquinas clientes que corran Windows 95, y otra para Windows para Trabajo en Grupo. En otras palabras, las rutas que cada cliente podrá ver serán diferentes, en función de la arquitectura de los clientes, como sigue:

/home/ftp/pub/WinNT /home/ftp/pub/Win95 /home/ftp/pub/WfWg

El uso de variables de esta forma es útil si tienes diferentes clientes corriendo diversas plataformas y deseas crear configuraciones en función de las mismas. Samba tiene 19 variables, que ves en la Tabla 4.1.


Table: Variables de Samba.

Table: Variables de Samba.
Variable Definición
Relativas a Clientes  
%a Arquitectura de Cliente (p.ej., Samba, WfWg, WinNT, Win95, o UNKNOWN)
%I Dirección IP de Cliente (p.ej., 192.168.220.100)
%m Nombre NetBIOS de Cliente
%M Nombre DNS de Cliente
Relativas a Usuarios  
%g Grupo Primario de %u
%G Grupo Primario de %U
%H Directorio "home" de %u
%u Actual nombre usuario Unix
%U Nombre de usuario (no siempre usado por Samba)
Relativas a Recursos  
%p Automontador de ruta para el recurso, si difiere de %P
%P Actual directorio root del recurso
%S Actual nombre del recurso
Relativas a Servidor  
%d Actual PID de servidor
%h nombre DNS de máquina del servidor Samba
%L Nombre NetBIOS del servidor Samba
%N Directorio "home" del servidor, desde el mapa automount
%v Versión de Samba
Varias  
%R Nivel de protocolo SMB que se ha negociado
%T Fecha y hora actual


Aquí tienes otro ejemplo del uso de variables: digamos que hay 5 clientes en tu red, pero uno de ellos, fred, requirere un configuración de [homes] algo diferente al resto cuando conecta al servidor Samba. Con Samba, esto tiene fácil solución:

[homes]
  ...
  include = /usr/local/samba/lib/smb.conf.%m
  ...

La opción include aquí provoca un fichero de configuración separado para cada máquina NetBIOS (%m), que será leído en adición al fichero actual. Si el nombre de host de la máquina cliente es fred, y el fichero smb.conf.fred existe en el directorio samba_dir /lib/ directory (o el que hayas especificado en tu configuración), Samba insertará ese fichero de configuración en el genérico smb.conf. Si alguna opción de configuración existe en ambos ficheros, esos valores serán redefinidos por la configuración del fichero particular de cada usuario. Pero OJO. Si cualesquiera opción tras la opción include vuelve a ser redefinida en el fichero de configuración principal, Samba volverá a redefinir su valor. Es decir, siempre prevalece lo último.

Algo importante: si no existe el fichero particular de usuario, Samba NO generará error. De hecho, no hará nada. Esto te va a permitir el poder crear un fichero de configuración extra sólo para fred, en lugar de tener que crear uno para cada máquina NetBIOS de la red.

Los ficheros de configuración específicos de una máquina pueden ser usados tanto para optimizar la configuración de determinados clientes como para hacer el control de errores de Samba más sencillo. Considera lo último; si tenemos un cliente con un problema, podemos usar esta técnica para asignarle un nivel de depuración de errores mayor y dirigir la salida a un fichero de registro particular para esa máquina. Esto nos permitirá ver qué está haciendo Samba sin que afecte al resto de clientes o sobrecargar el disco con grabaciones de registros de sucesos de todo el mundo. Recuerda, ¡En grandes redes puede que no tengas siempre la posibilidad de reiniciar el servidor Samba para operaciones de depuración!

Puedes usar las variables de la Tabla 4.1 para asignar valores a una gran variedad de opciones de Samba. Remarcaremos algunas de ellas a medida que avancemos en los próximos capítulos.

TLDP-ES 03/11/2002