samba як відобразити файли з двокрапкою у своїх іменах?


13

Samba не відображає файли правильно, якщо вони містять двокрапку.

Оригінальне ім'я файлу: test:file.txt

Відображення імені під Windows: T8S6CH~R.TXT

Як я можу це виправити?

Інформація:

Linux: SLES 11 SP 3

Самба: Version 3.6.3-0.33.39.1-3128-SUSE-CODE11-x86_64

Відповіді:


13

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


1
Див. ⁚ ∶ ׃ ꞉ щодо інших символів, схожих на ASCII двокрапки.
Стефан Шазелас

@ StéphaneChazelas, будь ласка, також не соромтеся подавати це як пропозицію до команди розвитку Samba. Я просто взяв їх запропонований список.
roaima

Коли я ділюся папкою з Nautilus, папка, очевидно, не відображається в /etc/samba/smb.conf. Як я можу застосувати ваше рішення в цьому сценарії?
Ганс Дерагон

Це ідеально, дякую.
Буде

5

Чомусь Самба почав маніпулювати іменами файлів, що містять двокрапки. Дотепер я нічого не міг знайти щодо такої поведінки в Інтернеті.

Рішення дуже просте. Додавання mangled names = noв [global]розділі до /etc/samba/smb.confта перезапуск Samba виправили проблему.


Чудово це знати! +1
Лучано Андресс Мартіні

4
Це рішення є неповним. Файли з незаконними символами Windows, такими як:: не відображаються. Дивіться рішення роайма.
Ганс Дерагон

1

Знак питання спеціальних символів? \ <> * тощо забороняється у файлах файлів Windows, і я завжди уникаю їх використання.

Тим не менш, я не маю жодних проблем із цими персонажами, використовуючи свій macOS Catalina для доступу до моїх налаштувань FreeNAS-11.3-U1 та SMB / Samba. Я не впевнений, чому цей параметр за замовчуванням не є, але вам доведеться дотримуватися цих кроків, щоб він працював бездоганно з MacOS.

У веб-інтерфейсі FreeNAS перейдіть до спільного доступу> SMB> Редагувати

  1. Виберіть "розширений режим" і поставте галочку як катію, так і фрукти в "VFS-об'єктах"
  2. Встановіть допоміжний параметр на fruit:encoding = native

Потім перейдіть до Служб та перезапустіть SMB

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.