Проблема с 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.