Специальные символы в именах файлов Samba

они на самом деле отвечающие на ipv6 или они решающий ipv6. Если они решают к IPv6, они могли бы кэшироваться или иметь адреса ipv6, зарегистрированные в DNS.

Я попробовал бы (в командной строке) выполнение:

   ipconfig /flushdns
    nbtstat -R

затем наблюдение, если у Вас есть та же проблема

18
задан 20 March 2010 в 22:23
5 ответов

Windows не позволяет некоторые символы в именах файлов, которые действительно позволяет Unix. Samba "искажает" имена файлов, чтобы заставить их выполнить ограничения Windows. Можно проверить файл /etc/smb.conf или /etc/samba/smb.conf видеть, какие настройки существуют. Для показа тех настроек плюс значения по умолчанию используйте эту команду:

testparm -vs | less

Сужать это немного:

testparm -vs|grep "case\|mangl"

Посмотрите эту страницу для получения дополнительной информации. Кроме того, займитесь половиной пути ниже на эту страницу (та же информация как предыдущая ссылка).

10
ответ дан 2 December 2019 в 20:22

из документации samba вы можете использовать их:

dos charset = ISO8859-1
unix charset = ISO8859-1
display charset = ISO8859-1
4
ответ дан 2 December 2019 в 20:22

Я использую общую папку в OS-X и Windows. Некоторые файлы имеют ту же проблему, потому что они относятся к следующему: они используют символы в имени файла, не поддерживаемые Windows.

См .: http://support.microsoft.com/kb/177506

​​В нем перечислены символы, не поддерживаемые Windows, в файлах или каталогах. Я предполагаю, что Samba использует тот же список символов при перечислении файлов и каталогов.

A filename cannot contain any of the following characters:
\ / : * ? " < > |

Чуть ниже они написали:

Символы, которые допустимы для именования файлов, папок или ярлыков. включать любую комбинацию букв (A-Z) и цифр (0-9), а также следующие специальные символы:

 ^ Акцент с циркумфлексом (каретка)
И амперсанд
 'Апостроф (одинарная кавычка)
 @ На знаке
 {Осталась скобка
 } Закрепите вправо
 [Открытие кронштейна
 ] Кронштейн закрытия
 , Запятая
Знак доллара
 = Знак равенства
 !  Восклицательный знак
 - Дефис
 # Знак числа
 (Открывающая скобка
 ) Закрытие скобок
 % Процент
 .  Период
 + Плюс
 ~ Тильда
 _ Нижнее подчеркивание
 

Но я лично взял список запрещенных символов в качестве справочного материала для инструктажа некоторых клиентов;)

9
ответ дан 2 December 2019 в 20:22
  • У меня есть ноутбук Apple Macbook Pro с 64-битной OS X 10.11 "El Capitan" с Samba 3, который я установил через Macports .

  • У меня также есть ноутбук Dell Inspiron с 64-битный GNU / Linux XUbuntu 16.04 «Xenial Xerus» с Samba 3, который я установил через APT.

Обе машины имеют общие сетевые папки и используют Samba для связи по моей WLAN (беспроводной локальной сети)

Обе мои системы написаны на бразильском португальском языке. Таким образом, я использую специальные символы, например ç , á , ã , â , ô , ] é , ó и так далее.

Когда я использую свой ноутбук с Linux для доступа к общим папкам OS X Samba, все строки отображаются правильно: такие слова, как maçã , ônus и bênção отображаются правильно. Также отображаются файлы и папки с длинными именами, и их имена отображаются правильно. Таким образом, сервер Samba, работающий в OS X, уже правильно настроен ...

... но все не работало наоборот: если бы я использовал приложение Finder в OS X для доступа к своим общим папкам Linux Samba, все файлы и папки, содержащие хотя бы один из этих специальных символов, не отображались (они оставались для меня невидимыми), а длинные имена файлов и папок были преобразованы в странные короткие имена. Таким образом, что-то не так с сервером Samba, запущенным на моем компьютере с Linux.

=> В моем случае проблема была решена путем добавления следующих строк в раздел [global] внутри ] файл smb.conf на моем компьютере с Linux:

mangled names = no
dos charset = CP850
unix charset = UTF-8

После этого я открыл окно терминала оболочки и перезапустил сервер Linux Samba с помощью этой команды:

sudo service smbd restart

... которую можно заменить другой командой ( на случай, если приведенная выше команда не работает в вашем дистрибутиве Linux):

sudo systemctl restart smbd.service

После того, как я перезапустил сервер Linux Samba, приложение Finder в OS X, наконец, правильно показало все файлы и папки, которые были ранее скрыты из-за того, что их имена имеют один или несколько специальных символов. Искаженные («укороченные») имена также «неупорядочены».

Сноски : ​​

  1. В системах GNU / Linux стандартное расположение файла smb.conf - /etc/samba/smb.conf
  2. Предполагая, что ваша система Linux имеет файл smb.conf , хранящийся в стандартном месте / etc / samba / : есть несколько различных способов для редактирования файла smb.conf . Например, если вы не используете среду рабочего стола (например, ваша система имеет только терминал оболочки, без окон), вы можете установить текстовый редактор Nano , введя такую ​​команду, как sudo apt -get install nano -y или sudo dnf -b -y install nano или что-то еще (в зависимости от того, какой дистрибутив Linux вы используете), а затем запустить sudo nano / etc / samba /smb.conf . Если вы используете среду рабочего стола, вы можете установить графический текстовый редактор, например GNOME Edit , введя такую ​​команду, как sudo apt-get install gedit -y или sudo dnf -b -y install gedit или что-то еще (в зависимости от того, какой дистрибутив Linux вы используете), а затем запустите sudo gedit /etc/samba/smb.conf[1140821estive.
  3. В Samba 3+ параметр display charset устарел.
  4. Параметр dos charset не поддерживает UTF-8 аргумент. Таким образом, он должен использовать аргумент по умолчанию CP850 .
  5. mangled names = no указывает серверу Samba не сокращать длинные имена файлов и папок. Следовательно, поскольку клиент Samba просто реплицирует пользователю то, что сервер Samba предоставил клиенту, после правильной настройки сервера клиент больше не будет показывать пользователю сокращенное имя.
7
ответ дан 2 December 2019 в 20:22

Да, виновата кодировка char.

Передайте iocharset=iso8859-1 в качестве опции для mount.cifs или выберите локаль iso8859-1 вместо utf-8.

Вы также можете попробовать добавить LANG=C.ISO8859-1 или LC_ALL=C.ISO8859-1 к своим командам и т. д.

0
ответ дан 26 June 2020 в 14:14

Теги

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