Tras nuestro paso por las variables, hay unas cuantas secciones especiales en el fichero de configuración de Samba de las que vamos a hablar ahora. De nuevo, no te preocupes si no comprendes todas y cada una de las opciones de configuración listadas a continuación; iremos sobre cada una de ellas más específicamente a medida que avancemos en los capítulos.
La Sección [globals]
La sección [globals] aparece en todos los ficheros de configuración de Samba, aunque no es obligatoria su definición. Cualquier opción de esta sección se aplicará al resto de recursos, como si los contenidos de la sección se copiasen a todas las demás. Sólo una salvedad: otras secciones pueden contener la misma opción pero con distinto valor; lo último prevalece siempre sobre lo antiguo, así que ese último valor prevalecerá sobre el establecido en la sección [globals].
Para ilustrar esto, miremos de nuevo el ejemplo del capítulo:
[global]
log level = 1
max log size = 1000
socket options = TCP_NODELAY IPTOS_LOWDELAY
guest ok = no
[homes]
browseable = no
map archive = yes
[printers]
path = /usr/tmp
guest ok = yes
printable = yes
min print space = 2000
[test]
browseable = yes
read only = yes
guest ok = yes
path = /export/samba/test
En el ejmplo, si vamos a conectar un cliente al recurso [test], Samba leería primero la sección [globals]. En éste punto, establecería la opción guest ok = no como valor global por defecto para cada recurso que se encuentre en el fichero de configuración. Esto incluye a los recursos [homes] y [printers]. Cuando lea la sección para el recurso [test], sin embargo, se encontrará con la opción de configuración guest ok = yes, y cambiará el valor que le venía de la secció [globals] con el valor yes en el contesto del recurso [pub].
Cualquier opción que aparezca fuera de una sección se asume perteneciente a la sección global.
La Sección [homes]
Si un cliente intenta conectar a un recurso que no aparece en el fichero smb.conf, Samba buscará un recurso [homes] en el fichero de configuración. Si existe alguno, el recurso no identificado es asumido como nombre de usuario Unix, el cual es interrogado en la B.D. de contraseñas del servidor Samba. Si el usuario aparece registrado, Samba asume que el cliente es un usuario Unix intentando conectar a su cuenta "home" en el servidor Unix.
Por ejemplo, supongamos que una máquina cliente se conecta al servidor Samba hydra por primera vez, e intenta conectar a un recurso denominado [alice]. Resulta que no existe ningún recurso [alice] definido en el fichero smb.conf, pero sí existe [homes], así que Samba busca en el fichero de contraseñas y encuentra a una cuenta de usuario llamada alice presente en el sistema. Samba entonces comprueba la contraseña proporcionada por el cliente contra la contraseña de usuario Unix de alice. Si las contraseñas coinciden, entonces Samba lo reconoce como sigue: el usuario alice está intentando conectar con su directorio "home". Samba creará un recurso llamado [alice] para él.
El proceso de uso de la sección [homes] para crear usuarios (y controlar su acceso a través de sus contraseñas) se discutirá con más detalle en el Capítulo 6, Usuarios, Seguridad y Dominios.
La Sección [printers]
La tercera sección especial se denomina [printers] y es similar a [homes]. Si un cliente intenta conectar a un recurso que no existe en el fichero smb.conf, y su nombre no puede ser encontrado en el fichero de contraseñas, Samba comprobará si el recurso solicitado es una impresora. Samba lo hace leyendo el fichero de capacidades de impresora (normalmente /etc/printcap) para ver si el nombre del recurso aparece ahí
4.1. Si existe, Samba crea el recurso.
Como [homes], esto significa que no tienes por qué mantener un recurso para cada una de tus impresoras en el fichero smb.conf. En su lugar, Samba comprueba el registro de impresoras de Unix, y proporciona acceso a las impresoras registradas a las máquinas clientes. Sin embargo, existe una limitación obvia: si tienes una cuenta llamada fred y una impresora llamada también fred, Samba siempre encontrará la cuenta de usuario primero, aunque el cliente necesite realmente acceder a la impresora.
El proceso de configurar el recurso [printers] se discute en más detalle en el Capítulo 7, Impresión y Resolución de Nombres.
Opciones de Configuración
Las opciones de los ficheros de configuración de Samba entran en dos posibles categorías : globales o recursos (shares). Cada categoría dicta dónde una opción puede aparecer en el fichero de configuración.
Global Las opciones globales deben aparecer en la sección [global] y sólo ahí. Estas son opciones que normalmente se aplican al servidor Samba, y no a los recursos que se dan a compartir.
Share Las opciones de recurso compartido o "share" pueden aparecer en las secciones de recursos específicos, o pueden aparecer en la sección [global]. Si aparecen en la sección [global], definirán un valor por defecto para todos los recursos, a menos que un recurso determinado redefina ese valor.
En adición, los valores que una opción de configuración puede tomar pueden ser divididos en cuatro categorías:
Booleano Simplemente "yes" o "no", pero pueden ser representados por cualquiera de los siguientes valores: yes, no, true, false, 0, 1. Los valores no son sensibles a mayúsculas: YES es lo mismo que yes.
Numéricos Un número entero, hexadecimal u octal. La sintaxis estándar 0x nn es usada para valores hexadecimales, y 0 nnn para octales.
Cadena Una cadena de caracteres sensibles a may/min, tales como un nombre de fichero o de usuario.
Lista Enumerada Una lista finita de valores conocidos. Por ejemplo, un booleano es una lista enumerada definida con sólo dos valores.
4.1
Dependiendo de tu sistema, este fichero puede no estar o ser /etc/printcap. Puedes usar el comando testparm que viene con Samba para determinar el valor de la opción de configuración printcap name; este fue el valor por defecto escogido cuando Samba fue compilado.