5.5.2 Unix y los Bloqueos.

Los sistemas Windows cooperan bien para impedir la pérdida de los cambios realizados. Pero si un fichero almacenado en un sistema Samba es accedido por un proceso Unix, este proceso no entiende nada de bloqueos de Windows, y podría fácilmente saltarse ese bloqueo. Algunos sistemas Unix han sido diseñados para comprender los bloqueos de Windows mantendos por Samba. Actualmente existe el soporte sólo en SGI Irix 6.5.2f y posteriores; Linux y FreeBSD deberían implementarlo pronto.

Si tienes un sistema que entiende estos bloqueos, establece kernel oplocks = yes en el fichero de configuración de Samba. Esto debería eliminar los conflictos entre los procesos Unix y los usuarios Windows.

Si tu sistema no soporta los bloqueos oportunistas a nivel de núcleo, podrías terminar con datos corruptos cuando alguien ejecute un proceso Unix que lea o escriba un fichero al que los usuarios Windows también hayan accedido. Sin embargo, Samba proporciona un mecanismo de protección en ausencia de bloqueos oportunistas a nivel de núcleo: la opción veto oplock files. Si puedes anticipar qué ficheros Samba serán usados tanto por usuarios Windows y Unix, establece sus nombres en una opción veto oplock files. Esto suprimirá el uso de bloqueos oportunistas sobre los ficheros coincidentes, lo cual suprime el cacheado del cliente, y permite a los programas Windows y Unix usar bloqueo de sistema o tiempos de actualización para detectar una pugna por el mismo archivo. Un ejemplo:

veto oplock files = /*.dbm/}

Esta opción permite tanto a los procesos Unix como a los usuarios Windows editar archivos que terminen con el sufijo .dbm. Advierte que la sintaxis de esta opción es similar a veto files.

Las opciones de Samba para bloqueos y bloqueos oportunistas los tienes en la Tabla 5.8.


Table: Opciones de Bloqueos y Bloqueos Oportunistas.

Table: Opciones de Bloqueos y Bloqueos Oportunistas.
Opción Parámetros Función Defecto Ambito
share modes booleano Si es yes, activa el soporte para bloqueos globales de fichero tipo DOS. yes Recurso
locking booleano Si es yes, activa bloqueos de rango de bytes. yes Recurso
strict locking booleano Si es yes, deniega el acceso total a un fichero completo si existe un bloqueo de rango de bytes. no Recurso
oplocks booleano Si es yes, activa una caché local de los ficheros en el cliente para este recurso. yes Recurso
kernel oplocks booleano Si es yes, indica que el kernel soporta bloqueos oportunistas. yes Global
fake oplocks booleano Si es yes, le dice al cliente que se obtuvo el bloqueo, pero que actualmente no está bloqueado. no Recurso
blocking locks booleano Permite al peticionario del bloqueo esperar a obtener el bloqueo. yes Recurso
veto oplock files string (lista de nombres de archivos) No hace bloqueos oportunistas a los ficheros especificados. Ninguno Recurso
lock directory string (Ruta completamente cualificada) Establece la localización donde varios archivos Samba, incluyendo bloqueos, son almacenados. Como se especificase en el makefile de Samba Global




Subsections
TLDP-ES 03/11/2002