9.2. Estructura del archivo smb.conf

La configuración de Samba se almacena en el archivo smb.conf, que en el sistema Debian GNU/Linux se encuentra en el directorio /etc/samba/. La edición de este archivo se puede hacer utilizando un editor de textos o haciendo uso de herramientas gráficas, como la que provee Samba: SWAT (vea el Apéndice E, Instalación y configuración de SWAT para más información).

9.2.1. Sintaxis

El archivo smb.conf utiliza la misma sintaxis que los antiguos ficheros .ini de Windows 3.1: cada archivo consistía en varias secciones, las cuales comenzaban con el nombre de la sección entre corchetes ([]) en una nueva línea. Cada una contenía cero o más pares llave/valor separados por un signo de igualdad (=). El archivo de configuración de Samba es un archivo en texto plano, por lo que se puede editar con cualquier editor de textos.

Cada sección en el archivo smb.conf representa un recurso compartido en el servidor Samba. La sección “global” es especial, ya que contiene opciones que se aplican a todo el servidor Samba y no sólo a un recurso compartido en particular.

Un archivo de configuración realmente pequeño, podría ser:

Ejemplo 9.1. Un archivo smb.conf mínimo

[global]
workgroup = GRUPODETRABAJO
netbios name = MINOMBRE

[recurso-compartido1]
path = /tmp

[recurso-compartido2]
path = /otro_directorio_compartido
comment = Algunos archivos aleatorios

9.2.2. Comprobando el archivo smb.conf

Es importante validar el contenido del archivo smb.conf haciendo uso del programa testparm. Si testparm se ejecuta correctamente, listará los servicios cargados.

En el Ejemplo 9.2, “Comprobando el archivo por defecto smb.conf con testparm” se comprobará el archivo que viene por defecto (vea el apéndice Apéndice AB, Archivo de configuración /etc/samba/smb.conf - por defecto -) con el paquete de Samba de la distribución Debian GNU/Linux, una vez instalado el paquete.

Ejemplo 9.2. Comprobando el archivo por defecto smb.conf con testparm

# /usr/bin/testparm 
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

[ENTER]
# Global parameters
[global]
        workgroup = GSRDOMAIN
        server string = %h server (Samba %v)
        obey pam restrictions = Yes
        passdb backend = tdbsam, guest
        passwd program = /usr/bin/passwd %u
        passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .
        syslog = 0
        log file = /var/log/samba/log.%m
        max log size = 1000
        dns proxy = No
        panic action = /usr/share/samba/panic-action %d
        invalid users = root

[homes]
        comment = Home Directories
        create mask = 0700
        directory mask = 0700
        browseable = No

[printers]
        comment = All Printers
        path = /tmp
        create mask = 0700
        printable = Yes
        browseable = No

[print$]
        comment = Printer Drivers
        path = /var/lib/samba/printers