ฉันกำลังทดลองสถานการณ์แชร์ไฟล์บนเครือข่ายผ่าน SMB/samba การล็อกบันทึกในไฟล์ระยะไกลยังคงใช้ได้ แม้หลังจาก 1 ชั่วโมงของการตัดการเชื่อมต่อเครือข่าย กรณีทดสอบต่อไปนี้อธิบายชุดของกิจกรรมที่ทำตามลำดับเวลา:
-> กระบวนการ (P1) บนไคลเอนต์ windows (C1) และกระบวนการอื่น (P2) บนไคลเอนต์ Linux (C2) เชื่อมต่อกับ
เซิร์ฟเวอร์ Linux ทั่วไปและเข้าถึงไฟล์ระยะไกลเดียวกัน
-> ทั้ง P1 และ P2 เปิดไฟล์ระยะไกลและรับหมายเลขอ้างอิง
-> P1 ใช้ล็อคพิเศษในการชดเชย 0
-> P2 พยายามล็อคเอกสิทธิ์บนออฟเซ็ต 0 ในลูป แต่ไม่ได้รับเนื่องจาก P1 ถือเอกสิทธิ์
ล็อคออฟเซ็ตเดียวกัน
-> ตอนนี้ P1 ถูกตัดการเชื่อมต่อจากไฟล์ระยะไกล (C1 ถูกตัดการเชื่อมต่อจากเซิร์ฟเวอร์)
ผลลัพธ์: P2 ไม่ถูกล็อค ส่งกลับ âEACCESâ ทันที ลองแล้วประมาณหนึ่งชั่วโมง
ผลลัพธ์ที่ได้นั้นน่าประหลาดใจ เนื่องจากในสภาพแวดล้อม Wi-Fi ที่ระบบเข้าและออกอย่างต่อเนื่อง อาจทำให้ระบบหยุดชะงักได้
ข้อกำหนดระบบปฏิบัติการของ C1 - Windows 10 Enterprise (เวอร์ชัน: 20H2, รุ่น: 19042.1237)
รายละเอียดระบบปฏิบัติการของ C2 - Ubuntu 20.04.3 LTS (GNU/Linux 5.13.0-1021-azure x86_64)
ระบบปฏิบัติการ Linux Server - Ubuntu 20.04.1 LTS (GNU/Linux 5.13.0-37-generic x86_64)
เวอร์ชัน Samba บน C2 - 4.13.17- ใช้คำสั่ง Ubuntu - smbststus
เวอร์ชัน Samba บนเซิร์ฟเวอร์ Linux - คำสั่ง 4.13.17-Ubuntu ที่ใช้ - smbstatus
เวอร์ชัน SMB บน C1 - ใช้คำสั่ง SMBv2/v3 - sc.exe qc lanmanworkstation
รุ่นโปรโตคอล - 3.1.1 (เหมือนกันในการเชื่อมต่อทั้งสอง) คำสั่งที่ใช้ - smbstatus
เป็นไปได้หรือไม่ที่จะมีเวลาใช้งานจริงบนเซิร์ฟเวอร์เพื่อให้ไคลเอ็นต์อื่นไม่ต้องรอนานเพื่อรับการล็อกพิเศษ ข้อมูลใด ๆ ที่จะช่วย
นี่คือเนื้อหาของไฟล์กำหนดค่า smb ในเซิร์ฟเวอร์ Linux (ชื่อที่ใช้ร่วมกัน - sambashare):
[ทั่วโลก]
เวิร์กกรุ๊ป = เวิร์กกรุ๊ป
สตริงเซิร์ฟเวอร์ = %h เซิร์ฟเวอร์ (Samba, Ubuntu)
ไฟล์บันทึก = /var/log/samba/log.%m
ขนาดบันทึกสูงสุด = 1,000
การบันทึก = ไฟล์
การกระทำที่ตื่นตระหนก = /usr/share/samba/panic-action %d
บทบาทของเซิร์ฟเวอร์ = เซิร์ฟเวอร์แบบสแตนด์อโลน
ปฏิบัติตามข้อ จำกัด แพม = ใช่
ซิงค์รหัสผ่านยูนิกซ์ = ใช่
โปรแกรม passwd = /usr/bin/passwd %u
รหัสผ่านแชท = *Enter\snew\s*\spassword:* %n\n
*พิมพ์ซ้ำ\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully*
แพมเปลี่ยนรหัสผ่าน = ใช่
แผนที่ไปยังแขก = ผู้ใช้ที่ไม่ดี
usershare อนุญาตให้แขก = ใช่
[เครื่องพิมพ์]
comment = เครื่องพิมพ์ทั้งหมด
เรียกดูได้ = ไม่
เส้นทาง = /var/spool/samba
พิมพ์ได้ = ใช่
สร้างหน้ากาก = 0700
[พิมพ์$]
ความคิดเห็น = ไดรเวอร์เครื่องพิมพ์
เส้นทาง = /var/lib/samba/เครื่องพิมพ์
[แซมบ้าแชร์]
ความคิดเห็น = Samba บน Ubuntu
เส้นทาง = /home/ubuntu/smb
อ่านอย่างเดียว = ไม่