Si un cliente de Windows lee un archivo en un recurso compartido de Linux smb en un intervalo <= 10 segundos, el cliente de Windows mostrará información incorrecta (¿en caché?) De ese archivo.
He reproducido esto en múltiples sistemas.
Ejemplos de pasos para reproducir:
1) configurar Linux Samba Share - para este ejemplo, usando Debian e instalando Samba. ejemplo:
sudo mkdir /test
sudo chmod 777 /test
Además de smb.conf:
[test]
read only = no
locking = no
path = /test/
guest ok = yes
2) Asigne este directorio como una unidad en un cliente de Windows (esta prueba usará L :)
3) crea un archivo con algo de texto en el servidor samba
nano /test/test.txt
ORIGINAL
4) cree un archivo por lotes simple en la máquina de Windows para ver el archivo cada 5 segundos:
copy con test.bat
@echo off
cls
:1
type L:\test.txt
timeout 5
goto 1
5) ejecute el archivo por lotes, debe mostrar ORIGINAL cada 5 segundos.
6) en el servidor Linux, cambie el contenido del archivo
nano /test/test.txt
CHANGED
7) vea el archivo por lotes en ejecución en Windows, seguirá diciendo "ORIGINAL" cada cinco segundos y no "CAMBIADO" como lo ha hecho el archivo real.
8) finalice el archivo por lotes y espere ~ 15 segundos, O cambie el tiempo de espera a algo> 10 segundos, y se actualizará correctamente.
Espero haber explicado y esbozado cómo probar esto lo suficiente.
¿Alguien puede reproducir este comportamiento y / o sugerir cómo solucionarlo?
.
.
.
NOTAS
Linux Client> Linux SMB Host muestra el contenido de archivo adecuado.
Windows Client> Windows SMB Host muestra el contenido del archivo adecuado.
Es específicamente Windows Client> Linux SMB Host que no muestra el contenido de archivo adecuado en un intervalo de actualización de <= 10 segundos.
Todos los sabores de Windows que he probado con (Win7, Win10, Server2016) exhiben el mismo comportamiento.
También he probado diferentes protocolos en mi recurso compartido de samba 'NT1, SMB2, SMB3', y no cambian el comportamiento.
NOTA: Creo que es muy probable que sea un problema de Windows, pero no he recibido ninguna respuesta en technet o superusuario en una semana. Esto debería ser bastante fácil de probar, ¿alguien puede confirmar este comportamiento o decir lo contrario?