ที่นี่ฉันมีเซิร์ฟเวอร์ Samba (Debian 5.0) ที่มีการกำหนดค่าให้โฮสต์โปรไฟล์ Windows XP
ลูกค้าเชื่อมต่อกับเซิร์ฟเวอร์นี้และทำงานกับโปรไฟล์ของพวกเขาโดยตรงในการแบ่งปันแซมบ้า (โปรไฟล์จะไม่ถูกคัดลอกในเครื่อง)
ทุก ๆ ครั้งที่ไคลเอนต์อาจปิดไม่ถูกต้องและทำให้ Windows ไม่ปล่อยล็อกไฟล์ เมื่อดูที่ตารางล็อคแซมบ้าเราจะเห็นว่าหลายไฟล์ยังคงถูกล็อคแม้ว่าลูกค้าจะไม่ได้เชื่อมต่ออีกต่อไป ในกรณีของเราดูเหมือนว่าจะเกิดขึ้นกับล็อคไฟล์ที่สร้างขึ้นโดย Mozilla Thunderbird และ Firefox นี่คือตัวอย่างของตารางล็อค 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
เราจะเห็นว่าไฟล์ถูกเปิดโดย Windows และกำหนดให้ล็อค DENY_ALL
ตอนนี้เมื่อลูกค้าเชื่อมต่อกับส่วนแบ่งนี้อีกครั้งและพยายามที่จะเปิดไฟล์เหล่านั้นแซมบ้าบอกว่าพวกเขาถูกล็อคและปฏิเสธการเข้าถึง
มีวิธีแก้ไขสถานการณ์นี้หรือไม่
แก้ไข:เราอยากจะหลีกเลี่ยงการปิดใช้งานการล็อกไฟล์บนเซิร์ฟเวอร์แซมบ้าเพราะมีมีเหตุผลที่ดีที่จะมีผู้ที่เปิดใช้งาน