Podczas udostępniania plików zawierających znaki specjalne, takie jak „() ?:” w nazwie pliku przez Sambę, nazwy są przekształcane w nierozpoznawalny format. Na przykład plik
my_file:_(important).txt
jest wyświetlany jako
M43J1E~0.TXT
Czy istnieje sposób na uniknięcie tego zachowania (oczywiście bez zmiany nazw plików)? Zakładam, że kodowanie znaków nie jest winne, ponieważ kilka znaków UTF-8 wydaje się działać dobrze.
Odpowiedzi:
Windows nie zezwala na niektóre znaki w nazwach plików, na które zezwala Unix. Samba „modyfikuje” nazwy plików, aby były zgodne z ograniczeniami systemu Windows. Możesz sprawdzić plik
/etc/smb.conf
lub/etc/samba/smb.conf
sprawdzić, jakie ustawienia są na miejscu. Aby wyświetlić te ustawienia i wartości domyślne, użyj tego polecenia:Aby to nieco zawęzić:
Zobacz tę stronę, aby uzyskać więcej informacji. Zobacz także mniej więcej w połowie tej strony (te same informacje, co poprzedni link).
źródło
Korzystam z folderu współdzielonego w systemach OS-X i Windows. Niektóre pliki mają ten sam problem, ponieważ należą do następujących: Używają znaków w nazwie pliku, nieobsługiwanych przez system Windows.
Zobacz: http://support.microsoft.com/kb/177506
Zawiera listę znaków, nieobsługiwanych przez system Windows w plikach lub katalogach. Wydaje mi się, że Samba używa tej samej listy znaków podczas wyświetlania plików i katalogów.
Nieco dalej napisali:
Ale ja osobiście wziąłem listę niedozwolonych znaków jako punkt informacyjny dla niektórych klientów tutaj;)
źródło
Posiadam laptopa Apple Macbook Pro z 64-bitowym systemem OS X 10.11 „El Capitan” z systemem Samba 3, który zainstalowałem za pośrednictwem Macports .
Posiadam również laptop Dell Inspiron z 64-bitowym GNU / Linux XUbuntu 16.04 „Xenial Xerus” z Sambą 3, który zainstalowałem przez APT.
Oba komputery mają foldery współdzielone w sieci i używają Samby do komunikacji w mojej sieci WLAN (bezprzewodowej sieci LAN).
Oba moje systemy są w brazylijskim portugalskim. Dlatego używam znaków specjalnych, takich jak ç , á , ã , â , ô , é , ó et cetera.
Kiedy korzystam z laptopa z Linuksem, aby uzyskać dostęp do moich udziałów OS X Samba, wszystkie ciągi są wyświetlane poprawnie: słowa takie jak maçã , ônus i bênção są wyświetlane poprawnie. Pliki i foldery o długich nazwach są również wyświetlane, a ich nazwy są wyświetlane poprawnie. Tak więc serwer Samba działający w systemie OS X jest już poprawnie skonfigurowany ...
... ale rzeczy nie działały na odwrót: jeśli użyłem aplikacji Finder w systemie OS X, aby uzyskać dostęp do moich udziałów Linux Samba, wszystkie pliki i foldery mające co najmniej jeden z tych znaków specjalnych nie byłyby widoczne (pozostały niewidoczne ja), a długie nazwy plików i folderów zostały przekonwertowane na dziwne krótkie nazwy. Tak więc coś było nie tak z serwerem Samba działającym na moim komputerze z systemem Linux.
=> W moim przypadku rozwiązaniem tego problemu było dodanie następujących wierszy do
[global]
sekcji wewnątrzsmb.conf
pliku na moim komputerze z systemem Linux:Następnie otworzyłem okno terminala powłoki i zrestartowałem serwer Linux Samba za pomocą tego polecenia:
... które można zastąpić innym poleceniem (w przypadku, gdy powyższe polecenie nie działa w twojej dystrybucji Linuksa):
Po zrestartowaniu serwera Linux Samba aplikacja Finder w systemie OS X w końcu poprawnie wyświetliła wszystkie pliki i foldery, które wcześniej były ukryte, ponieważ ich nazwy zawierają jeden lub więcej znaków specjalnych. Zmienione („skrócone”) nazwy były również „niezmienione”.
Przypisy :
smb.conf
pliku jest/etc/samba/smb.conf
smb.conf
przechowuje plik w standardowej lokalizacji/etc/samba/
: istnieje kilka różnych sposobów edycjismb.conf
pliku. Na przykład, jeśli nie używasz Desktop Environment (np system posiada tylko terminal powłoka, bez okien) można zainstalować Nano edytor tekstu, wydając polecenia takiego jaksudo apt-get install nano -y
lubsudo dnf -b -y install nano
czy coś innego (w zależności od dystrybucji Linuksa cię używają), a następnie uruchomsudo nano /etc/samba/smb.conf
. W przypadku, gdy używasz środowisko graficzne, można zainstalować graficzny edytor tekstu, takie jak GNOME Edytuj , wydając polecenia takiego jaksudo apt-get install gedit -y
lubsudo dnf -b -y install gedit
czy coś innego (w zależności od dystrybucji Linuksa używasz), a następnie uruchomićsudo gedit /etc/samba/smb.conf
.display charset
parametr jest przestarzały.dos charset
parametr nie obsługujeUTF-8
argumentu. Dlatego musi użyć domyślnego argumentuCP850
.mangled names = no
instruuje serwer Samby, aby nie skracał długich nazw plików i folderów. W związku z tym, ponieważ klient Samba po prostu replikuje użytkownikowi to, co serwer Samba przekazał klientowi, po prawidłowym skonfigurowaniu serwera klient nie będzie już pokazywał użytkownikowi skróconej nazwy.źródło
z dokumentacji samby możesz użyć tych:
źródło