Проблема с 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.
По какой-то причине Samba начала искажать имена файлов, содержащие двоеточие. До сих пор я не мог найти ничего относительно этого поведения в Интернете.
Решение очень простое. Добавление
mangled names = no
в[global]
раздел/etc/samba/smb.conf
и перезапуск Samba устранило проблему.источник
Специальный знак вопроса? \ <> * и т.д. недопустимы в именах файлов Windows, и я всегда избегаю их использования.
Тем не менее у меня нет проблем с этими персонажами, использующими мою macOS Catalina для доступа к моим настройкам FreeNAS-11.3-U1 и SMB / Samba. Я не уверен, почему этот параметр не установлен по умолчанию, но вам придется выполнить следующие шаги, чтобы он работал безупречно с MacOS.
В веб-интерфейсе FreeNAS выберите «Общий доступ»> «SMB»> «Правка».
fruit:encoding = native
Затем перейдите в раздел Сервисы и перезапустите SMB.
источник