Eu possuo um laptop Apple Macbook Pro com o OS X 10.11 "El Capitan" de 64 bits executando o Samba 3 que eu instalei através do Macports .
Também possuo um laptop Dell Inspiron com GNU / Linux XUbuntu 16.04 de 64 bits "Xenial Xerus" executando o Samba 3 que eu instalei através do APT.
Ambas as máquinas têm pastas compartilhadas na rede e usam o Samba para se comunicar na minha WLAN (LAN sem fio).
Ambos os meus sistemas estão em português do Brasil. Assim, uso caracteres especiais como ç , á , ã , â , ô , é , ó etc.
Quando uso meu laptop Linux para acessar meus compartilhamentos do OS X Samba, todas as strings são mostradas corretamente: palavras como maçã , ônus e bênção são mostradas corretamente. Arquivos e pastas com nomes longos também são mostrados e seus nomes são mostrados corretamente. Assim, o servidor Samba em execução no OS X já está configurado corretamente ...
... mas as coisas não estavam funcionando do contrário: se eu usasse o aplicativo Finder no OS X para acessar meus compartilhamentos Linux Samba, todos os arquivos e pastas com pelo menos um desses caracteres especiais não seriam mostrados (eles permaneceriam invisíveis para eu) e os nomes longos de arquivos e pastas foram convertidos em nomes curtos estranhos. Portanto, havia algo errado com o servidor Samba em execução na minha máquina Linux.
=> No meu caso, o que resolveu esse problema foi adicionar as seguintes linhas à [global]
seção dentro do smb.conf
arquivo na minha máquina Linux:
mangled names = no
dos charset = CP850
unix charset = UTF-8
Depois disso, abri uma janela do terminal shell e reiniciei o servidor Linux Samba com este comando:
sudo service smbd restart
... que pode ser substituído por esse outro comando (caso o comando acima não funcione na sua distribuição Linux):
sudo systemctl restart smbd.service
Depois que reiniciei o servidor Linux Samba, o aplicativo Finder no OS X finalmente mostrou corretamente todos os arquivos e pastas que estavam ocultos anteriormente por causa de seus nomes terem um ou mais caracteres especiais. Os nomes mutilados ("encurtados") também foram "não mutilados".
Notas de rodapé :
- Nos sistemas GNU / Linux, o local padrão do
smb.conf
arquivo é/etc/samba/smb.conf
- Presumindo que o seu sistema Linux tenha o
smb.conf
arquivo armazenado no local padrão /etc/samba/
: existem várias maneiras diferentes de editar o smb.conf
arquivo. Por exemplo, se você não estiver usando um ambiente de área de trabalho (por exemplo, seu sistema possui apenas um terminal shell, sem janelas), você pode instalar o editor de texto Nano , emitindo um comando como sudo apt-get install nano -y
ou sudo dnf -b -y install nano
ou qualquer outra coisa (dependendo da distribuição do Linux) estão usando) e, em seguida, execute sudo nano /etc/samba/smb.conf
. Caso esteja usando um ambiente de área de trabalho, você pode instalar um editor de texto gráfico, como o GNOME Edit , emitindo um comando como sudo apt-get install gedit -y
ou sudo dnf -b -y install gedit
ou qualquer outra coisa (dependendo da distribuição do Linux que estiver usando) e, em seguida, execute sudo gedit /etc/samba/smb.conf
.
- No Samba 3+, o
display charset
parâmetro está obsoleto.
- O
dos charset
parâmetro não suporta o UTF-8
argumento. Portanto, ele deve usar o argumento padrão CP850
.
mangled names = no
instrui o servidor Samba a não encurtar nomes longos de arquivos e pastas. Portanto, como o cliente Samba apenas replica para o usuário o que o servidor Samba forneceu ao cliente, uma vez que o servidor esteja configurado corretamente, o cliente não exibirá mais o nome abreviado do usuário.