เนื่องจากการแชร์ไฟล์ windows และด้วยเหตุนี้แซมบ้าดั้งเดิมจึงไม่มีแนวคิดเกี่ยวกับ symlink มันจะลบแผนผังโฟลเดอร์ทั้งหมดผ่าน symlink อย่างไรก็ตามคุณอาจลองเปลี่ยนunix extensions = yes
เป็น OSX ของคุณอาจเข้าใจสิ่งนี้เช่นกัน
จากหน้าhttps://www.samba.org/samba/docs/man/manpages/smb.conf.5.html#UNIXEXTENSIONSหน้า
ส่วนขยาย unix (G)
พารามิเตอร์บูลีนนี้ควบคุมว่า Samba ใช้ส่วนขยาย CIFS UNIX ตามที่ HP กำหนดหรือไม่ ส่วนขยายเหล่านี้ช่วยให้แซมบ้าให้บริการไคลเอนต์ UNIX CIFS ได้ดีขึ้นด้วยการสนับสนุนคุณสมบัติต่างๆเช่นลิงก์สัญลักษณ์ลิงก์หนัก ฯลฯ ... ส่วนขยายเหล่านี้ต้องการไคลเอนต์ที่เปิดใช้งานในลักษณะเดียวกันและไม่มีการใช้งานปัจจุบันกับไคลเอนต์ Windows
หมายเหตุหากพารามิเตอร์นี้เปิดใช้งานพารามิเตอร์ลิงก์แบบกว้างจะถูกปิดใช้งานโดยอัตโนมัติ
ดูพารามิเตอร์ที่อนุญาตการเชื่อมโยงแบบกว้างที่ไม่ปลอดภัยหากคุณต้องการเปลี่ยนการเชื่อมต่อระหว่างพารามิเตอร์ทั้งสองนี้
เริ่มต้น: ส่วนขยาย unix = ใช่
คุณอาจต้องการตรวจสอบตัวเลือกการเชื่อมโยงแบบกว้างที่ไม่ปลอดภัยเพิ่มเติมเนื่องจากคุณอาจต้องการปิดการใช้งานเพื่อให้ได้ผลลัพธ์ตามที่คุณต้องการ
ข้างต้นอาจยังไม่ทำงานตามที่คุณต้องการเนื่องจากวิธีการที่หลาย ๆ ระบบใช้การลบโครงสร้างโฟลเดอร์ โดยปกติแล้วลำดับจะดำเนินการดังนี้
- ไคลเอ็นต์ตรวจพบวัตถุที่จะลบอย่างไม่ถูกต้องเป็นโครงสร้างโฟลเดอร์แทนที่จะเป็น symlink
- ไคลเอนต์ดำเนินการซ้ำในระดับที่ลึกที่สุดของต้นไม้และลบเนื้อหาทั้งหมดของโฟลเดอร์เหล่านั้น
- ไคลเอนต์มันทำงานกลับมาจากระดับที่ลึกที่สุดกลับไปยังโฟลเดอร์ที่คุณบอกให้ลบลบพวกเขาไป
- จากนั้นในที่สุดเมื่อโฟลเดอร์ว่างไคลเอ็นต์จะส่งคำสั่งเพื่อลบโฟลเดอร์
- อย่างไรก็ตามเนื่องจากโฟลเดอร์นั้นเป็น symlink จริงโฮสต์จะลบ symlink เท่านั้น
นี่คือวิธีที่เนื้อหาของเป้าหมายถูกลบพร้อมกับ symlink แต่ไม่ใช่โฟลเดอร์เป้าหมายจริง
ในทำนองเดียวกันเมื่อมีคำสั่งให้ลบไฟล์ symlinked เพียง symlink จะถูกลบ ปัญหาเกี่ยวกับโครงสร้างโฟลเดอร์ symlinked คือไคลเอนต์ samba ส่งคำสั่งลบไปที่เนื้อหาทั้งหมดก่อนสั่งให้เซิร์ฟเวอร์ลบ symlink ไปยังโฟลเดอร์