У меня есть ноутбук 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 наконец-то правильно показало все файлы и папки, которые ранее были скрыты, поскольку их имена имели один или несколько специальных символов. Изуродованные («укороченные») имена также были «неоправданными».
Сноски :
- В системах GNU / Linux стандартное расположение
smb.conf
файла/etc/samba/smb.conf
- Предполагая, что ваша система 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
.
- В Samba 3+ этот
display charset
параметр устарел.
dos charset
Параметр не поддерживает UTF-8
аргумент. Таким образом, он должен использовать аргумент по умолчанию CP850
.
mangled names = no
указывает серверу Samba не сокращать длинные имена файлов и папок. Следовательно, поскольку клиент Samba просто копирует пользователю то, что сервер Samba предоставил клиенту, после правильной настройки сервера клиент больше не будет показывать пользователю сокращенное имя.