แซมบ้าแสดงไฟล์ไม่ถูกต้องเมื่อมีโคลอน
ชื่อไฟล์ต้นฉบับ: test:file.txt
ชื่อที่แสดงภายใต้ Windows: T8S6CH~R.TXT
ฉันจะแก้ไขได้อย่างไร
ข้อมูล:
ลินุกซ์: SLES 11 SP 3
แซมบ้า: Version 3.6.3-0.33.39.1-3128-SUSE-CODE11-x86_64
แซมบ้าแสดงไฟล์ไม่ถูกต้องเมื่อมีโคลอน
ชื่อไฟล์ต้นฉบับ: test:file.txt
ชื่อที่แสดงภายใต้ Windows: T8S6CH~R.TXT
ฉันจะแก้ไขได้อย่างไร
ข้อมูล:
ลินุกซ์: SLES 11 SP 3
แซมบ้า: Version 3.6.3-0.33.39.1-3128-SUSE-CODE11-x86_64
คำตอบ:
ปัญหาเกี่ยวกับmangled names
ตัวเลือกของ Samba คือการตั้งค่าไม่เหมาะ คุณสามารถมีชื่อที่ไม่ได้ถูก mangled แต่ไม่สามารถเข้าถึงได้ไม่ว่าด้วยเหตุผลใดเพราะมีอักขระที่ผิดกฎหมายหรือชื่อที่ mangled ในรูปแบบ DOS 8.3 และใกล้เคียงกับที่อ่านไม่ได้
โชคดีที่มี (ตอนนี้) โมดูล VFS ที่เรียกว่าcatia
จะให้การแมปตัวอักษรที่กำหนดเอง โดยเฉพาะอย่างยิ่งเป็นไปได้ที่จะแมปตัวละครที่ถือว่าผิดกฎหมายในชื่อไฟล์ของ Windows
ใน[global]
ส่วนวางบรรทัดเหล่านี้:
# Mapping illegal characters, where enabled with "vfs objects = catia"
mangled names = no
catia:mappings = 0x22:0xa8,0x2a:0xa4,0x2f:0xf8,0x3a:0xf7,0x3c:0xab,0x3e:0xbb,0x3f:0xbf,0x5c:0xff,0x7c:0xa6
ในแต่ละ[share_name]
ส่วนให้เพิ่มบรรทัดถัดไปนี้ (หากคุณมีvfs objects
บรรทัดอยู่แล้วให้ต่อท้ายcatia
รายการ):
vfs objects = catia
บนระบบที่ใช้ Debian ของฉันโมดูลอ็อบเจ็กต์ VFS นี้ถูกติดตั้งเป็นส่วนหนึ่งของแพ็คเกจมาตรฐาน
2017-12-24 12:23.txt
ตัวอย่างหนึ่งของชื่อไฟล์ที่ถูกแมปโดยการตั้งค่านี้ ใช้มีไฟล์นี้แสดงเป็นmangled names = yes
2BB0Y9~4.TXT
ใช้แทนมีชื่อไฟล์นี้แสดงเป็นvfs objects = catia
2017-12-24 12÷23.txt
มันไม่สมบูรณ์แบบ แต่ก็ค่อนข้างดี และที่สำคัญที่สุดฉันสามารถเข้าถึงได้จากแอพพลิเคชั่นของ Windows
ด้วยเหตุผลบางอย่างแซมบ้าก็เริ่มทำการคล้ำชื่อไฟล์ที่มีเครื่องหมายโคลอน จนถึงตอนนี้ฉันไม่พบอะไรเกี่ยวกับพฤติกรรมนี้ในอินเทอร์เน็ต
การแก้ปัญหาง่ายมาก การเพิ่มmangled names = no
ใน[global]
ส่วน/etc/samba/smb.conf
และการรีสตาร์ทแซมบ้าแก้ไขปัญหา
เครื่องหมายคำถามของอักขระพิเศษ? \ <> * ฯลฯ นั้นผิดกฎหมายในชื่อไฟล์ windows และฉันมักจะหลีกเลี่ยงการใช้ชื่อไฟล์เหล่านั้น
อย่างไรก็ตามฉันไม่มีปัญหากับตัวละครเหล่านี้โดยใช้macOS Catalina เพื่อเข้าถึงการตั้งค่า FreeNAS-11.3-U1 และ SMB / Samba ของฉัน ฉันไม่แน่ใจว่าทำไมการตั้งค่านี้ไม่ได้เป็นค่าเริ่มต้น แต่คุณจะต้องทำตามขั้นตอนเหล่านี้เพื่อให้การทำงานสมบูรณ์แบบด้วย MacOS
ใน FreeNAS webUI ให้ไปที่การแบ่งปัน> SMB> แก้ไข
fruit:encoding = native
จากนั้นไปที่ Services และเริ่ม SMB ใหม่