Ici, j'ai un serveur Samba (Debian 5.0) qui est configuré pour héberger les profils Windows XP.
Les clients se connectent à ce serveur et travaillent sur leurs profils directement sur le partage samba (le profil n'est pas copié localement).
De temps en temps, un client peut ne pas s'arrêter correctement et donc Windows ne libère pas les verrous de fichiers. En regardant la table de verrouillage de samba, nous pouvons voir que de nombreux fichiers sont toujours verrouillés même si le client n'est plus connecté. Dans notre cas, cela semble se produire avec les fichiers de verrouillage créés par Mozilla Thunderbird et Firefox. Voici un exemple de la table de verrouillage 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
Nous pouvons voir que les fichiers ont été ouverts par Windows et ont imposé un verrou DENY_ALL.
Désormais, lorsqu'un client se reconnecte à ce partage et essaie d'ouvrir ces fichiers, samba dit qu'ils sont verrouillés et refuse l'accès.
Existe-t-il un moyen de contourner cette situation ou ai-je raté quelque chose?
Edit: Nous aimerions éviter de désactiver les verrous de fichiers sur le serveur samba car il y a de bonnes raisons de les activer.