Configuración de samba

Introducción

Samba, al igual que todas las aplicaciones para Linux, dispone de un archivo de texto para su configuración. Se trata del archivo:

// Archivo de configuración de samba
/etc/samba/smb.conf

Aunque el archivo de configuración de samba es bastante extenso, para empezar a disfrutar de samba, tenemos que hacer muy pocos cambios. El archivo de configuración se divide en secciones identificadas por un nombre entre corchetes. Hay tres secciones especiales que son [global], [homes] y [printers]. La sección principal es la sección [global] que nos permite configurar los parámetros generales del servicio. La sección [homes] nos permitirá compartir las carpetas home de cada usuario, para que cada usuario pueda acceder a su carpeta home por la red. La sección [printers] nos permitirá compartir impresoras. Para compartir una carpeta, debemos crear una sección nueva. El nombre de la sección, será el nombre del recurso compartido. Ejemplo, si queremos compartir la carpeta /home/comun-profes y llamar al recurso compartido profes, debemos crear una sección llamada [profes]. Para facilitar la configuración de samba existe una herramienta llamada swat que permite, vía web, configurar la aplicación.

Puesto que editando el archivo smb.conf se pueden configurar más de 300 parámetros, dando lugar a miles de configuraciones, nos limitaremos a analizar los parámetros más relevantes y a la compartición de archivos e impresoras directamente.

Archivo smb.conf

Podemos ver un ejemplo del archivo de configuración de samba haciendo clic »aqui.

A continuación analizaremos un sencillo archivo smb.conf:

# Ejemplo de archivo de configuración de samba smb.conf
#Sección global, parámetros generales [global] # Seguridad por usuarios security = user # Grupo de trabajo 'Aula5' workgroup = Aula5 # Las contraseñas se deberán enviar encriptadas encrypt passwords = yes # Samba será servidor wins wins support = yes # Nivel y longitud máxima del archivo de registro log level = 1 max log size = 1000 # Por defecto, lectura y escritura read only = no # Se comparten también las impresoras load printers = yes # Sección homes, carpetas home de usuarios [homes] # Comentario comment = Carpetas home # No explorables browsable = no # Máscara de creación de archivos (rxw------) create mask = 0700 # Máscara de creación de carpetas directory mask = 0700 # Sección printers, impresoras [printers] path = /var/tmp printable = yes min print space = 2000 # Carpeta común profesores [profesores] # Ruta de la carpeta compartida path = /home/samba/profesores # Explorable browsable = yes # Lectura y escritura read only = no # Máscara de creación de archivos (rxwrxw---) create mask = 0770 # Máscara de creación de carpetas directory mask = 0770 # Carpeta común alumnos [alumnos] browsable = yes read only = no path = /home/samba/profesores/alumnos # Carpeta común del centro (solo lectura) [programas] browsable = yes read only = yes # Se admiten invitados guest ok = yes path = /home/samba/programas # Parámetros impresora [laserjet5] path = /tmp # Se permite imprimir printable = yes

Todas las líneas que comienzan por almoadilla (#) o punto y coma (;) son líneas de comentarios y son ignoradas por samba.

Como hemos comentado anteriormente, el archivo smb.conf está dividido en secciones identificadas con corchetes [ ] . Ninguna de las secciones son obligatorias aunque normalmente suelen tener las siguientes secciones:

Sección [global]

En la sección [global] se configuran los parámetros generales (globales) que determinarán el modo de comportamiento general del servidor samba. Todos los parámetros que se omitan tomarán el valor predefinido por defecto. Existen unos 300 parámetros que se pueden configurar en ésta sección. A continuación exponemos los parámetros más significativos y ejemplo de valor:

Sección [homes]

En ésta sección se configuran los parámetros para compartir la carpeta home (carpeta donde se almacena el perfil y todos los documentos) de cada usuario. Esta sección es opcional. Si no existe, no se compartirán las carpetas home de cada usuario. Se utiliza cuando se desean crear perfiles móviles de forma que cuando se identifique el usuario en cualquiera de los PCs de la red, se mapee de forma automática su perfil.

Sección [printers]

En ésta sección se configuran los parámetros para compartir las impresoras o colas de impresión disponibles en el servidor.

Una sección por cada carpeta compartida

Cada vez que se comparte una carpeta, hay que crear una sección denominada como se desee ya que dicho nombre será el nombre del recurso compartido. Ejemplo, si deseamos compartir la carpeta /home/samba/alumnos crearemos una sección [alumnos] donde se configurará dicho recurso compartido con los parámetros específicos para dicho recurso. Parámetros destacables:


Consejos

Es conveniente crear en /home una carpeta llamada samba y que cuelguen de ella todas las carpetas compartidas, para tener todos los datos de usuario dentro de /home y sea sencillo hacer las copias de seguridad.

Si somos servidores de dominio y vamos a tener en nuestra red clientes Windows, es conveniente crear un recurso compartido llamado netlogon para poder almacenar scripts de inicio y archivos de políticas ya que los clientes Windows están preconfigurados para acceder a dicho recurso compartido:

// Si samba es controladores de dominio se recomienda crear recurso 'netlogon'
[netlogon] path = /home/samba/netlogon public = no writeable = no browsable = no

Si deseamos almacenar los drivers de impresora para los clientes Windows crearemos una sección [print$]

Samba analiza cada 60 segundos el archivo smb.conf y si ha habido cambios, estos tomarán efecto. Es conveniente crear una copia de seguridad del archivo smb.conf antes de hacer ningún cambio para poder retornar al estado anterior en caso de que hagamos una modificación incorrecta del archivo que impida que arranque el servicio.

Para comprobar que nuestro archivo smb.conf está correcto, podemos utilizar el comando testparm que analiza cada línea en busca de errores.

Para tener una descripción detallada de todos los parámetros se puede consultar la página del manual de smb.conf:

// Página del manual de smb.conf
$ man smb.conf