Servidor Samba PDF
Servidor Samba PDF
Servidor Samba PDF
Samba son un conjunto de aplicaciones libres para Linux que implementan el protocolo de
comunicación SMB utilizado por los sistemas operativos Microsoft Windows para compartir
carpetas e impresoras.
Básicamente samba permite a PCs que utilizan Linux conectarse a carpetas compartidas en PCs con
Windows y compartir carpetas como si de un Windows se tratara. Gracias a samba, en una red
podemos tener PCs con Windows y PCs con Linux de forma que puedan intercambiar información
en carpetas compartidas de la misma forma que se haría si todos los PCs fueran Windows.
Las funcionalidades de samba no se quedan solo en una simple compartición de archivos e
impresoras sino que permite a un PC con Linux comportarse como un controlador de dominio de
Windows para redes Microsoft con prestaciones superiores a las que nos ofrecería un servidor con
Windows NT Server 4.0. En las páginas siguientes veremos como hacer que un PC con Linux haga
las veces de controlador de dominio de nuestra red Windows.
Instalación de samba
La 'suite' completa de samba se compone de varios paquetes. Se pueden localizar en
http://packages.debian.org buscando 'samba' en la descripción de los paquetes. Destacamos los más
importantes:
• samba - Servidor de archivos e impresoras tipo LanManager para Unix.
• samba-common - Archivos comunes de samba utilizados para clientes y servidores.
• smbclient - Cliente simple tipo LanManager para Unix.
• swat - Herramienta de administración de Samba via web
• samba-doc - Documentación de Samba.
• smbfs - Comandos para montar y desmontar unidades de red samba
• winbind: Servicio para resolver información de usuarios y grupos de servidores Windows
NT
Instalaremos los paquetes necesarios para disfrutar del servicio. Para ello ejecutaremos:
así tendremos instalados y actualizados a la última versión, los paquetes básicos para disfrutar del
servicio SAMBA.
La sintaxis del archivo de configuración de samba es bastante sencilla ya que está dividido en
secciones que se limitan a establecer el valor de unos cuantos parámetros y a determinar cuáles son
las carpetas compartidas y sus permisos. No obstante, 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
A continuación analizaremos un sencillo archivo smb.conf:
# Ejemplo de archivo de configuración de samba smb.conf
Todas las líneas que comienzan por almoadilla (#) o punto y coma (;) son líneas de comentarios y
son ignoradas por samba.
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:
• hosts allow = 192. 127.
• Permite especificar desde qué direcciones IPs se podrá acceder al servicio. Ej.: Si
ponemos 192.168. significa todas las que empiecen por 192.168.
• Se pueden poner IPs concretas
• hosts deny = 10.
• Igual que hosts allow pero para especificar los rangos no permitidos
• security = share
• Permite determinar el modo de compartición de recursos de samba. Hay cinco
opciones posibles: share, user, domain, server y ads.
• 'Share' significa compartir los recursos con contraseña (como W95, 98,...).
• 'User' gestiona los permisos por usuario (como W2000 y WXP).
• 'Domain' gestiona los permisos por dominio.
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
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.
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
Samba, al igual que todos los servicios en Debian, dispone de un script de arranque y parada en la
carpeta /etc/init.d.
Si deseamos iniciar o reiniciar el servidor samba, debemos ejecutar:
// Iniciar o reiniciar el servidor samba
# /etc/init.d/samba restart
Este comando reiniciará los dos demonios (procesos residentes) necesarios que necesita samba para
su funcionamiento: nmbd y smbd.
Si deseamos detener el servidor samba, debemos ejecutar:
// Parada del servidor samba
# /etc/init.d/samba stop
# /etc/init.d/samba restart
Si deseamos que pepe pueda disfrutar de los servicios samba, debemos crear a pepe como usuario
de samba ejecutando el siguiente comando:
Con la opción -a indicamos que añada al usuario. Acto seguido nos preguntará dos veces la
contraseña que deseamos poner al usuario. Lo razonable es que sea la misma contraseña que tiene el
usuario en Unix. A continuacion veremos un ejemplo de utilización:
// Manual de smbpasswd
$ man smbpasswd