Aquí tengo un servidor Samba (Debian 5.0) que está configurado para alojar perfiles de Windows XP.
Los clientes se conectan a este servidor y trabajan en sus perfiles directamente en el recurso compartido de samba (el perfil no se copia localmente).
De vez en cuando, un cliente puede no cerrarse correctamente y, por lo tanto, Windows no libera los bloqueos de archivos. Cuando miramos la tabla de bloqueo de samba, podemos ver que muchos archivos aún están bloqueados aunque el cliente ya no esté conectado. En nuestro caso, esto parece ocurrir con los archivos de bloqueo creados por Mozilla Thunderbird y Firefox. Aquí hay un ejemplo de la tabla de bloqueo de samba:
# smbstatus -L | grep DENY_ALL | head -n5
Pid Uid DenyMode Access R/W Oplock SharePath Name Time
--------------------------------------------------------------------------------------------------
15494 10345 DENY_ALL 0x3019f RDWR EXCLUSIVE+BATCH /home/CORP/user1 app.profile/user1.thunderbird/parent.lock Mon Nov 22 07:12:45 2010
18040 10454 DENY_ALL 0x3019f RDWR EXCLUSIVE+BATCH /home/CORP/user2 app.profile/user2.thunderbird/parent.lock Mon Nov 22 11:20:45 2010
26466 10056 DENY_ALL 0x3019f RDWR EXCLUSIVE+BATCH /home/CORP/user3 app.profile/user3.firefox/parent.lock Mon Nov 22 08:48:23 2010
Podemos ver que Windows abrió los archivos e impuso un bloqueo DENY_ALL.
Ahora, cuando un cliente se vuelve a conectar a este recurso compartido e intenta abrir esos archivos, samba dice que están bloqueados y niega el acceso.
¿Hay alguna forma de evitar esta situación o me estoy perdiendo algo?
Editar: Nos gustaría no tener que desactivar los bloqueos de archivo en el servidor Samba, porque no son buenas razones para tener los habilitados.