Większość naszych komputerów działa pod kontrolą Ubuntu, ale dwa z nich uruchamiają się podwójnie w systemie Windows, a kiedy mamy gości, zazwyczaj działają również na komputerach z systemem Windows. Dlatego oprócz korzystania z NFS nasz serwer plików (serwer Ubuntu) również uruchamia Sambę.
Ponieważ głównie używamy Ubuntu, lubimy wykorzystywać jego zalety w stosunku do systemu Windows, takie jak możliwość używania znaków \:*?"<>|
w nazwie pliku. Problem polega oczywiście na tym, że Windows nie akceptuje tych znaków w nazwach plików, więc Samba musi przetłumaczyć nazwę pliku na coś bardziej akceptowalnego. Sposób, w jaki to robi, wydaje mi się jednak nieznośny.
Na Episode 182 - Exorcist 2: The Heretic.mp4
przykład nazwa pliku zmienia się w E4Q82R~Y.MP4
. To straszna „korekta”. Czy istnieje sposób, aby uczynić samba manipulowaniem bardziej przyjaznym dla ludzi? Czy można to „poprawić” do czegoś takiego jak Episode 182 - Exorcist 2_ The Heretic.mp4
zamiast tego, gdzie nielegalne postacie są po prostu zastępowane?
Samba 4.1.4-Debian
.Odpowiedzi:
mangled map
jest teraz przestarzałe i nie będzie już działać w nowych wersjach Samby.Możesz użyć vfs_catia, aby rozwiązać problem. Dodaj następujące wiersze do pliku smb.conf:
Odwzorowanie jest określone za pomocą 0x prefiksowanych kodów znaków szesnastkowych oddzielonych dwukropkiem. Dostarczone mapowanie przekształci niedozwolone znaki w wyglądające jak Unicode, które prawdopodobnie nie będą używane w żadnym języku.
:? * <> "| \
∶ ʔ ∗ ❮ ❯ ʺ ∣ ⧹
Kod można umieścić pod
[global]
lub w osobnej[share]
sekcji. Umieszczenie go[global]
może mieć wpływ na wydajność.Pamiętaj, że żaden znak, na który mapujesz, nie może być użyty w nazwach plików na serwerze, w przeciwnym razie będą one niedostępne.
Przykład: klient systemu Windows uzyskujący dostęp do pliku o nazwie
file❮name.txt
na serwerze zażądafile<name.txt
od serwera ze względu na mapowanie, co spowoduje błąd znalezienia pliku.źródło
0x3a:0x7e 0x3f:0x5e
więc:
staje się~
i?
staje^
.W tym linku możesz zobaczyć opcje zniekształcania. Myślę, że najpierw powinieneś wyłączyć opcję:
Potem chyba nazwy powinny wyglądać lepiej ...
Aby zastąpić dwukropek, np. Użyj tej linii:
Możesz dodać więcej reguł zastępowania w ten sposób:
(zastępuje również każde wystąpienie foo po pasku)
źródło
tes:t.txt
w Notatniku, np. Pojawia się komunikat „Nie można znaleźć pliku [...] \ tes: t.txt.” To samo dotyczy innych „nielegalnych” plików w odpowiednich aplikacjach.mangled map
został usunięty z Samby. Z tego, co mogę powiedzieć po krótkim rozejrzeniu się, zostało usunięte lata temu. Taklog.smbd
mówi mój plik, jeśli spróbuję go użyć:Ignoring unknown parameter "mangled map"