Человеческое более дружественное искажение имени Samba

Большинство наших компьютеров запускает Ubuntu, но два из них двойная загрузка в Windows, и когда у нас есть гости, они обычно также, выполняют компьютеры Windows. Таким образом, в дополнение к использованию NFS, наш файловый сервер (сервер Ubuntu) также выполняет Samba.

И так как мы используем Ubuntu главным образом, нам нравится использовать в своих интересах ее преимущества перед Windows, такие как способность использовать символы \:*?"<>| в имени файла. Проблема, конечно, состоит в том, что Windows не принимает те символы в именах файлов, и таким образом, Samba должен перевести имя файла во что-то более приемлемое. Путем это делает это, однако, я нахожу, чтобы быть неприятным.

Имя файла Episode 182 - Exorcist 2: The Heretic.mp4 например, превращается E4Q82R~Y.MP4. Это - ужасное "исправление". Существует ли способ сделать искажение Samba немного более дружественным по отношению к людям? Возможно "исправить" его к чему-то как Episode 182 - Exorcist 2_ The Heretic.mp4 вместо этого, где запрещенными символами просто заменяют?

11
задан 15 November 2011 в 01:40

3 ответа

В этой ссылке Вы видите опции искажения. Я думаю сначала, что необходимо отключить опцию:

mangled names

После этого я предполагаю, что имена должны выглядеть лучше...

Заменять двоеточие, например, использовать эту строку:

mangled map =(: _)

Можно добавить больше правил замены как это:

mangled map =(: _) (foo bar)

(также замены любое происшествие нечто панелью)

2
ответ дан 23 November 2019 в 04:05

Для тех, которые приезжают здесь через Google и задаются вопросом, что сделать с тех пор mangled map удерживается от использования, можно использовать vfs_catia для решения проблемы. В моем случае мне просто были нужны двоеточия, таким образом, я поместил следующее в свой smb.conf:

vfs objects = catia
catia:mappings = 0x22:0xa8

Я поместил его под [global], но это может повлиять на производительность, таким образом, я рекомендовал бы подвергнуть ее другому [share] раздел.

11
ответ дан 23 November 2019 в 04:05

Новые POSIX-клиенты (по крайней мере, Linux и macOS) не нуждаются в ручном сопоставлении символов и вместо этого могут взаимно взаимодействовать с сервером, поэтому имена файлов с зарезервированными символами NTFS работают нормально. Согласно документам Samba и справочным страницам:

На сервере (см. man vfs_fruit):

vfs objects = catia fruit
fruit:encoding = native

На клиенте может потребоваться монтирование с mapposix* (см. man mount.cifs).


*Похоже, что mapchars должен быть правильным вариантом, но при тестировании работает mapposix.

1
ответ дан 20 April 2020 в 03:14

Другие вопросы по тегам:

Похожие вопросы: