Проблема з mangled namesваріантом Samba полягає в тому, що жодна установка не є ідеальною. Ви можете мати імена, які не піддаються обробці, але не можна отримати доступ до них жодним чином, оскільки вони містять незаконні символи або імена, введені у формат 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.